dsh-steering-interrupt
在终端中运行以下命令:
dsh plugin install ExboCooope/dsh-steering-interrupt
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install ExboCooope/dsh-steering-interrupt 即可安装本插件,源码仓库:https://github.com/ExboCooope/dsh-steering-interrupt
插件介绍
在 DSH 里,你常常会在 agent 还在等某个工具返回时插一句话——界面已经显示「插言」,但 loop 往往要到当前步骤真正结束、工具 promise 落地后,才会在下一步边界去读 next-step 收件箱。长命令、网络请求或子代理等待因此会把你的纠偏和补充意见硬生生拖在后面,手感就像「说了也没人听」。
dsh-steering-interrupt 在 tools/execute 外包一层:为每次派发融合上游与本插件的 AbortSignal,并监听会话里指向 next-step 的插言类收件箱事件。对在途且已超过 minElapsedMs 的调用发出协作式取消;工具若尊重 exec.signal 会提前返回,步骤随即结束,模型在下一轮立刻读到你的话。被中止的调用会以 TOOL_INTERRUPTED_BY_STEERING 明确告知「没跑完、结果未知」,避免模型把半截结果当真。
取消是协作式的——只发信号、不 race 工具 promise,和超时策略同类;忽略信号的工具仍会等完。插言只打断工具调用,不会取消 LLM 流式响应;排队到 next-turn 的 followup 按设计不打断。可通过 sourceKinds 与 exclude 控制哪些来源触发、哪些命令类型(如 shell、写入)豁免。
适合经常在工具阻塞期间用插言纠偏、又不想干等整段超时的用户;若你主要依赖「本轮结束后再处理」的 followup,或需要硬杀进程,这个插件的定位是「尽快让 agent 读到插言」,而非替代轮次级 cancel。
使用场景
- 工具还在跑长命令时你想立刻插话纠偏
- 子代理或等待类任务阻塞时插言迟迟不被读到
- 希望插言在步骤边界前触发而不是干等工具返回
适合人员
- 经常在工具等待期间用插言调整 agent 的 DSH 用户
- 需要可配置排除 shell/写入类命令的工作流维护者
- 关心插言与 next-step 收件箱时序的插件与集成开发者