DSH Plugins
返回列表
⚙️

cordis-plugin-tool-deadline-guard

工作流 更新于 2026.10.12

在终端中运行以下命令:

dsh plugin install argszero/cordis-plugin-tool-deadline-guard

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install argszero/cordis-plugin-tool-deadline-guard,或在 cordis.yml / profile bundle 中参考 https://github.com/argszero/cordis-plugin-tool-deadline-guard 合并 cordis.patch.yml 完成安装。

插件介绍

在 DeepSeek Harness 里,工具若在 defineTool 时省略 timeoutMs,核心超时策略会直接放行——不会挂定时器、不会发信号,也不会给出诊断。长周期任务里,子代理永不结束、跨网络的 MCP 工具迟迟不返回时,界面往往只是一直显示「运行中」,而模型流式调用至少还有空闲看门狗会提示停滞;工具侧一旦卡住,沉默就是典型症状。

cordis-plugin-tool-deadline-guard 挂载在 tools/execute 与 tools/pre-execute 两条公开接缝上:为未声明预算的工具补上可配置的默认时限(开箱默认十分钟),并通过 AbortSignal 与核心策略一致地交给工具;超时后返回部署方可识别的 TOOL_DEADLINE_EXCEEDED,与工具自带 timeoutMs 触发的 TOOL_TIMEOUT 区分开。0.2.0 起还覆盖派发前阶段——例如 pre-execute 里某监听器无限等待会让整会话所有调用排队,此时用 TOOL_PRE_EXECUTE_DEADLINE_EXCEEDED 明确「体尚未执行」,便于与执行中超时区分。

支持 auto / observe / off、按工具名覆盖、豁免列表、applyTo 与 cooperative / replace 等模式;需知这是协作式截止,默认不抢跑,拒不响应 signal 的工具仍可能拖住包装器,顽固工具可列入 exempt 或选用 replace 以先结束轮次。

适合在默认 profile 上跑子代理、终端、MCP、工作流等大量未声明 timeoutMs 工具的团队,以及曾遇到「长任务无输出却一直在转」、或 git 检查点等 pre-execute 路径拖死会话的部署者;希望用一条 mount 给「未声明预算」和「派发前挂起」补上统一、可观测的上限时,值得启用。

使用场景

  • 子代理或终端类工具长时间不返回,界面一直显示运行中却无报错
  • 大量工具未在 defineTool 中声明 timeoutMs,希望部署层统一加上默认时限
  • pre-execute 监听器(如快照队列)卡住,导致后续所有工具调用都无法进入执行体

适合人员

  • 在默认 DSH profile 上跑子代理、MCP、文件系统等工作流的用户
  • 需要区分「部署截止」与工具自带 TOOL_TIMEOUT 的运维或平台同学
  • 遇到过长周期任务无输出停滞或 pre-execute 挂起问题的 Harness 使用者