前言¶
在 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 由应用内插件管理器独占。二选一:
- 应用内:
设置 → 插件 → 添加插件 → 从本地目录,选择仓库根目录; - 命令行(仅非 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
典型用法¶
- 安装并完全重启 DSH 后,保持
enabled: true,用默认everyNSteps: 10即可在长任务中周期性看到进度小结。 - 任务约束很强(例如「只输出 JSON」)时,可把
everyNSteps调到 20–30,或在自定义prompt里写明「汇报后原任务格式约束仍然有效」——因为注入的是role: user的消息,会进入会话历史并可能影响当步行为(README「高风险」第 2 条)。 - 排查「到底有没有注入」时,将
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。