deepseek-harness/packages/client/ui-theme
2026-07-27 16:54:34 +08:00
..
src optimize chat ui 2026-07-27 12:04:12 +08:00
tests feat: slash system / input service / agent scope 2026-07-27 03:28:39 +08:00
package.json refactor(gui): features register their own settings surfaces 2026-07-26 02:51:36 +08:00
README.i18n.yaml fix: ci 2026-07-27 16:47:20 +08:00
README.md fix: darkmode 滚动条颜色 2026-07-27 16:01:01 +08:00
README.zh.md fix: darkmode 滚动条颜色 2026-07-27 16:01:01 +08:00
tsconfig.json refactor(gui): features register their own settings surfaces 2026-07-26 02:51:36 +08:00
tsdown.config.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00

@deepseek-ai/dsh-client-ui-theme

English | 中文

Theme plugin: ThemeService over the --dsw-* token base stylesheets (static scale + alias semantic layers). The service owns the theme preference (light/dark/system, persisted under dsh.theme), resolves system through prefers-color-scheme, and publishes immutable ThemeSnapshots on the theme/change event; it never touches the DOM — ui-layout's presenter applies the resolved snapshot (html { color-scheme }, body[data-ds-dark-theme], and inline alias tokens). Contract: api-contracts v3 §8.

Model Experience

None, as the theme service manages a browser preference; nothing here reaches a model request.

KV Cache effect

None; this package neither assembles nor sends a provider request.

Known Limitations and Deferred Work

  • Third-party themes are a surface, not a product — registering one means overriding same-named alias variables; no validation exists that an override set is complete.
  • The token sheets are the sole color authority — values absent from cssdesign (for example the design's #4176E6 tab blue) are deliberately not appended; the nearest semantic token wins (arbitrated 2026-07-22).