前言¶
DeepSeek Harness 的模型设置页面负责编辑模型的 id、显示名称、上下文窗口和输入类型,但原生编辑器没有针对单个模型配置 reasoningEfforts(推理强度)的功能。这个功能通常是按提供商(Provider)全局设置的,无法针对特定模型调整。
dsh-model-reasoning-levels 插件通过接管 settings.models.provider-card,发现并定位每个模型行,直接在每个模型条目内注入推理强度编辑器。用户选择后,插件通过 settings.mutate 将 reasoningEfforts 写入配置文件,实现按模型级别的推理控制。
插件定位¶
- 插件名:
icrefin/dsh-model-reasoning-levels - 作者:
icrefin - 类别:模型推理
- 许可证:MIT
核心功能¶
- 行内编辑器注入:插件在 Settings → Models 的每个模型行内挂载推理强度选择器,而非仅在提供商卡片层。
- 本地化支持:使用
dsh-model-reasoning-levels命名空间,提供英文和简体中文界面。 - 持久化写入:编辑器通过
settings.mutate路径操作将配置写入cordis.patch.yml的reasoningEfforts字段。 - 验证与反馈:插件在写入前强制执行
@deepseek-ai/dsh-llm-pi-ai的resolveModelReasoning规则,拒绝无效选择,并打印最终的 YAML 结构和设置路径。
使用方法¶
- 进入 Settings → Models。
- 选择一个提供商,进入 Customized settings → Models。
- 在模型行中找到 Reasoning effort levels 区域。
- 选择推理强度级别:
- Off:不推理
- Minimal:最低
- Low:低
- Medium:中
- High:高
- XHigh:极高
- Max:最大
- 确认显示的 Wire value(发送给后端的实际值)。
- 使用以下按钮控制行为:
- Inherit catalog:恢复默认能力继承。
- Non-reasoning:禁用思考能力。
- Apply:应用当前选择。
技术实现细节¶
配置文件写入¶
插件将用户的选择转换为 reasoningEfforts 映射,并写入 cordis.patch.yml。写入路径为 providers.<route>.modelOverrides.<id>.reasoningEfforts。
示例配置如下:
- id: llm-pi-ai
name: "@deepseek-ai/dsh-llm-pi-ai"
config:
providers:
baidu-team:
models:
- id: deepseek-v4.1-flash
reasoningEfforts: { off: null, low: 'low', high: 'high', max: 'max' }
contextWindow: 1000000
maxTokens: 256000
input: [text, image]
name: DeepSeek-V4.1-Flash
验证规则¶
插件强制执行严格的验证规则,拒绝以下情况:
* 仅选择 off:模型无法推理时,必须使用 false,而非 { off: null }。
* 未选择任何级别:必须留空以继承。
* 非推理级别未提供 Wire value:缺少必要参数。
* 空字符串 Wire value。
* 超出定义的 7 个级别。
词汇表¶
推理强度的词汇是固定的、有序的列表:off, minimal, low, medium, high, xhigh, max。编辑器始终按此顺序输出映射。
注意事项¶
- 浏览器端组件:该插件目前仅包含浏览器端代码。宿主端(Host half)仅用于配合 Loader 行携带浏览器端代码,不包含路由、服务或配置逻辑。
- 声明式替换:用户声明的推理强度映射会替换模型的原有能力集。未声明的级别将不再被提供。
- 来源:插件托管于 GitHub icrefin/dsh-model-reasoning-levels。