Files
deepseek-harness/packages/client/ui-theme/README.zh.md
2026-07-29 15:29:38 +08:00

2.7 KiB
Raw Blame History

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

English | 中文

主题插件:基于 --dsw-* token 基础样式表(静态尺度 + 别名语义层)的 ThemeService。该服务拥有主题偏好lightdarksystem,以 dsh.theme 为键持久化),将 system 通过 prefers-color-scheme 解析为实际主题,并发布不可变的 ThemeSnapshot,通过 theme/change 事件通知变化;它绝不接触 DOMui-layout 的呈现器会应用解析后的快照(html { color-scheme }body[data-ds-dark-theme],以及主题的别名 token 内联变量。契约api-contracts v3 §8。

src/styles/ 下有五张样式表,全部由 web 壳的 base.css 导入:base.cssdesign-platform.cssscrollbar.cssgradient-shadow-text.cssshiki.cssscrollbar.css--dsw-alias-scrollbar-* token 的唯一消费方,必须排在声明这些 token 的 design-platform.css 之后。

滚动条重新绑定契约:scrollbar.cssbody 上把 --dsh-scrollbar-thumb--dsh-scrollbar-thumb-hover 绑定到 l1基础表面token两条渲染路径都读取这一组变量。高层级表面菜单、浮层、对话框在自己的容器上设置 --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2)--dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);一次重新绑定即可为引擎实际走的那条路径换色。

两条路径在构造上互斥。scrollbar-widthscrollbar-color 写在 @supports not selector(::-webkit-scrollbar) 之内,因为这两个属性中的任一个只要取非 autoChromium 与 Safari 就会丢弃该元素上的全部 ::-webkit-scrollbar* 规则,::-webkit-scrollbar-thumb:hover 也在其中——若无条件地同时声明,--dsh-scrollbar-thumb-hover 在任何引擎上都不会被渲染。因此 Firefox 走标准属性WebKit 系引擎走伪元素hover token 只经由伪元素这条路径渲染。推理过程与实测计算值见滚动条 Agent Noteagent 决策记录)

模型体验

无。主题服务管理浏览器偏好;这里没有任何内容进入模型请求。

KV Cache 影响

该包package既不组装也不发送提供方请求。

已知限制与暂缓事项

  • 第三方主题是表层,不是产品:注册主题意味着覆盖同名别名变量;目前不会验证一组覆盖是否完整。
  • token 样式表是颜色值的唯一权威来源:会有意不补入 cssdesign 中缺失的值(例如设计中的 #4176E6 标签页蓝色);一律采用最接近的语义 token裁定于 2026-07-22