Provides a
$ dsh plugin --profile web add github:kingOfSoySauce/dsh-liang-skinRun the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial
Provides a custom skin called "Sliding Ancestor" for the DeepSeek Harness Web client, replacing the segmented model reasoning level buttons with a continuous slider that, when dragged, links character illustrations, background videos, and interface colors based on intensity levels 0–30.
reasoning.efforts, where any N positions are evenly distributed on the 0–30 intensity axisModelDirectory.selectsrc/index.js) + Client-side TypeScript / React (src/client/index.tsx), CSS using modular style files@deepseek-ai/dsh-client-runtime/client (injects host runtime), @deepseek-ai/dsh-client-ui-conversation, @deepseek-ai/dsh-client-ui-theme (skin and theme bridging), @deepseek-ai/dsh-client-locale (i18n registration); client bundled as IIFE compatible format via esbuildinject = ["webServer"]), uses ctx.webServer.register to mount 27 assets under assets/ as HTTP exact routes with Range request support; client-side follows DSH client injection model (inject = ["slots","Sessions","modelDirectories","locale","theme"]), registers slider component via slots.inject("conversation.input.right") and extends native appearance selection row via MutationObserversrc/index.js (server-side Cordis plugin) + src/client/index.tsx (client-side React component + injection logic), built by scripts/build-client.mjs using esbuild to output lib/client.jsPlayers and creators who want to replace the scattered buttons for model reasoning level switching in the DSH Web client with a "drag-to-end" style slider, and want the slider to link to a set of stylized visual effects; if you only want to change the skin without caring about the slider itself, you can also use its color scheme and character backgrounds independently.
| Dependency | Minimum Version | Description |
|---|---|---|
| DSH | 0.1.0-rc.6+ | README line 59 declares verification on this version |
| Node.js | Not declared | package.json does not declare engines.node |
| pnpm | Follows DSH CLI | dsh plugin subcommand depends on pnpm in PATH |
| Platform | Cross-platform | package.json has no os / cpu restrictions, assets distributed via HTTP routes |
| Native Modules | node:fs / node:url | Server-side only uses Node built-in modules; client-side has no native dependencies |
dsh plugin --profile web add github:kingOfSoySauce/dsh-liang-skin
This plugin requires no additional configuration. You can toggle the following preferences in "Settings → General Settings → Appearance Skin" (saved in browser localStorage):
| Config | Type | Description | Default |
|---|---|---|---|
dsh-liang-intensity-skin.enabled | Boolean | When enabled, shows skin background layer, slider and characters; when disabled, restores Harness native UI | true |
dsh-liang-intensity-skin.bind-effort | Boolean | When enabled, slider dragging submits and modifies model's reasoning level; when disabled, slider only controls skin progress, does not affect model | true |
Q: What does this plugin do?
A: It applies a "Sliding Ancestor" appearance skin to the DSH Web client and replaces the model reasoning level selector from segmented buttons to a continuous slider. When sliding, character illustrations, background videos, and interface colors change together; the selected position is only submitted when released.
Q: Do I need additional configuration after installation?
A: No. All assets and the slider are built into the plugin package; after installation, you'll see the new option in "Appearance Skin"; preferences are saved in browser local storage, no changes to model configuration or disk.
Q: Will the slider show for models that don't support reasoning or only have one level?
A: No. The client logic checks whether the current model has reasoning levels; if there are fewer than two levels or unrecognized, the slider simply won't render, and the skin background layer continues to work based on the current selection.
Q: Will the slider show for sessions addressed by subagent?
A: No. The code specifically checks subagentAddress; subagent sessions that are addressed will neither show nor submit slider changes, avoiding interference with the parent session's state.
Q: Do I need to restart the browser or refresh after installation?
A: No refresh needed; after restarting the DSH Web process, the browser automatically loads the new client plugin; the current session is interrupted, but DSH has disk persistence and can continue after restart.
Q: Will slider misoperations pollute my conversation?
A: During dragging, only local visual preview is updated, no position is submitted; only when released, keyboard confirmed, or focus lost will it snap and trigger a model reasoning level switch. Pressing Esc rolls back to the pre-drag position.
Q: Will it crash if video or images fail to load?
A: No. The client has three layers of fallback: character frame failure falls back to background video, video failure falls back to poster image, poster failure falls back to pure color mode; skin state is always preserved.
Q: How to completely disable the skin?
A: In "Settings → General Settings → Appearance Skin", select any of "Native", "Light", "Dark", or "System"; the skin layer, slider, and custom color variables will all be removed; to completely remove the plugin, run dsh plugin --profile web remove dsh-client-liang-intensity-skin.
Beginner — Plug and play, all visual assets built-in, preference toggles in native settings, no documentation reading or config writing needed.
[class*="_8HJdBW_group"] / [class*="_8HJdBW_cubeRow"] / [class*="_8HJdBW_themeCube"]); if DSH upstream refactors appearance component class hashes, the "Sliding Ancestor" button may no longer be injected into the native appearance row; preferences as separate toggle items are not affected~/.dsh/profiles/web/pnpm-workspace.yaml's allowBuilds and retry~/.dsh/profiles/web/package.json's dsh.profile.bundles, but remove is "detach + restart", does not automatically roll back local preferences already written to disk; preferences exist only in browser localStorage复制给你的 DSH,一键安装:
帮我安装这个仓库的皮肤到我的 DSH,地址:https://github.com/kingOfSoySauce/dsh-liang-skin
打开 DSH 的「设置 → 皮肤市场」,搜索“滑动变祖”,点击“一键安装”,按提示重启 DSH Web 即可。尚未安装皮肤市场?请先按安装说明完成安装。
想发现更多社区皮肤,欢迎前往 DSH 皮肤市场浏览和一键安装。
完整皮肤效果 |
推理等级滑块演示 |
把 Harness 的推理等级改为紧凑滑块,并用滑动变祖原项目的 0–30 强度映射同步人物、背景与界面配色。
reasoning.efforts,不写死数量或名称。0 / 30,三档为 0 / 15 / 30,五档为 0 / 7.5 / 15 / 22.5 / 30。入口位于 设置 → 通用设置 → 外观皮肤:
滑动变祖:显示滑块并启用人物、背景和自适应配色。原生:移除背景层、皮肤变量和滑块,恢复 Harness 原生界面。选择保存在当前浏览器本地,不会改动模型配置。
需要先安装 DeepSeek Harness CLI;当前版本已在 0.1.0-rc.6 上验证。安装本身可以在 DSH 运行时执行(只改动磁盘配置),重启后生效。三种方式任选其一:
dsh plugin --profile web add 'github:kingOfSoySauce/dsh-liang-skin#v0.1.4'
dsh --profile web --dump-config | grep -B1 -A2 liang-intensity
版本号固定为已验证的 release tag,之后推送到 main 的改动不会静默改变已安装代码。
从本仓库 Releases 页面下载 dsh-client-liang-intensity-skin-0.1.4.tgz(包内已包含构建好的 lib/client.js,安装时不需要执行任何 prepare 脚本),然后:
dsh plugin --profile web add ./dsh-client-liang-intensity-skin-0.1.4.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 给用户两个选择:
dsh web;dsh web。重启后浏览器会自动加载新的客户端插件,无需强制刷新。当前会话会中断,但 DSH 会话有磁盘持久化,重启后可以恢复。
dsh plugin --profile web remove dsh-client-liang-intensity-skin
remove 会自动把插件从 dsh.profile.bundles 中摘除;重启后设置入口完全移除。
~/.dsh/profiles/web/pnpm-workspace.yaml 的 allowBuilds 下加入对应 key 后重试。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 张经过审核的人像锚点,滑动时直接切换最近锚点,不做图片交叉渐变。