为 DeepSeek Harness Web 客户端提供「滑动变祖」主题皮肤,把推理等级选择换成连续滑块,并按 0–30 强度联动人物、背景与配色。
- 语言
- TypeScript
- 分支
- main
安装
$ dsh plugin --profile web add github:kingOfSoySauce/dsh-liang-skin在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 kingOfSoySauce/dsh-liang-skin:先查看仓库 https://github.com/kingOfSoySauce/dsh-liang-skin.git 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
为 DeepSeek Harness Web 客户端提供一套名为「滑动变祖」的自定义外观皮肤,把模型推理等级从分段按钮换成连续滑块,拖动时按 0–30 的强度联动人物插画、背景视频和界面配色。
核心能力
- 在模型输入框右侧注入一个连续滑块,档位直接读取当前模型官方
reasoning.efforts,任意 N 档均匀落在 0–30 强度轴上 - 拖动期间只做本地视觉预览,松开、键盘操作完成或失焦时吸附到最近档位,并通过官方
ModelDirectory.select提交该档位原始 ID - 按强度同步切换人物插画、背景视频、界面配色(0–23 段保留 Harness 原生浅色壳,24 段起切到炭灰 + 古金深色壳)
- 提供 24 张经过审核的人像锚点和一段 8 秒插帧视频作为视觉素材,无需额外下载
- 在「设置 → 通用设置 → 外观皮肤」新增「滑动变祖」选项,与浅色 / 深色 / 跟随系统并列,开关状态保存在浏览器本地
- 额外提供「滑块是否联动思考等级」的子开关,关闭后滑块只控制皮肤进度,不再修改模型推理档位
技术实现
- 语言: 服务端 Node.js ESM(
src/index.js)+ 客户端 TypeScript / React(src/client/index.tsx),CSS 用模块化样式文件 - 关键依赖:
@deepseek-ai/dsh-client-runtime/client(注入宿主运行时)、@deepseek-ai/dsh-client-ui-conversation、@deepseek-ai/dsh-client-ui-theme(皮肤与主题桥接)、@deepseek-ai/dsh-client-locale(多语言注册);客户端通过 esbuild 打包为 IIFE 兼容格式 - 架构模式: 双端插件。服务端走 Cordis 插件模型(
inject = ["webServer"]),用ctx.webServer.register把assets/下 27 个素材挂成 HTTP exact 路由并支持 Range 请求;客户端走 DSH 客户端注入模型(inject = ["slots","sessions","modelDirectories","locale","theme"]),通过slots.inject("conversation.input.right")注册滑块组件,并通过 MutationObserver 扩展原生外观选择行 - 入口文件:
src/index.js(服务端 Cordis 插件)+src/client/index.tsx(客户端 React 组件 + 注入逻辑),由scripts/build-client.mjs用 esbuild 构建出lib/client.js
适用场景
希望在 DSH Web 客户端里把模型推理等级切换从分散按钮换成「一拖到底」式滑块,并希望滑块联动一套风格化视觉效果的玩家和创作者;如果只是想要换皮肤而不在意滑块本身,也可以单独使用它的配色和人物背景。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | 0.1.0-rc.6+ | README 第 59 行声明已在该版本上验证 |
| Node.js | 未声明 | package.json 未声明 engines.node |
| pnpm | 随 DSH CLI | dsh plugin 子命令依赖 PATH 中的 pnpm |
| 平台 | 跨平台 | package.json 无 os / cpu 限制,素材通过 HTTP 路由分发 |
| 原生模块 | node:fs / node:url | 服务端仅使用 Node 内置模块;客户端无原生依赖 |
安装方式
dsh plugin --profile web add github:kingOfSoySauce/dsh-liang-skin
配置项
本插件无需额外配置。可在「设置 → 通用设置 → 外观皮肤」中切换以下两项偏好(保存在浏览器 localStorage):
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
dsh-liang-intensity-skin.enabled | 布尔 | 开启后显示皮肤背景层、滑块与人物;关闭后恢复 Harness 原生界面 | true |
dsh-liang-intensity-skin.bind-effort | 布尔 | 开启时滑块拖动会提交并修改模型的推理等级;关闭时滑块只控制皮肤进度,不动模型 | true |
常见问题
Q: 这个插件是做什么的?
A: 它给 DSH Web 客户端换上一套「滑动变祖」外观皮肤,并把模型推理等级选择器从分段按钮换成连续滑块。滑动时人物插画、背景视频和界面配色会跟着变化,等松开才提交选中的档位。
Q: 安装后必须额外配置吗?
A: 不需要。所有素材和滑块都内置在插件包里,安装即可在「外观皮肤」里看到新选项;偏好保存在浏览器本地存储,不改动模型配置和磁盘。
Q: 不支持推理或只有一档的模型会显示滑块吗?
A: 不会。客户端逻辑会判断当前模型有没有推理档位,少于两档或不识别时滑块直接不渲染,皮肤背景层仍按当前选择继续生效。
Q: 被 subagent 寻址的会话会显示滑块吗?
A: 不会。代码里专门判断 subagentAddress,被寻址的 subagent 会话既不显示也不提交滑块变更,避免干扰父级会话的状态。
Q: 安装之后要重启浏览器或刷新吗?
A: 不需要刷新,重启 DSH Web 进程后浏览器会自动加载新客户端插件;当前会话中断,但 DSH 有磁盘持久化,重启后可继续。
Q: 滑块误操作会不会污染我的对话?
A: 拖动期间只更新本地视觉预览,不提交任何档位;只有在松开、键盘确认或失焦时才会吸附并触发一次模型推理等级切换。按 Esc 会回滚到拖动前的档位。
Q: 视频或图片加载失败会崩吗?
A: 不会。客户端有三层兜底:人物帧加载失败回退到背景视频,视频失败回退到海报图,海报失败回退到纯配色模式,皮肤状态永远保留。
Q: 怎么彻底关掉皮肤?
A: 在「设置 → 通用设置 → 外观皮肤」里选「原生」「浅色」「深色」或「跟随系统」任意一项,皮肤层、滑块和自定义颜色变量都会一并移除;要彻底移除插件则运行 dsh plugin --profile web remove dsh-client-liang-intensity-skin。
上手难度
入门 — 安装即用,所有视觉素材内置、偏好开关在原生设置里,无需读文档或写配置。
已知问题与限制
- 客户端依赖 MutationObserver 匹配 DSH 原生外观选择行的 CSS 类名(
[class*="_8HJdBW_group"]/[class*="_8HJdBW_cubeRow"]/[class*="_8HJdBW_themeCube"]),如果 DSH 上游重构外观组件的 class hash,「滑动变祖」按钮可能不再注入到原生外观行内;可作为单独开关项使用的偏好不受影响 - 24 张人像锚点覆盖 0、1、3、4、6、7、9、10、12、13、14、15、16、17、18、19、21、22、24、25、27、28、29、30 共 24 个强度点,中间档位通过就近吸附切换,不做图片交叉渐变
- 安装依赖 PATH 中的 pnpm;pnpm ≥ 10 默认不执行第三方依赖的 prepare 脚本,本插件没有 prepare 脚本,正常不会触发;若安装失败并出现提示,按 DSH 输出在
~/.dsh/profiles/web/pnpm-workspace.yaml的allowBuilds中加入对应 key 后重试 - 安装 / 卸载会修改
~/.dsh/profiles/web/package.json的dsh.profile.bundles,但remove是「摘除 + 重启」,不会自动回滚已经写到磁盘的本地偏好;偏好本身只存在于浏览器 localStorage
安装
-
方法一, 提示词安装:
点击展开提示词
复制以下提示词给 DSH;会先排查冲突再安装,所以较长:
请把“滑动变祖”皮肤安装到 DSH 的 web profile。必须先检查冲突,确认可以继续后再安装。
1. 安装前只读检查 web profile 的 package.json(dependencies 与 dsh.profile.bundles)、profile 的 cordis.patch.yml 和 $DSH_HOME/cordis.patch.yml(如有)。
2. 从当前启用的 bundles 中识别其他皮肤、主题或外观插件:排除 @deepseek-ai/dsh-base、@deepseek-ai/dsh-web-app、dsh-skin-market 和本次目标 dsh-client-liang-intensity-skin;读取候选 package.json 的名称、描述、dsh.client/dsh.bundle 声明,必要时再读 README。
3. 如果发现其他已启用的皮肤插件,列出它们并停在安装前,提醒我先停用;未经我确认不得修改任何 profile 文件,也不得执行安装。
4. 如果没有冲突,明确说“未检测到其他已启用的皮肤插件”,然后执行:
dsh plugin --profile web add 'github:kingOfSoySauce/dsh-liang-skin'
5. 安装后读取 web profile 的 package.json,确认 dependencies 和 dsh.profile.bundles 中都有 dsh-client-liang-intensity-skin;再检查目标 package.json 的 dsh.client/dsh.bundle 声明和 liang-intensity-skin loader 注册项。任一缺失都要报告安装或注册失败。
6. 告诉我如何重启 DSH Web。不要替我安装、停用或卸载其他皮肤。
更多 DSH 皮肤
更多社区皮肤,点击在线浏览皮肤市场
效果展示
|
交互规则
- 档位直接读取当前模型的
reasoning.efforts,不写死数量或名称。 - 任意 N 个档位均匀落在 0–30:两档为
0 / 30,三档为0 / 15 / 30,五档为0 / 7.5 / 15 / 22.5 / 30。 - 拖动期间只做连续视觉预览;指针松开、键盘操作完成或控件失焦时,才吸附到最近档位并通过官方 ModelDirectory 提交该档位原始 ID。
- 不支持推理或只有一个可选档位的模型不显示滑块。
- addressed subagent 不显示也不提交滑块。
外观开关
入口位于 设置 → 通用设置 → 外观皮肤:
滑动变祖:显示滑块并启用人物、背景和自适应配色。原生:移除背景层、皮肤变量和滑块,恢复 Harness 原生界面。
选择保存在当前浏览器本地,不会改动模型配置。
命令安装
需要先安装 DeepSeek Harness;当前版本已在 0.1.0-rc.6 上验证。安装本身可以在 DSH 运行时执行(只改动磁盘配置),重启后生效。三种方式任选其一:
安装前请确保已关闭其他皮肤插件,避免冲突。
方式一:从 GitHub 安装最新版(推荐)
dsh plugin --profile web add 'github:kingOfSoySauce/dsh-liang-skin'
dsh --profile web --dump-config | grep -B1 -A2 liang-intensity
方式二:从 GitHub Release tarball 安装
从本仓库 Releases 页面下载 dsh-client-liang-intensity-skin-0.1.7.tgz(包内已包含构建好的 lib/client.js,安装时不需要执行任何 prepare 脚本),然后:
dsh plugin --profile web add ./dsh-client-liang-intensity-skin-0.1.7.tgz
适合不方便走 git 的环境;相对路径按你运行命令的目录解析。
方式三:克隆后从本地路径安装(开发迭代)
git clone https://github.com/kingOfSoySauce/dsh-liang-skin.git
cd dsh-liang-skin
dsh plugin --profile web add .
dsh plugin 会把相对路径锚定到你运行命令的目录(而不是 profile 目录),所以在克隆目录里执行 add . 装的是指向克隆目录的 link 依赖:改完源码运行 npm run build,重启 DSH 即生效,无需重新安装。
验证与重启
安装成功后 dsh plugin 会自动把插件注册进 profile 的 dsh.profile.bundles(见 ~/.dsh/profiles/web/package.json),无需手动改配置;--dump-config 的输出中应出现 dsh-client-liang-intensity-skin 配置层(上面命令里的 grep 就是为此准备的)。
如果正式 DSH 正在运行,让执行安装的 agent 给用户两个选择:
- a. agent 自行重启:agent 终止旧进程后重新运行
dsh web; - b. 用户手动重启(推荐):在运行 DSH 的终端按 Ctrl+C,再运行
dsh web。
重启后浏览器会自动加载新的客户端插件,无需强制刷新。当前会话会中断,但 DSH 会话有磁盘持久化,重启后可以恢复。
卸载
dsh plugin --profile web remove dsh-client-liang-intensity-skin
remove 会自动把插件从 dsh.profile.bundles 中摘除;重启后设置入口完全移除。
常见问题
- pnpm 阻止构建脚本:pnpm ≥ 10 默认不执行第三方依赖的 build/prepare 脚本。当前皮肤没有 prepare 脚本,正常不会触发;若 pnpm 安装失败并给出提示,按 dsh 打印的说明在
~/.dsh/profiles/web/pnpm-workspace.yaml的allowBuilds下加入对应 key 后重试。 - 网络:方式一需要能访问 github.com(pnpm 经 codeload 拉取);方式二只需能下载 GitHub Release 附件。
- pnpm 缺失:
dsh plugin依赖 PATH 里的 pnpm,缺失时会明确提示。 - 端口占用:
dsh web默认监听 3080(可用--port修改),重启前确认旧进程已退出。
本地开发
npm install
npm test
npm run build
修改 client 源码后需要运行 npm run build,并一起提交更新后的 lib/client.js 和 source map。
灵感与素材来源
本插件的“滑动变祖”视觉概念与人物图片素材源自 Lichtspektrum/liang-intensity-calibrator。插件在原项目 0–30 强度轴的基础上,将视觉变化接入 DeepSeek Harness 的推理等级选择。
运行时素材已包含在插件中,安装后不需要额外下载。当前接入 24 张经过审核的人像锚点,滑动时直接切换最近锚点,不做图片交叉渐变。
收录徽章
[](https://deepseek-plugin.org/plugins/kingOfSoySauce/dsh-liang-skin)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。