← 返回列表
未验证
为界面注册多套预设配色皮肤并一键切换
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/16 · 已提供中文文档
DeepSeek Harness 皮肤插件
综合分
28.4
GitHub 分
28.4
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add edwardyang0011/dsh-ui-skins该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-settings@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-test-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-theme@deepseek-ai/dsh-invariants@deepseek-ai/dsh-client-connection用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
@deepseek-ai/dsh-client-ui-skins
换肤插件(Skin plugin):在 ui-theme 服务上把预设配色皮肤注册为别名令牌主题,拥有持久化的 ui-skins.skin 偏好,并把「皮肤」行注册进设置页「通用」分区(紧挨着「外观」行)。
每个预设皮肤是一个 ThemeDefinition({ id, colorScheme, tokens }),通过 ctx.theme.register 注册——即主题注册表认可的第三方扩展点。主题 presenter 把合成后的令牌以内联 CSS 变量写到 body 上,因此皮肤复用了整套 --dsw-* 机制(调色板切换、theme/change 快照、meta theme-color),无需改动任何样式表。
内置的「外观」行仍是偏好权威。插件镜像 theme/change,并让持久化皮肤 id 与当前生效的偏好保持一致:
- 选择某个预设皮肤会把偏好切到该皮肤 id,并把它持久化到 ui-skins.skin 下;
- 「默认」选项恢复切换皮肤时捕获的内置偏好(没有捕获时回落为 system);
- 操作「外观」行(内置偏好胜出)会清除持久化皮肤,因此两行不会漂移——后写者胜。
持久化 schema(ui-skins):skin ∈ default | custom | ocean | sakura | forest | midnight(默认 default),另有可选的 custom 颜色段(scheme、accent、bgBase)。
预设皮肤:
| id | 配色方案 | 色系 |
| --- | --- | --- |
| ocean | 浅色 | 蓝绿海洋:海面蓝白底、深青色主色 |
| sakura | 浅色 | 樱花粉:樱粉白底、玫红主色 |
| forest | 深色 | 松林绿:墨绿黑底、翠绿主色 |
| midnight | 深色 | 深空紫:紫黑底、淡紫主色 |
色块(swatch)外观颜色在 SkinRow.module.css 中;src/skins.ts 中的令牌表才是主题值本身。
自定义颜色:「自定义」色块会打开编辑器(配色方案、主色、背景),通过 buildCustomTokenPairs 从两个颜色推导出完整令牌集,并以 overrideTokens 覆盖层叠加到已注册的 custom 主题上——修改颜色只替换覆盖层,切换配色方案会重新注册主题。颜色持久化在 ui-skins.custom 下,启动时自动恢复;操作「外观」行会像清除其它皮肤一样清除自定义皮肤。
Install
从本仓库安装该包(已提交预构建的 lib/):
pnpm add github:edwardyang0011/dsh-ui-skins
然后在你的 DSH profile patch —— $DSH_HOME/profiles/... 下的 cordis.patch.yml —— 中注册该行:
- id: ui-skins
name: '@deepseek-ai/dsh-client-ui-skins'
重启 dsh web,在 设置 → 通用 中选择皮肤。peer 依赖与已发布的 0.1.0-rc.5 dsh 家族版本一致。
宿主前置条件: 持久化需要 ui-skins 命名空间出现在 Host API 代理的 Web 设置白名单(dsh-host-apiproxy 的 WEB_SETTINGS_NAMESPACES)中。随皮肤插件一起发布的官方构建已包含;未包含的构建会以 settings-not-exposed 拒绝浏览器的设置写入,任何选择在刷新后都会重置。
Model Experience
None, as skins are a browser-side preference.
KV Cache effect
None; this package neither assembles nor sends a provider request.
Known Limitations and Deferred Work
- 皮肤是主题覆盖而非完整主题——每个皮肤覆盖一组精选的别名令牌;未覆盖的值保持基础调色板,因此皮肤不会重新定义每一个表面。
- 每个皮肤固定一种配色方案——主题注册表为每个已注册主题固定 colorScheme,因此皮肤要么是浅色要么是深色,而不是随系统自适应。扫码进群