DeepSeek Harness 插件

dsh-better-reasoning-effort

Third-party provider reasoning-effort for DeepSeek Harness: thinking levels declared per model, auto-adapted from a model knowledge base + wire-protocol inference, edited right inside the official(英文原文)

跳到安装方式

来源信息

GitHub 仓库
HaoyueQin/dsh-better-reasoning-effort
最近更新
2026年8月21日
分类
文档与渲染
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/HaoyueQin/dsh-better-reasoning-effort
插件名:dsh-better-reasoning-effort
作者:HaoyueQin

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

DSH Better Reasoning Effort

![License](LICENSE) ![npm version](https://www.npmjs.com/package/dsh-better-reasoning-effort) ![npm downloads](https://www.npmjs.com/package/dsh-better-reasoning-effort) !DeepSeek Harness !dsh-plugin !Version !Docs

English | 中文

给 DeepSeek Harness 的第三方模型(pi-ai 手工声明路由)提供思考强度(reasoning effort)设置的插件——直接在官方「模型」页的模型行里编辑,带知识库 + 协议推断的自动适配。

![官方「模型」页模型行内的思考强度编辑器](assets/models-page-effort-editor.png)

为什么需要它

DeepSeek Harness 的 llm-pi-ai 适配器原生支持每个模型声明 reasoningEfforts(接受哪些思考档位 + 每个档位发往端点的确切取值),但官方「模型」页的编辑卡刻意不暴露这个字段——官方注释明说它是 per-model 能力、provider 级旋钮会弄坏部分模型。于是:

  • 第三方模型在 Composer 的模型选择器里没有思考档位选择getSupportedThinkingLevels 短路成 ["off"]);
  • 只有官方 DeepSeek API(内置 catalog)能设思考强度;
  • 想给第三方模型设档位,只能手写 settings.yamlreasoningEfforts / compat 块。

本插件把这份配置能力搬回 UI:官方模型编辑卡内直接编辑,加自动适配

特性

  • 官方页内注入:官方「模型 → 编辑 → 自定义设置 → 模型行展开区」里出现「思考强度」编辑块,和上下文窗口 / 最大输出并列——不是另起炉灶的单列页面,而是融进官方编辑流程(同一个 settings.mutate 契约、同一种保存方式)。编辑块横跨展开区整行,档位行按官方容量字段同样的两列均分。
  • 新建卡暂存:新建供应商的卡片上同样会出现编辑块——自动适配可直接用卡上已填的协议/端点,暂存保存选择,供应商创建后自动写入(绝不覆盖文档里已有的声明)。
  • 自动适配:内置模型知识库(DeepSeek V3/V4/R1;OpenAI GPT-5 按代际 + o 系列;Claude 4/5、Gemini 3.x、Grok 4.x、Mistral Magistral;通义千问、智谱 GLM 4/5、Kimi K2/K3、豆包、混元 hy3、阶跃 Step——档位拼写均已对照各家官方文档核实,2026-08)+ 协议推断(按 pi-ai 真实线协议 openai-completions / openai-responses / anthropic-messages,以及从 baseURL 识别的 DeepSeek 官方端点方言),一键填入推荐档位与线上取值。官方端点不吃 effort 档的家族(MiniMax、Llama、Nova、Phi、Cohere、Perplexity sonar)有意不设条目——低置信度的通用建议更诚实。compat 建议只在协议门允许的线协议上给出。
  • 端点取证:自动适配还会经 host 同源路由探测供应商的原始 /models 列表(凭据只在服务端解析、绝不回显),按置信度融合信号——端点明确"不支持推理"时直接建议禁用;知识库的线上取值始终权威;每条建议标注高/中/低置信度,低置信度建议核对后再用。
  • Host 自动填充:settings 更新时,为没有 reasoningEfforts 声明的模型自动补一份推荐声明(不覆盖已声明、显式 false、以及被刻意取消的模型)。写入采用乐观锁:若你的编辑已把设置顶高,自动填充会放弃并等下一次更新,绝不与你抢写。
  • 三种意图:全不勾 = 取消声明(回到继承——以 reasoningEffortsUnset 标记持久化,自动填充会尊重它,重启后依然有效);只勾 off = 禁用推理(false);勾选档位 = 写入声明。编辑器随官方页重新渲染与推送的设置变更保持同步,你编辑到一半不会被打断。
  • 防御式注入:注入依赖官方页 DOM 结构(aria-label / class),一旦官方升级改变结构,注入器自动停用、官方页不受影响;结构恢复后下次扫描自动重新注入。
  • 双语文案(中文 / English)。

安装

需要 DeepSeek Harness 0.1.1-rc.1 或更新版本(@deepseek-ai/dsh-api-remotes@^0.1.1-rc.1)。

从 npm

# 在 dsh 的 web profile 下
dsh plugin --profile web add dsh-better-reasoning-effort

从 GitHub

# 在 dsh 的 web profile 下
dsh plugin --profile web add github:HaoyueQin/dsh-better-reasoning-effort

github: 源只拉源码,lib/ 由包的 prepare 钩子构建;pnpm 默认不跑 git 依赖的构建脚本,安装器会打印需要加入 allowBuilds 的密钥,照做后重新 add

本地开发

npm install && npm run build
dsh plugin --profile web add link:D:/Project/dsh-better-reasoning-effort

重启 dsh web,硬刷新浏览器。官方「模型」页每行模型的展开区多了一块「思考强度」。

使用

1. 在官方「模型」页配置第三方供应商(API Key 等)。 2. 展开某个模型行:官方容量字段下方是「思考强度」块。 - 勾选档位(off / minimal / low / medium / high / xhigh / max),填线上取值(如给 highultra,Composer 选 High 时网关收到 ultra); - 点「自动适配」按知识库/协议填推荐档位; - 点「应用」写入设置。 3. 全不勾 + 应用 = 取消声明(回到继承);只勾 off + 应用 = 禁用推理(false)。

声明后的模型在 Composer 模型选择器里立即可选思考强度。

工作方式(架构)

浏览器 (lib/client.js)                  Host (lib/index.js)
├─ DOM 注入器                           └─ 自动填充
│   MutationObserver 监听官方模型页        settings/updated → 为未声明模型
│   → 在模型行展开区挂 EffortEditor         补 reasoningEfforts(知识库+推断)
├─ EffortEditor(React 组件)
│   档位勾选 / 线上值 / 自动适配 / 应用
│   └─ 写 settings.mutate(llm-pi-ai)
  • 知识库 + 协议推断src/knowledge.tssuggestEfforts(),纯函数,host 与浏览器共用。
  • DOM 注入src/client/injector.tsreconcile(),按官方按钮 aria-label(Capacities/容量)定位模型行,把编辑器挂进容量折叠区。
  • 写入src/client/ops.tscreateEditorApi()settings.mutate 按路径改写 providers.<route>.models[i].reasoningEfforts,保留行内其他字段;冲突时自动重读重试一次(与官方设置表单相同的恢复策略)。
  • 共享常量src/constants.ts 承载插件 id、设置命名空间、DOM 标记,host 与浏览器共用。

与同类插件的区别

better-model-providerdsh-reasoning-effort-autofillHanaAyane/dsh-reasoning-effort本插件
编辑入口独立设置页无 UI(静默填充)独立设置页(粘贴 YAML)官方模型编辑卡内
自动适配写死 OpenAI 档位诊断 + 粘贴知识库 + 协议推断,一键填入
官方页融合(DOM 注入)

开发

npm run typecheck   # tsc 严格检查 src
npm test            # vitest:知识库 / 推断 / autofill / DOM 注入 / 写入
npm run build       # lib/*.js + lib/client.js(模块加载器 bundle)

契约版本:@deepseek-ai/dsh-api-remotes@0.1.1-rc.2(client 契约类型),已通过针对 0.1.1-rc.2 各包的 typecheck、测试套件与完整构建验证。

已知限制

  • 注入依赖官方 Models 页当前 DOM(aria-label/class)。官方升级若改结构,注入自动停用,需要跟进适配;停用期间官方页不受影响。
  • reasoningEfforts 声明是建议值:网关实际接受哪些档位/取值以端点文档为准,可在 UI 里逐个修改。
  • 知识库覆盖面有限——各家上新后拼写会漂移,不吃 effort 档的家族则完全无条目;未收录的模型走协议推断 + 通用档位,可手动调整。

License

MIT