@doiiarx/dsh-todo-continuation
Manifest validTodo-backed turn-stop gate and prompt plugin for DeepSeek Harness: blocks stop on unfinished work and prompts on no-todo or stale-todo streaks, configurable in the settings page.
dsh-todo-continuation
DeepSeek Harness(DSH)的 Todo 门禁与提示插件:在 agent/turn-stopping 边界依据
当前 turn 的最新 todo/write 快照决定是否放行结束,并对「长期不用 Todo」和
「长期不更新 Todo」给出建议性提示。三个阈值均可在 Web 设置页配置,保存后下一轮
立即生效。
本插件属于 dsh-plugins 合集, 完整的自研插件索引见该仓库。
功能
- 停止门禁:当前 turn 存在未完成、且不以「等待用户」前缀开头的 todo 时, 注入一条继续消息,让模型在同一 turn 内继续推进,而不是带着未完成项结束。
- 无 Todo 提示:连续
noTodoPromptEveryNTurns(默认 5)轮没有任何 todo 快照时, 提示模型用todo_write规划与跟踪工作。 - 过期 Todo 提示:已有 todo 列表却连续
staleTodoPromptEveryNTurns(默认 20) 轮不更新时,提示模型保持列表最新。
插件绝不创建、删除、完成或改写 Todo——列表的唯一作者仍是模型。门禁只把关「能否 结束」,两条提示都是建议性的(不阻止结束),且各自每间隔最多触发一次,避免每轮 催促。
组成
index.js(宿主端):注册todo-continuationsettings 命名空间,监听agent/turn-stopping,实现门禁与两条提示。零外部依赖,schemastery在apply()里动态 import,失败降级为诊断日志。client.js(浏览器端):在设置页渲染「Todo 门禁」小节,编辑三个字段。cordis.patch.yml:声明dsh-todo-continuation插件行。package.json:@doiiarx/dsh-todo-continuation包清单,声明dsh.client注入与schemastery依赖。
安装接线
插件目录需要装依赖(宿主端在 index.js 里 import('schemastery')):
cd <本插件目录>
pnpm install
1. 挂进 web profile
在 $HOME/.dsh/profiles/web/package.json:
{
"dependencies": {
"@doiiarx/dsh-todo-continuation": "link:<本插件目录绝对路径>"
},
"dsh": {
"profile": {
"bundles": [
"@doiiarx/dsh-todo-continuation"
]
}
}
}
然后在 profile 目录 pnpm install。
2. 把命名空间暴露给浏览器设置页
浏览器的设置页要读到 todo-continuation 命名空间,必须把它加进宿主 apiproxy 的
设置白名单 WEB_SETTINGS_NAMESPACES(packages/host/apiproxy/src/api-proxy.ts):
否则设置页会一直显示「正在读取配置…」(命名空间未暴露给客户端)。
const WEB_SETTINGS_NAMESPACES = [
'agent-loop', 'shell', 'locale', 'permission', 'ui-conversation', 'ui-theme', 'web-search-deepseek',
// ...本地插件命名单...
'todo-continuation',
] as const
改完重 build apiproxy(pnpm run build:lib:host)并重启 web 进程。
配置
在设置页「Todo 门禁」小节可编辑:
| 字段 | 默认 | 含义 |
|---|---|---|
waitingTodoPrefixes | 信息不足:、要求用户确认: | 未完成项以此开头时视为「等待用户」,允许结束 |
noTodoPromptEveryNTurns | 5 | 连续多少轮无 Todo 后提示开始使用 |
staleTodoPromptEveryNTurns | 20 | 已有 Todo 却连续多少轮不更新后提示保持最新 |
说明
- 门禁消息来源为
{ kind: 'plugin', plugin: 'todo-continuation' },注入的user/message可从会话日志重建。 - 用户的取消(
agent.cancel)与终态 turn 错误在停止边界前中止,绝不会被门禁 覆盖——取消仍是「模型永远不完成时结束该 turn」的唯一逃生口。 - 若同时以多行挂载本插件(如 base bundle + agent preset),会注册多个监听器并 可能在一个停止边界入队多条消息;每个组合只挂载一次。
Comments
Loading…
From the same category
by ccch1mneyyy
DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rol
★ 4.2k
↓ 14.5k/wk
MIT
TypeScript
Oct 9, 2026
dsh plugin --profile terminal add @deepseek-harness-tui/dsh-tuiby strukto-ai
The World's First Virtual Terminal for AI Agents
★ 3.7k
↓ 393/wk
Apache-2.0
TypeScript
Oct 9, 2026
dsh plugin --profile agent add @struktoai/mirage-dshby bowenliang123
The best DeepSeek Harness plugin for context insight and management, with context dashboard / browser / sidebar and context command, for context statistics, composition, breakdown, evolution details,
★ 1.9k
↓ 39k/wk
Apache-2.0
TypeScript
Oct 9, 2026
dsh plugin --profile web add dsh-contextby huiliyi37
官方 DeepSeek Harness 的交互式终端 UI 插件:自研 ANSI 极简交互渲染、流式 Markdown/工具卡、16+ 主题、slash 命令与选择器、输入历史与本地偏好持久化、LSP 诊断、memory记忆,很丝滑的开发体验。
★ 286
↓ 630/wk
Apache-2.0
TypeScript
Sep 30, 2026
dsh plugin --profile terminal add @huiliyi37/dsh-tianshu-tuiby Hilbert-beinghappy
面向 DeepSeek Harness 的 Claude Code 风格终端界面,支持 Windows、macOS 与 Linux,兼容透明终端、VS Code 主题和自定义配色。
★ 197
↓ 108/wk
MIT
TypeScript
Oct 1, 2026
dsh plugin --profile web add seekttyby T-Auto
deepseek-harness Plugin Access and Implementation Standards / deepseek-harness交互生态插件规范与实施标准
★ 84
MIT
JavaScript
Oct 3, 2026