前言¶
在 DeepSeek Harness(DSH)里接模型做任务,常见做法是一次性列很多待办,让会话并行或批量执行。题目一多,容易出现每项只做一半、需要你逐个盯着收尾的情况。社区插件 dsh-todo-queue(维护者 This-is-XiaoDeng)把执行收成串行队列:每个队列同一时刻最多一个会话在跑,空闲自动派发下一条,本轮结束进入待验收,你可在面板或会话浮窗里验收或写修改建议退回。调度在 Host 端完成,不依赖浏览器标签常开。下面介绍它的定位、能力、安装与用法。
这是什么¶
dsh-todo-queue 是 DSH 的串行 TODO 队列板(npm 包名 dsh-todo-queue,当前资料中版本 0.1.1,许可证 MIT)。分类上属于工作流类扩展;侧栏显示名为「TODO 队列板」。
一句话:全局队列与每个工作区队列各自最多运行一个会话,队列空闲时自动派发;控制面板是独立主页面(PC / 移动端自适应),待验收会话内带快捷浮窗。
与「一次性塞十条给 AI」相比,它强调一条队列一项在执行、做完再下一项,并在每轮结束后强制经过用户验收,而不是直接算完成。
核心功能¶
资料中确认的能力如下。
两条队列¶
| 绑定 | 队列键 | 行为 |
|---|---|---|
| 全局 | global |
绑到全局的待办共用一条队列,跨工作目录串行 |
| 工作区 | workspace:<绝对路径> |
每个工作目录一条队列;不同目录可同时各跑一个会话 |
队列状态由待办状态推导:有 running 则忙;否则按板上顺序取第一条 pending 派发。派发失败则该条为 failed,队列继续尝试后续项,不会整条卡死。
待办生命周期¶
pending ──派发──▶ running ──本轮结束 / AI 标记 done──▶ review
▲ │
│ 用户写修改建议并退回 │
└──────────────────────────────────────────────────────┘
│
用户完成验收 ▼
accepted
- pending:排队,队列空闲即自动开始。
- running:已创建或复用会话并发出提示词。
- review:本轮结束,等验收;打开对应会话可见浮窗。
- accepted:已验收,可重新排队或删除。
- failed:派发或启动失败,卡片上有错误,可重试。
退回时(review → pending),建议写入 feedback;下次派发尽量复用原会话做 followup,否则新开会话并在提示词中带历史建议。
同目录占用与等待¶
同一工作目录里,若除队列正在驱动的那一个会话外,还有其它 running 会话(你的聊天或其它插件),队列会等待,卡片可显示「等待 N 个其他会话空闲」;占用结束后 Host 通过 agent/status 触发调度,无需手动点继续。这是等待而非报错。
界面与 Host 调度¶
- 侧栏「TODO 板」打开独立主页面:统计、左列全局队列、右列工作区队列(多工作区用标签切换)。
- 打开
review状态绑定的会话时,右下角浮窗支持:完成验收、修改建议并退回待运行、打开面板。 - 调度器与队列逻辑在 Host 半边(
lib/index.js);关浏览器标签仍可继续派发。浏览器通过/dsh-todo-queue/api读写快照。
模型工具 todo_queue¶
| action | 说明 | 审批 |
|---|---|---|
list |
查看全部队列和状态 | 否 |
add |
新增待办(默认当前会话工作目录) | 是 |
done |
把当前会话正在跑的待办标为待验收 | 否 |
note |
追加/修改备注 | 是 |
写操作在 tools/pre-execute 层走 DSH 原生审批框。
持久化路径:${DSH_HOME}/todo-queue/board.json。
运行环境要求(来自 package.json):Node >=22.19.0,DSH >=0.2.1-rc.5。
安装与启用¶
推荐从 npm 安装(版本经发布校验):
dsh plugin --profile web add dsh-todo-queue
也可从 GitHub 跟踪 main 最新提交:
dsh plugin --profile web add github:This-is-XiaoDeng/dsh-todo-queue
安装后若 profile 未启用 live 重载,需重启一次 dsh web。卸载:
dsh plugin --profile web remove dsh-todo-queue
若曾使用旧包 dsh-todo-board,同一 profile 内请只保留一个:先 dsh plugin --profile web remove dsh-todo-board 再装本插件。旧数据仍在 ${DSH_HOME}/todo-board/board.json,本插件不会覆盖,可按需手工迁移标题与备注。
典型用法¶
README 建议的本地验证顺序可作为上手路径。
- 安装插件(开发可用
dsh plugin --profile web add link:<repo>)。 - 在面板新建一条会很快结束的待办,例如标题写「只回复 OK」。
- 观察自动派发 → 进入待验收。
- 打开该会话,确认浮窗出现;试一次「修改建议 → 退回待运行」,再看下一轮是否带着建议派发。
日常可在面板新建待办时选择「运行目录」(当前会话目录、已知工作区或手动输入其它目录)。模型侧可用 todo_queue 的 list / add / done / note 与面板配合;add 与 note 会弹出审批。
适用场景与注意¶
适合谁:需要把 AI 任务排成队列、一项接一项执行,且每轮要人工验收或退回修改的 DSH 用户;多工作区希望各目录一条队列、全局任务单独串行的场景。
当前限制(README 明确列出):暂无定时执行、图片附件、拖动排序;工作区以绝对路径为准,目录删除后队列可能停在错误上需改目录或删待办;进程重启后旧会话不可复用时开新会话,提示词保留建议但不保留完整旧上下文;占用判断按目录,父/子目录里的其它会话不算占用。
安全与权限:插件以当前 dsh 进程权限运行,可读写 ${DSH_HOME}/todo-queue/board.json 并通过 Host 创建会话。安装前应查看 源码仓库 与 MIT 许可证,确认符合你的环境策略。API 路由受与 DSH 相同的 Host/Origin 信任围栏约束。
DSH 生态秉承「一切皆插件」;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-todo-queue 用串行队列和待验收步骤,把「多件待办」收成可自动派发、可退回修改的一条流水线;全局与工作区双队列、Host 端调度与独立面板是其主要结构。进一步了解可看社区目录页与 GitHub README:
- 目录页:https://www.skillhub.cn/plugins/This-is-XiaoDeng/dsh-todo-queue
- 仓库:https://github.com/This-is-XiaoDeng/dsh-todo-queue