前言¶
DeepSeek Harness(DSH)的 Web 界面默认外观够用,但长时间对着同一套配色工作时,很多人会想换一套更顺眼、更克制的界面。社区里也有换肤方案,有的走 CSS 注入,有的偏题材贴图;而 DSH 本身是一套 --dsw-* 设计令牌驱动的 Web GUI,官方插件体系也开放了 ctx.theme 等扩展点。
下面介绍 dsh-dream-skin:由 RevolutionLA 维护的 DSH 标准双面插件(dsh-plugin),通过原生 token 注册实现换肤、壁纸和主题包,不注入、不改安装包。它在 SkillHub 社区目录归类为「趣味换装」,GitHub 仓库约 90 stars、8 forks。
这是什么¶
dsh-dream-skin 是发布在 npm 上的换肤插件,当前版本 0.4.14,MIT 许可证。它把「换肤」做成与官方 ui-theme 同构的 npm 包:Host 半边通过 cordis.patch.yml 插入 loader 入口,浏览器半边在 lib/client.js 里注册主题、叠加壁纸层,并把设置 UI 挂到 设置 → 外观(Theme) 分节。
插件不是 DeepSeek / 幻方官方产品;SkillHub(https://www.skillhub.cn/plugins/RevolutionLA/dsh-dream-skin)是社区独立目录,与官方无从属关系。
核心功能¶
8 套 Mirage 预设皮肤¶
内置 Mirage 幻梦系列 8 套皮肤,浅色与深色兼顾,每套自带专属弥散光背景。预设 id 如下:
| id | 风格 |
|---|---|
abyss |
沉静蓝 |
aurora |
极光青 |
nebula |
星云紫 |
ember |
余烬橙 |
midnight |
午夜黑 |
ivory |
iOS 扁平 |
mist |
液态玻璃 |
rose |
Material 粉 |
在设置里一键切换即可应用;卡片、输入框、消息气泡保持内层不透明,可读性优先。
壁纸 2.0¶
在预设皮肤之上,可叠加自定义壁纸:
- 本地图片(上传后自动压缩至 ≤2MB)
- 图片 URL
- 渐变预设
支持调节透明度与模糊;每套皮肤会建议一张渐变,聚焦任务时可自动弱化背景干扰。
每用户强调色(Accent)¶
通过 ctx.theme.overrideTokens 叠加层,在不改动皮肤本身的前提下叠加强调色。设置里提供 12 个典型色块、选色盘、随机与恢复主题色;这一层可随时关闭,一键还原。
主题包导入、导出与分享¶
一个 *.dsh-theme.json 文件包含 manifest 与全套 tokens。可导入本地文件、一键应用,或复制分享链接(编码进 URL hash)。导入时校验格式、必填 token 与颜色合法性;失败或移除时安全回退。
本地主题包库与快捷操作¶
导入的主题包集中在设置里管理,支持应用、收藏、移除。「换一个试试」(surprise me)会随机切换到与当前不同的主题。弹窗不透明度可通过滑块调节并持久化保存。
持久化与还原¶
皮肤与壁纸保存在浏览器 localStorage(键前缀 dsh-dream-skin:),刷新或重开浏览器不丢失,但只在当前浏览器生效。可随时一键回到 DSH 内置外观。
安装与启用¶
推荐从 npm 安装正式包,装完后需重启 DSH Web 才生效。
dsh plugin --profile web add dsh-dream-skin
dsh web
若 dsh plugin add 报 workspace 相关错误 ERR_PNPM_ADDING_TO_ROOT,在命令中补 -w 标志即可。
验证是否加载成功:
dsh --profile web --dump-config | grep -A2 dream-skin
输出中应出现 dream-skin loader 条目。打开 设置 → 外观(Theme),可见「皮肤」「强调色」「壁纸 / 高级壁纸」「主题包」等行。
其他安装方式(README 中有完整说明):
- 从 GitHub 固定到指定 commit:
dsh plugin --profile web add 'github:RevolutionLA/dsh-dream-skin#<40位commit>' - 从 Release tarball:
dsh plugin --profile web add ./dsh-dream-skin-<版本>.tgz - 本地开发:克隆仓库后在目录内执行
dsh plugin --profile web add .
更新与卸载:
dsh plugin --profile web update dsh-dream-skin # 更新
dsh plugin --profile web remove dsh-dream-skin # 卸载
dsh web # 重启生效
典型用法¶
经过上面的安装步骤后,日常操作都在 Web 设置界面完成,无需再敲命令。
快速换一套预设皮肤
- 打开 设置 → 外观(Theme)
- 在「皮肤」行挑选一套 Mirage 预设(如
mist液态玻璃) - 界面即时切换;选择会写入
localStorage
叠加强调色与壁纸
- 在同一分节的「强调色」行选色或点随机
- 在「壁纸 / 高级壁纸」行上传本地图、填 URL 或选渐变预设
- 调节透明度、模糊;需要专注时可开启自动弱化
导入或分享主题包
- 在「主题包」行导入
*.dsh-theme.json文件 - 导入后可在本地主题包库中应用、收藏或移除
- 导出或复制分享链接,把同一套 token 配置发给他人
还原默认外观
在设置里选择回到 DSH 内置外观,或卸载插件后重启:
dsh plugin --profile web remove dsh-dream-skin && dsh web
若要自己制作主题包,仓库提供示例文件 docs/examples/sample-theme-pack.json,token 契约见 docs/themes-spec.md。
适用场景与注意¶
适合谁
- 日常用 DSH Web GUI 做 Agent 开发或对话,希望界面更克制、耐看
- 需要在同一 DSH 实例上快速切换多套配色,或导入他人分享的主题包
- 偏好原生 token 方案,不想依赖 CSS 注入或修改客户端二进制
技术与兼容性
| 项 | 要求 |
|---|---|
DeepSeek Harness (dsh) |
0.1.0-rc.6(peerDependencies 对齐 ^0.1.0-rc.6) |
| Node.js | >=18 |
| 浏览器 | 现代 Chromium / WebKit(依赖 CSS 变量与 matchMedia) |
安全与权限
插件以当前 DSH 进程的权限运行,属于标准 dsh-plugin 双面插件,会加载 Host 与浏览器两侧代码。安装前建议阅读仓库源码与 MIT 许可证,确认符合你的环境策略。插件只读写浏览器 localStorage,不通过 Host settings 暴露远程命名空间。
与桌面端 Codex-Dream-Skin 不同:后者通过 CDP 向渲染进程注入 CSS;本插件走 DSH 官方 ctx.theme.register / overrideTokens 路径,不因客户端二进制更新而失效,但仅适用于 Web GUI,不覆盖桌面 App。
结尾¶
dsh-dream-skin 把 DSH 换肤落在官方 token 生态内:8 套 Mirage 预设开箱可用,壁纸、强调色、主题包分享叠在其上,随开随关、可一键还原。若你正在给 DSH Web 找一套克制、清透的外观方案,可以从一条安装命令开始试。
- SkillHub 目录页:https://www.skillhub.cn/plugins/RevolutionLA/dsh-dream-skin
- GitHub 仓库:https://github.com/RevolutionLA/dsh-dream-skin