dsh-step-pause:长任务里按步数自动汇报进度

前言

在 DeepSeek Harness(DSH)里跑重构、补测试、多文件改动这类长任务时,轮次往往走到几十步,对话里却长时间只有工具输出。你很难判断智能体当前在做什么、已经改了什么、下一步打算什么、是否卡在权限或依赖上。自己每隔几步追问会多占回合,也容易打断节奏。

下面介绍社区插件 dsh-step-pause(维护者 cxv117793-blip):按可配置的步数间隔,在同一步里让模型先写一段进度小结再继续干活,不等你回复、也不单独多开一轮对话。

这是什么

dsh-step-pause 是 DSH 工作流类插件,当前发布版本 v0.3.0(MIT 许可证)。它挂在驱动器的 agent/pre-step 边界:每满 N 步(默认 10),向当前步骤的输入批次追加一条指令,要求模型在回复正文里说明「正在做什么 / 已完成什么 / 接下来做什么 / 卡点」,然后立刻继续原任务。

汇报内容会出现在对话里(默认隐藏注入的提示词原文,只保留模型写的进度小结)。插件在 SkillHub 目录 归类为工作流;源码与说明见 GitHub 仓库。

核心能力(与常见误解)

README 用表格概括了几点行为,装之前值得对齐预期:

关心点 实际情况
是否多一次模型调用 / 多占回合 不会。提示追加在本步输入里,汇报与后续动作在同一次响应里完成
是否会停下来等你确认 不会。没有 wait / ask 语义
长工具调用期间能否插话 不能。钩子挂在两次思考之间;例如一次数分钟的 npm test 运行期间不会汇报
子智能体是否也会报 默认不会。mainAgentOnly: true 时只在主智能体注入(v0.3.0 起读不到 header 也不注入)
对话是否会被刷爆 可用 maxReportsPerTurn 限制每轮汇报次数;默认不显示提示词原文

汇报格式由默认 prompt 约定,模型输出大致如下(README 示例):

进度小结(第 40 步):
1. 正在做什么:给设置页补上表格导出的失败重试
2. 已完成什么:定位到 retry 没有重置 backoff;改了 3 处;单测补了 2 组
3. 接下来做什么:跑全量测试,然后提交
4. 卡点:无

安装与启用

桌面版不要用 dsh plugin --profile desktop 直接改 profile——该 profile 由应用内插件管理器独占。二选一:

  1. 应用内:设置 → 插件 → 添加插件 → 从本地目录,选择仓库根目录;
  2. 命令行(仅非 desktop 的 profile):
dsh plugin --profile <你的profile> add file:<这个仓库的绝对路径>

也可使用 Releases 中的 .tgz 包。

装完后通过 文件 → 退出 完全退出再启动(不是仅刷新页面)。

兼容性(仓库声明):DSH 0.2.0-rc.2 与 0.2.1-rc.2 上实测可用;Node ^22.19.0 || >=24.0.0。

配置

两个入口共用同一表单,保存即生效、无需重启:

  • 侧边栏左下角头像 →「设置」→ 步数暂停
  • 设置 → 插件 → 分步暂停 → › → 配置
键 默认 说明
enabled true 总开关
everyNSteps 10 每多少步汇报一次(1–500)
maxReportsPerTurn 0 每轮最多汇报几次;0 为不限制
prompt 见 README 支持 {{step}}、{{every}}、{{turn}}
showPromptInChat false 是否在对话里显示注入的提示词原文
mainAgentOnly true 仅主智能体汇报

不想用配置页时,可在当前 profile 的 cordis.patch.yml 手写等价片段,例如:

- id: dsh-step-pause
  name: dsh-step-pause
  config:
    everyNSteps: 6

典型用法

  1. 安装并完全重启 DSH 后,保持 enabled: true,用默认 everyNSteps: 10 即可在长任务中周期性看到进度小结。
  2. 任务约束很强(例如「只输出 JSON」)时,可把 everyNSteps 调到 20–30,或在自定义 prompt 里写明「汇报后原任务格式约束仍然有效」——因为注入的是 role: user 的消息,会进入会话历史并可能影响当步行为(README「高风险」第 2 条)。
  3. 排查「到底有没有注入」时,将 showPromptInChat 设为 true,可在界面看到完整提示词;不影响模型是否收到指令。

适用场景与注意

适合:单会话内步骤很多、你又不想频繁手动追问的本地或 CLI profile 工作流。

成本:README 给出一次真实 1,560 步会话的实测——52 次汇报约增加总输出 token 的 4.24%;汇报频率与 everyNSteps 成反比。showPromptInChat 只影响界面显示,不改变 token 花费。

安装前请知悉:

  • 插件以当前 DSH 进程权限运行;安装前应自行查看源码与 MIT 许可证。
  • 客户端半边依赖 slots、locale、configForms 等服务;若加载失败,可能触发 DSH 前端「任一插件未 active 则整窗白屏」的行为(README 高风险第 1 条)。若只需主机逻辑、不要配置页,可按仓库说明去掉客户端半边。
  • 长工具调用或 reasoning 仍在单次请求内部时,不会出现步间汇报。

社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件是其中的进度可见性补充,而非宿主内置能力。

结尾

dsh-step-pause 用固定步数节奏把长任务的「现在在哪」写进对话正文,且不额外占用回合、不阻塞等你确认。需要试用或贡献代码时,可从目录页 skillhub.cn/plugins/cxv117793-blip/dsh-step-pause 进入,或直接打开 github.com/cxv117793-blip/dsh-step-pause。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜