前言¶
在 DSH(DeepSeek Harness)的开发与调试中,经常遇到模型卡住、跑偏或需要即时干预的情况。传统做法通常是等待当前回合结束,或者完全中断对话。dsh-steer 插件解决了这个问题,它允许在模型思考过程中,实时向会话注入纠偏信息或直接打断当前回合。
这是什么¶
dsh-steer 是一个 DSH bundle 插件,由 CAI-MH 维护。它通过宿主的 sessionController 编排层,提供实时引导和中断能力,让开发者能精细控制大模型的运行状态,而无需等待整个任务跑完。
核心功能¶
发送引导:不打断当前回合,将纠偏信息注入正在运行的会话。模型在下一步边界读取这些信息,保留已完成的工作。
打断:停止当前回合,但保留排队中的消息。
可视化控制:界面左下角悬浮球带状态指示点:绿点表示有会话正在思考,灰点表示空闲。插件支持自动列出并选中正在思考的会话,在多个会话并行时,用户可手动切换目标。
接口控制:提供同源 HTTP 接口进行操作。
安装与启用¶
根据核实的事实,官方安装命令为 plugin_forge_install。具体操作步骤如下:
- 将插件目录拷贝到 web profile 的
node_modules/dsh-steer/。 - 在 profile 的
package.json中注册dependencies和dsh.profile.bundles。 - 重启 DSH Desktop 以加载 bundle(bundle 需重启才被加载器扫入)。
典型用法¶
插件通过代码或 HTTP 接口与宿主交互。
代码调用示例:
* 注入引导:调用 prompt({ requestId, sessionId, mode: 'steer', content }),消息以 steering 节点进入实时收件箱。
* 排队消息:调用 prompt(..., mode: 'queue')。
* 打断会话:调用 cancel({ sessionId })。
HTTP 接口调用示例:
* 获取会话列表:
GET /api/steer/sessions
- 发送消息:
POST /api/steer/message
Body: { sessionId, text, mode? }
参数 `mode` 默认为 `steer`,失败时退化为 `queue`。
- 打断会话:
POST /api/steer/cancel
Body: { sessionId }
适用场景与注意¶
生效粒度:引导信息的生效粒度是「下一步边界」,不会打断正在流式输出的 token。若模型卡在长时间工具调用里,引导需等该步自然结束才被读取。若需立即全停,请使用「打断」功能。
权限与安全:接口为同源 HTTP,仅限本机回环 + 同源校验。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。