guo-ziao/dsh-interrupt-button
Green interrupt button for DeepSeek Harness WebUI: silently stops a running agent, which then summarizes progress and asks for new requirements; customizable interrupt prompt.
已收录
0
Ui
Bundle 已验证
功能介绍
发送按钮旁的绿色打断按钮:运行时一键静默中断 AI,AI 停止后总结进展并向你征求新要求,支持自定义打断提示词。
适合
- 经常需要改动长时间运行任务方向,又不希望转录中出现伪造用户消息的用户。
- 需要同时停止工具、后台任务、终端、子 agent 或自动目标的 agent 工作流。
- 希望复用自定义打断提示,并在打断后获得进展摘要和新需求询问的团队。
不适合
- 打断主回合后仍需保留后台任务或子 agent 继续运行的工作流。
- 只需要普通消息纠偏、不需要强暂停的用户。
- 没有活动任务可打断的空闲会话;此时按钮只会打开提示词编辑器。
README
dsh-interrupt-button
A green interrupt button beside the DeepSeek Harness send box. While the agent is running, one click silently interrupts it in the background — no simulated user message appears in the transcript. The agent then stops its current work, summarizes what it has done as an assistant message, and asks you: “Do you have any new requirements or suggestions?” — waits for your reply, and merges your new requirements with the old ones before continuing.
When the agent is idle, clicking the button opens a dialog where you can customize the interrupt prompt (the model-facing instruction sent on the next interrupt), save it, or send it immediately.
Features
- 🟢 Green button in the composer tool row, right beside the send button
- ⏸ Strong pause: aborts the active turn (model request / tool calls),
kills background jobs and terminals owned by the agent, interrupts child
agents, and disarms an armed goal so automatic continuation stops; queued
messages are preserved (
keepInbox) - 💬 The agent replies as an assistant message: stops, summarizes its progress in a few sentences, and asks for your new requirements
- ✎ Customizable interrupt prompt: edit the model-facing instruction in a dialog (available when nothing is active); save it, or save & send immediately
- 🌗 Theme-aware dialog (light/dark via DSH theme tokens)
Install
dsh plugin --profile web add guo-ziao/dsh-interrupt-button
Or via npm:
dsh plugin --profile web add dsh-interrupt-button
How it works
The host half registers one loopback HTTP route (POST /dsh-interrupt-button/interrupt).
On press it performs a strong pause — agent.cancel({ kind: 'user' }, { keepInbox: true })
to abort the active turn, jobs.kill / terminals.kill for background work,
subagents.interrupt for child agents, and goals.disarm for an armed goal —
then agent.steer(...) with a plugin-source (notice form) message, so the
transcript shows a system-style context row instead of a fake user message and
the model produces the short summary and the question itself. When nothing is
active, the handler returns nothingActive and the browser half opens the
prompt editor instead.
Default interrupt prompt
The following instruction is sent to the agent when you have not customized it (short thinking, brief summary, and the exact closing question):
【用户按下了“打断”按钮】 用户刚刚按下了打断按钮,立即执行以下操作,不得继续当前任务:
- 立即停止并结束当前一切工作:停止思考、停止工具调用、停止后台任务。
- 用不超过三句话简短总结你到目前为止的进展,只讲结果,不展开过程。
- 回复的最后一句必须原样是:“你有什么新的要求和建议吗?”
- 然后停下等待用户回复;用户给出新要求或建议后,将新要求与旧要求融合,再继续工作。 不要长篇分析,直接简洁回复。
Development
npm run check # syntax-check both halves
License
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:guo-ziao/dsh-interrupt-button。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。