前言¶
DSH 的扩展模型允许把 Web UI 的能力拆成独立插件安装。dsh-appearance 用于调整 DeepSeek Harness Web 的外观设置,包括主题、强调色、字体和背景壁纸,并把配置持久化到本机。
这是什么¶
levi52/dsh-appearance 是一个 DSH Web 外观设置插件,仓库 owner 为 levi52,许可证为 MIT。package.json 中声明的版本号为 0.1.0。
该插件依赖 @deepseek-ai/schemastery ^3.18.1,peerDependencies 中声明 react ^18.2.0。
核心功能¶
主题¶
支持浅色、深色、跟随系统三种模式,并提供 9 个预设主题:Claude、GitHub、新粗野主义、终端、Dracula、Tokyo Night、Gruvbox、Solarized、Material。插件也支持自定义主题。
强调色¶
提供 8 个预设色和自定义取色器。强调色可以叠加在任意主题上,并自动按 WCAG 计算反色文字。
字体¶
界面字体和代码字体可选择默认、无衬线、衬线、等宽、自定义。插件支持系统字体选择器,并支持字号三档缩放。
背景壁纸¶
支持本地上传或粘贴 URL。历史壁纸画廊可一键切换,也可删除。透明度和模糊度均可调整。
配置管理¶
- 支持导出 / 导入整套外观配置为 JSON。
- 侧边栏底部提供「外观」按钮,可即时切换主题与强调色。
- 所有设置保存到
$DSH_HOME/settings.yaml,刷新后自动恢复。 - 修改先进入草稿,点击「保存并应用」后生效,也可以随时放弃更改。
安装与启用¶
先确认环境满足以下条件:
- DeepSeek Harness(
dshCLI)已安装并运行过 Web profile - Node.js ≥ 18(开发环境为 v22)
进入插件目录后,执行一键安装:
npm run install-plugin
安装完成后,重启 dsh web:
dsh web
也可以手动把当前目录添加到 web profile:
dsh plugin --profile web add <本目录路径>
如需指定其他 profile,可使用 --profile <name>:
dsh plugin --profile <name> add <本目录路径>
典型用法¶
在 dsh web 界面中打开外观设置,调整主题、强调色、字体或背景图片。修改会先进入草稿,确认后可以执行:
- 保存并应用
- 放弃更改
- 恢复默认
- 导出 JSON
- 导入 JSON
如果只是调整主题色、字体、壁纸设置等纯客户端内容,强制刷新浏览器即可看到变化;如果涉及宿主侧的 schema 或路由改动,需要重启 dsh web。
数据与卸载¶
外观设置保存在:
$DSH_HOME/settings.yaml
其中使用 ui-appearance 段保存配置。上传的壁纸图片保存在:
$DSH_HOME/wallpapers/
插件说明所有数据仅存储在本机,不上传内容,也不采集密钥或凭据。壁纸上传接口只接受图片格式,并对文件名做白名单校验,以防路径穿越。
执行以下命令卸载插件:
npm run uninstall-plugin
卸载会移除插件 bundle,但会保留用户数据。如需彻底清除,请手动删除 settings.yaml 的 ui-appearance 段和 wallpapers/ 目录。
本地开发¶
参与源码修改时,可以使用以下脚本:
npm run typecheck
执行类型检查。
npm run build
构建 lib/ 产物。
npm run watch
监听 src/ 变更并自动构建。
适用场景与注意¶
适合需要在 DSH Web 中统一调整主题、字体、壁纸,并备份或迁移外观配置的人。由于插件会随当前 dsh 进程权限运行,安装前建议检查源码与许可证,并确认运行环境可信。