前言¶
在 DeepSeek Harness(DSH)里跑长任务时,模型往往会通过 todo_write 维护一份待办列表。这些内容会落在会话投影里,但默认对话界面并不专门展示「完成了多少、还剩什么、谁先完成」。要在标签栏里持续看到进度条和按完成顺序编号的条目,需要客户端插件。dsh-task-progress-tab(维护者 zebracmz)在会话视图里新增 Task Progress 标签,紧挨内置 Context 标签,把当次会话的任务列表变成只读的实时进度视图。
这是什么¶
dsh-task-progress-tab 是 DSH 的 conversation.view 类客户端插件:npm 包名 dsh-task-progress-tab,当前版本 0.1.0,许可证 MIT。它读取会话投影 todos(由 todo_write 工具维护),不往回写数据,属于只读展示层。
社区目录页:skillhub.cn/plugins/zebracmz/dsh-task-progress-tab
源码与说明:github.com/zebracmz/dsh-task-progress-tab
DeepSeek Harness 的生态理念是「一切皆插件」;skillhub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系,安装来源请自行核对仓库与许可证。
核心功能¶
下面能力均来自项目 README,无额外推断。
- 整体进度条:显示已完成数 / 总数及百分比,随模型勾选待办更新。
- 完成顺序编号:已完成项按实际完成时刻标为
#1、#2……即使模型重排计划或列表被重新生成,编号仍按首次标记为completed的顺序稳定记录。 - 未完成项展示:按模型计划顺序列出;
in_progress高亮,pending弱化显示。 - 按会话缓存:每轮开始时会清空 todo 投影的瞬时视图;插件为每个会话缓存上一份列表,避免轮次之间界面闪空。
- 中英文:随浏览器或桌面端语言切换(内置中英文)。
- 零运行时依赖:单客户端 bundle,无额外运行时包,无需构建步骤。
安装与启用¶
命令行(npm)¶
dsh plugin add dsh-task-progress-tab
从 GitHub 安装¶
dsh plugin add github:zebracmz/dsh-task-progress-tab
桌面客户端¶
打开 Plugins,搜索 dsh-task-progress-tab 安装,然后重启应用(或使用 App → Restart App and Host)。
界面位置与注册方式¶
安装后会话标签栏顺序为:
Chat | Trajectory | Context | Task Progress
插件注册在 conversation.view 插槽,order: 40,因此固定出现在 Context(order: 30)右侧。
工作原理(只读投影)¶
标签通过投影名 todos 订阅列表,结构为:
useProjection('todos') // [{ content, status: 'pending' | 'in_progress' | 'completed' }]
某条待办第一次进入 completed 时,插件为该会话分配单调递增的序号以记住完成顺序;不向 Harness 或模型写回任何状态。要看到内容,会话侧需有模型或流程在使用 todo_write 维护 todos。
兼容性与平台¶
- 需要 DeepSeek Harness 0.2.0 及以上(
package.json中engines.dsh:>=0.2.0)。 - 客户端平台为
web;浏览器与桌面构建共用同一 client bundle。
适用场景与注意¶
适合谁:希望在同一窗口里盯会话级任务进度、并区分「计划顺序」与「实际完成顺序」的 DSH 使用者。
权限与安全:插件以当前 DSH 进程权限运行,安装前请阅读 仓库源码 与 MIT 许可证,确认符合你的环境策略。
局限:无待办投影或从未调用 todo_write 的会话,标签可能为空或仅显示缓存;插件不替代任务编辑,也不保证与所有自定义工作流一致。
维护者在仓库中提供 node smoke-test.mjs,用于在校验注册元数据、计数、百分比、完成顺序稳定性、空状态、按会话回退与中英文等方面的 smoke 测试,可供二次开发参考。
结尾¶
dsh-task-progress-tab 把 DSH 里已有的 todos 投影变成清晰的 Task Progress 标签:总进度、完成序号与未完成状态一览,且不改动后端数据。需要安装或二次开发时,可查阅 社区目录页 与 GitHub 仓库。