deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
给 DeepSeek Harness Web 界面就地替换思考强度控件:DSH 原生在「模型座位 → 弹层 →
推理等级/Effort」面板里用一组单选行(Default / Off / Low / High / Max)选择思考强度;
本插件监视该面板,面板一打开就把原生单选行替换成参考 Claude Effort 卡片 /
claude-range-slider 项目的美观滑块:
selectModel、默认保存
和座位标签更新,但只抑制 chooseEffort() 成功结算时的强制关窗;保存前后面板保持
原位,不闪烁、不回弹。档位含义与官方一致(
off | low | high | max)。原生的 Default 档会被标出 「Default · 跟随模型」,并提供「恢复默认」按钮。


| 层 | 实现 |
|---|---|
| 宿主插件(Node) | lib/index.js:提供 /dsh-effort-slider/state.json(档位元数据)和应用接口 |
| 浏览器端 | src/client/index.js:通过 DSH 官方 dsh.client 插件接口加载;web/widget.js 监视「模型座位」弹层并替换推理面板 |
| 写入语义 | 不另发请求 —— 点击原生档位行,保留会话级 selectModel、默认保存和事件投影,只跳过成功后的 close 回调 |
| 兜底 | 面板结构识别不到、无推理能力模型、或 WebGL 不可用时,原生 UI 原样保留,绝不破坏界面 |
需要已安装 DSH(dsh 命令可用)。推荐安装已发布的预构建包:
dsh plugin --profile web add https://github.com/SmailPang/dsh-effort-slider/releases/download/v0.1.1/dsh-effort-slider-0.1.1.tgz
该命令会把插件安装进 profile 的 node_modules,并把它追加到 dsh.profile.bundles
(插件自带 cordis.patch.yml,无需手改 profile)。
也可以直接从 GitHub 源码安装:
dsh plugin --profile web add github:SmailPang/dsh-effort-slider
如果出现
ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION,请查看错误中列出的包名。 这是当前 DSH profile 的供应链策略拒绝了发布时间过近的依赖,并不表示本插件损坏。 等这些依赖超过策略等待时间后重试即可;不要为了安装本插件随意放宽全局供应链策略。
可选校验:
dsh --profile web --dump-config(只组合配置树,不启动服务),应能看到effort-slider行。
最后重启 dsh web(Ctrl+C 后重新 dsh web),刷新浏览器后生效:
打开任意会话 → 点击输入框上方的「模型座位」→ 点「推理等级/Effort」,即可看到被替换后的滑块。
本插件不修改 DSH 本体代码。浏览器界面由 DSH 官方 Client Module 加载,支持 Web 页面和官方桌面客户端。
dsh plugin --profile web remove dsh-effort-slider
或删除 package.json 依赖与 dsh.profile.bundles 里的条目、移除 cordis.patch.yml
中的 insert 行,然后重启 dsh web。
node --check lib\index.js
node --check web\widget.js
node build-client.mjs
node test\smoke.mjs # 宿主逻辑冒烟测试(stub 掉 cordis 服务)
node test\detect-sanity.mjs # 推理等级面板识别逻辑的独立校验
MutationObserver + 兜底轮询监听弹层;只有出现 role=menuitemradio
且含 ≥2 个标准档位行(Off/Low/High/Max),或「Default 行 + 位于 composer 卡片内」
的菜单才被当作推理等级面板,避免误伤其它菜单。Off → Low → High → Max 的语义顺序排列,不依赖供应商或
模型目录返回的 DOM 顺序,保证滑块始终是从 Faster 到 Smarter。onClick,官方链路完整执行;仅在这一次同步点击期间
跳过 settleSelection(true) 里的 close。因此「下一轮生效」「保存默认」和
「座位标签/事件投影」仍与原生一致,滑块面板则保持打开。claude-range-slider(状态字翻转、刻度圆点、WebGL 火焰 4-pass 的
vanilla 版,配色改为 DeepSeek 蓝);引擎 180 帧空闲自动停止、ResizeObserver 防抖
重建 FBO、webglcontextrestored 自动恢复。>= 0.2.0-rc.2(官方 Web 与桌面客户端)。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。