DeepSeek Harness 插件

dsh-reasoning-settings

Reasoning effort settings and per-call subagent model routing for DeepSeek Harness custom providers(英文原文)

跳到安装方式

来源信息

GitHub 仓库
JuneLearn/dsh-reasoning-settings
最近更新
2026年8月16日
分类
自动化与任务
GitHub stars
6
载体类型
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/JuneLearn/dsh-reasoning-settings
插件名:dsh-reasoning-settings
作者:JuneLearn

检查来源文件

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

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

DSH 推理强度设置插件

为 DeepSeek Harness 的自定义 llm-pi-ai Provider 增加独立的“推理强度”设置页。

> 第三方服务推荐(含邀请链接) > > 如果你正在寻找支持 OpenAI 兼容接口的 API 中转服务,可以了解一下 WPIronman API 中转站。这是我的邀请链接;通过该链接注册可能会为我带来邀请奖励,具体活动规则和优惠以服务商页面为准。本插件与该服务相互独立,不要求使用任何指定中转站,请根据价格、稳定性和隐私政策自行选择。 > > 新用户可使用兑换码 99F509ABC6C38F77 兑换赠送额度。

功能

  • 自动读取官方“模型”页面已经添加的自定义 Provider 和模型。
  • 为每个模型声明 off / minimal / low / medium / high / xhigh / max 档位。
  • 支持自定义每个档位实际发送给 API 的传输值。
  • 设置 Provider 默认强度,并限制为其全部模型共同支持的档位。
  • openai-completions Provider 配置推理参数格式。
  • 使用官方 settings.mutate 接口写回 llm-pi-ai.providers.*,不接触 API 密钥。
  • 修正进程内 Subagent 只继承 Agent 创建时官方模型的问题,使其继承父会话当前实际选择的第三方 Provider 和模型。
  • 子 Agent 优先继承父会话的显式思考强度;未显式选择时,自动使用目标 Provider 配置的默认强度。
  • 当子 Agent 只指定模型名(例如 grok-4.5)时,优先在用户添加的第三方 Provider 模型中解析,而不是错误落到官方 Provider。
  • 为现有 subagentsubagent_fork 工具增加按次 providermodelreasoning_effort 参数,同时保留官方前台、后台、continuable 和结果格式。

实机演示

![推理强度设置页](./assets/reasoning-settings-page.png)

![模型与推理强度选择器](./assets/model-effort-picker.png)

安装

安装前准备

  • 安装 Node.js。DSH 当前支持 Node.js 22.19.x 或 24 及以上版本;建议直接使用 Node.js 24 LTS。Node.js 自带 npmnpx
  • 安装 Git,用于从 GitHub 仓库获取插件。
  • 安装 pnpm。两种方法都需要 pnpm,因为 dsh plugin 会在 profile 目录中调用 pnpm 安装或移除插件。
  • 网络需要能够访问 registry.npmjs.orggithub.com。若当前网络无法稳定访问 npm 或 GitHub,需要先使用可用的网络代理(也常被称为“科学上网”)。
  • 方法一不需要 DeepSeek Harness 源码;方法二还需要准备好该源码仓库。

可先检查环境:

node --version
npx --version
git --version
corepack enable
pnpm --version

如果 corepack enable 因权限不足失败,请用管理员身份打开 PowerShell 后再执行一次。也可以根据 pnpm 官方安装说明选择其他安装方式。

如果下载一直停在旋转符号、出现 ECONNRESETETIMEDOUT 或 GitHub 连接失败,可在当前 PowerShell 窗口临时设置代理。下面的 7890 只是示例,请改成你自己的代理端口:

$proxy = "http://127.0.0.1:7890"
$env:HTTP_PROXY = $proxy
$env:HTTPS_PROXY = $proxy
$env:npm_config_proxy = $proxy
$env:npm_config_https_proxy = $proxy

这些环境变量只对当前 PowerShell 窗口有效,关闭窗口后不会继续生效。

方法一:使用 npx(普通用户推荐)

不需要克隆 DeepSeek Harness 源码,也不需要全局安装 dsh,但仍需先准备好 Git 和 pnpm。首次运行时,npx 会下载 @deepseek-ai/dsh 及其依赖,因此可能需要几分钟:

npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add github:JuneLearn/dsh-reasoning-settings

安装完成后,用同一种方式启动 Web:

npx --yes -p @deepseek-ai/dsh dsh web

方法二:使用 pnpm 和 Harness 源码(开发者推荐)

这种方法适合已经克隆 deepseek-harness、希望直接运行源码的人。先确认 pnpm 可用:

pnpm --version

进入 DeepSeek Harness 源码根目录。第一次使用源码时先安装依赖,然后安装插件:

cd D:\deepseek-harness
pnpm install
pnpm dsh plugin --profile web add github:JuneLearn/dsh-reasoning-settings

以后从该源码目录启动 Web:

cd D:\deepseek-harness
pnpm dsh web

包内的 dsh.bundle 声明会让 DSH 自动把插件加入 Web profile;两种安装方式都不需要手动编辑 cordis.patch.yml。Web 默认使用 http://127.0.0.1:3080;只有该端口已被占用,或显式传入其他端口时,才会使用不同端口。

升级

再次执行对应的安装命令即可升级,无需先卸载,也无需手动维护 profile patch。

npx 方式:

npx --yes -p @deepseek-ai/dsh dsh plugin --profile web add github:JuneLearn/dsh-reasoning-settings

pnpm 源码方式:

cd D:\deepseek-harness
pnpm dsh plugin --profile web add github:JuneLearn/dsh-reasoning-settings

卸载

npx 方式:

npx --yes -p @deepseek-ai/dsh dsh plugin --profile web remove dsh-reasoning-settings

pnpm 源码方式:

cd D:\deepseek-harness
pnpm dsh plugin --profile web remove dsh-reasoning-settings

DSH 会同时移除依赖和 bundle 层;重启 dsh web 后,「设置」中的「推理强度」页即被移除。

使用

1. 先在官方“模型”页面添加自定义 Provider 和模型。 2. 打开“设置” > “推理强度”。 3. 为每个模型选择支持的档位,并设置 Provider 默认强度。 4. 点击该 Provider 下方的“保存”。 5. 新建会话,在模型选择器中选择模型和推理强度。

插件只声明 Harness 可以选择和发送哪些推理档位。中转 API 是否真正支持对应值仍由中转服务决定;若请求返回 HTTP 400,请取消该模型不支持的档位或修改传输值。

Subagent 路由与思考强度

插件的服务端入口会修正 Harness 0.1.0-rc.5 中进程内 subagentsubagent_fork 和 Workflow 子 Agent 的模型继承:

1. 子 Agent 显式指定、且不同于父 Agent 创建时路由的 provider + model 时,保持显式路由不变。 2. 只指定模型名时,在官方“模型”页面中由用户配置的第三方 Provider 内查找;同名模型优先使用父会话当前 Provider。 3. 未指定子模型时,继承父会话当前实际使用的 Provider 和模型,而不是 Agent 创建时的官方默认模型。 4. 子 Agent 已有显式思考强度时保持不变;否则仅在目标路由和父会话相同时继承父会话强度。 5. 仍未获得显式强度时不强行注入参数,由 llm-pi-ai 使用该 Provider 的 reasoning 默认强度。

插件还会在每个活跃 Agent 范围内增强原有 subagentsubagent_fork 工具。原参数完全保留,新增三个可选字段:

  • provider:精确的已配置 Provider ID;
  • model:属于该 Provider 的精确模型 ID;
  • reasoning_effort:可选 off / minimal / low / medium / high / xhigh / max

providermodel 必须同时传入;两者都省略时保持普通继承逻辑。选择了不同路由但未传 reasoning_effort 时,使用目标 Provider/模型配置的默认强度。工具说明会列出准确可选组合,并要求父模型在用户指定其他 Provider/模型时真正发起委派,不能由当前模型直接代答。

不要在存在多个精确 ID 时只说“5.6 模型”。例如某 Provider 同时有 gpt-5.6-solgpt-5.6-terra,应明确要求:

调用 subagent,provider=wpironman-gpt,model=gpt-5.6-terra,
reasoning_effort=max,写一篇百字随机小作文。

如果指定组合和当前路由相同,子 Agent 当然仍会使用相同模型,因此回答风格看起来也会相同。可靠的核验点是结构化工具调用参数及子会话持久化的 request/header,而不是让模型自报身份。

按次指定只作用于 Harness 内部进程内子 Agent。独立进程的 Codex、Claude Code、ACP 使用各自的模型配置。Workflow 继续使用自身 phase 的结构化 provider/model 字段;未指定 phase 目标时仍可受益于本插件的继承修正。

可在插件挂载配置中关闭或细调服务端修正:

- insert:
    - id: ui-settings-reasoning
      name: dsh-reasoning-settings
      config:
        subagentRouting: true
        inheritRoute: true
        resolveModelOnly: true
        inheritReasoning: true

所有选项默认均为 true;设置 subagentRouting: false 可完全关闭 Subagent 修正。

兼容性

基于 DeepSeek Harness 0.1.0-rc.5 的公开双端插件、设置槽、settings.mutate、Agent 作用域工具覆盖、Agent 生命周期和 agent/request waterfall 接口开发。Harness 仍处于 Developer Preview;升级后若插件未加载或子 Agent 路由异常,请先检查上述接口及 Subagent 会话元数据是否发生变化。