前言¶
DeepSeek Harness(DSH)的 Web GUI 默认走宿主自带外观,改背景、毛玻璃、动效往往要动 CSS 或改 fork,难持久、也难在多台机器上对齐同一套视觉。社区插件 dsh-deepseek-theme-studio(维护者 tuibe)面向 web / desktop 客户端 profile,在设置里提供分组可调参数,并支持 JSON 持久化与程序化 API,把毛玻璃、流体背景、量子化(Q1–Q4)等效果按 DeepSeek 官网视觉语言做成可开关、可还原的工作台。
这是什么¶
dsh-deepseek-theme-studio 是 DSH 的 Web 客户端主题插件(platform: "web",通过 Cordis patch 注入客户端 bundle)。package 版本 0.1.4,MIT 许可;manifest 声明兼容 DSH >=0.2.0-rc.2 <0.3.0-0,README 写明宿主实测 0.2.1-rc.2(同时兼容 0.2.0-rc.2)。
出厂默认倾向 蓝白官网主题(流体背景 + 毛玻璃 + 鲸鱼水印);预设里的 「原生」 或 一键还原原生 会回到 DSH 原生外观——关闭全部效果后不写设计令牌、不挂 canvas。SkillHub 分类为 趣味换装;仓库简介提到约 100 个可调参数(参数表驱动设置 UI 与持久化键名)。
核心功能¶
三类视觉效果¶
- 外观 / 背景:外观模式(
system/light/dark)、背景模式(solid/gradient/fluid)、底色与强调色、流体调色板、装饰层不透明度、渐变角度等。 - 液化(流体):可开关;流速、噪声尺度、指针扰动半径、域扭曲、卷曲、颗粒、光晕、暗角、柔化模糊、流场扰动等独立滑杆。
- 毛玻璃:可开关;模糊半径及深色 / 浅色 tint、浓度等(完整键名见仓库 README §4)。
README 还列出 量子化(Q1–Q4) 相关参数(截断处可见如 quantum.q1Spacing、quantum.q2Levels 等),与 SkillHub 简介中的 quantised effects 一致。
三条控制通道¶
设置页 UI:注册在宿主 settings.general.item(order: 20,紧随内置外观相关行),分组折叠,控件由参数表自动生成,不是独立悬浮面板。
程序化 API:同一对象挂在 window.dshThemeStudio 与 ctx.provide('themeStudio', api)。常用能力包括:
| 能力 | 说明 |
|---|---|
list() / get / getAll / set / setMany |
读写参数,类型与范围由参数表约束 |
reset() |
还原原生 |
exportPreset() / importPreset() |
导出 / 导入 JSON 预设 |
presets() / applyPreset(id) |
内置:native / official-dark / official-light |
subscribe(fn) |
订阅变更 |
selfCheck() / diagnostics() |
令牌与运行状态诊断 |
示例(来自 README):
window.dshThemeStudio.applyPreset('official-dark')
window.dshThemeStudio.set('glass.blur', 32)
window.dshThemeStudio.formatSelfCheck()
还原原生也可在控制台执行:
window.dshThemeStudio.reset()
JSON 参数文件 + 热加载:默认路径 $DSH_HOME/theme-studio.json(Windows 上常为 $env:USERPROFILE\.dsh\theme-studio.json)。Node 半提供带 loopback / 同源围栏的 HTTP 路由(如 GET /deepseek-theme-studio/api、POST method: set|replace);页面可见时每 3 秒 检查 revision,手工改文件会热加载;语法错误会在设置行显示,不会静默吞掉。
{
"appearance.mode": "dark",
"appearance.backgroundMode": "fluid",
"glass.enabled": true,
"glass.blur": 24,
"quantum.q1Spacing": 90,
"quantum.q2Levels": 6
}
安装与启用¶
DSH 生态里插件通过 profile 的 dsh plugin add 安装;web 与 desktop 是两套独立 profile(各自 package.json / node_modules / 设置),装一边不影响另一边。README 要求 dsh 不在 PATH 时用绝对路径,且本地 link 安装前设置 COREPACK_ENABLE_PROJECT_SPEC=0(见仓库 §6 坑 1)。
先把插件源码放在本机目录(README 示例变量 $repo 指向该目录),再执行:
$env:COREPACK_ENABLE_PROJECT_SPEC = "0"
$repo = "$env:USERPROFILE\src\dsh-deepseek-theme-studio"
$dsh = "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd"
& $dsh plugin --profile web add $repo
桌面版把 --profile web 换成 --profile desktop 即可。预期会看到 dependencies 增加 dsh-deepseek-theme-studio link:$repo,并在 dsh.profile.bundles 追加 bundle 名;loader 条目由包内 cordis.patch.yml 提供,无需手改 profile 的 cordis.patch.yml。
客户端插件没有自动发现:安装后必须 重启对应 profile 才会进 boot manifest。
- web:停掉当前实例后,README 给出通过
DeepSeek Harness.exe+ 内层bin.js、--profile web启动并清掉DSH_PROFILE等环境变量的方式,避免dsh.cmd误绑 desktop;浏览器打开带 token 的 URL 后 Ctrl+Shift+R 硬刷新。 - desktop:完全退出 DeepSeek Harness(含托盘)再打开;新增插件无
patchReload: live,热更新不适用。
升级:本地 link 时改 src/ 后 node scripts/build.mjs(或 pnpm run build)再重启;npm 包则 add dsh-deepseek-theme-studio@<新版本> 后重启。卸载:
& $dsh plugin --profile web remove dsh-deepseek-theme-studio
卸载后仍需重启 profile;node_modules 下失效 Junction 可手动删除(路径见 README §2.4)。
典型用法¶
- 安装并重启 profile 后,打开 设置 → 通用,找到 DeepSeek 官网主题工作台,按分组调整外观、流体、毛玻璃、量子化等参数。
- 需要可分享的配置时,在 UI 中导出预设,或调用
exportPreset();换机器可importPreset或编辑theme-studio.json。 - 脚本或控制台批量改主题:
setMany({ ... })或applyPreset('official-light');调试令牌漂移时用formatSelfCheck()。 - 暂时不想卸载插件、只要原生 UI:一键还原原生 或
reset()。
适用场景与注意¶
适合谁:长期在 DSH Web GUI(或 desktop 绑定的 Web 界面)上工作、希望界面接近 DeepSeek 官网风格,又需要细调动效与毛玻璃、且要把配置存进文件或 API 的开发者。
权限与安全:插件以当前 DSH 进程权限运行;JSON API 路由做的是 DNS-rebinding / 跨站防护,不是鉴权,本机其它进程可读写,与生态内同类取舍一致。安装前应自行审阅 GitHub 源码、REUSE.md 与 LICENSES/。
环境:Node >=18;目标 profile 以 web 为主(README 写明 $env:USERPROFILE\.dsh\profiles\web)。社区目录 SkillHub 插件页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-deepseek-theme-studio 把官网式的流体、毛玻璃、量子化效果收进 DSH 客户端插件:设置页、JSON 与 window.dshThemeStudio 三条通道共用同一套参数表,并可用 原生 预设一键退回宿主默认外观。查阅参数全集、验收说明与排错(§6–§7),以仓库 README 为准。