TaxolYang0000/dsh-kanban-watcher ↗★ 0
dsh-kanban-watcher
DSH ↔ Hermes 双 Agent 协作管道的看板执行侧插件:监听 Hermes kanban 队列,把任务交给 DSH Agent 在 Web GUI 会话中执行,并把结果回写看板与 done 文件。 支持会话继承([会话继承:关键词] 续接历史会话)。
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-kanban-watcher
⚠️ AI 生成代码声明:本插件代码由 DeepSeek 模型生成,未经人工审查。使用风险自负;部署前请人工审查安全关键路径(权限预设、白名单、文件写入)。
DSH ↔ Hermes 双 Agent 协作管道的看板执行侧插件:监听 Hermes kanban 任务队列,把任务交给 DSH Agent 在 Web GUI 会话中执行,并把结果回写看板与 done 文件。
- 运行环境:DeepSeek Harness(DSH)web profile 内的 Cordis 插件(常驻在 web host 进程里)
- 依赖方:Hermes Agent(Python)——负责下发任务、维护看板、接收完成通知
- 一句话:Hermes 说「去做 X」→ 看板出现任务 → 本插件唤醒 DSH Agent 干活 → 结果回写看板 + 写 done 文件通知 Hermes
适用场景
本插件解决的是同一台机器上跑两套独立 Agent(DSH + Hermes)时,任务如何跨系统交接的问题:
| 场景 | 说明 |
|---|---|
| 双 Agent 协作 | 你在 Hermes 终端下发任务(/dsh-send),DSH 在 Web GUI 里自动开会话执行,全程可见可回看 |
| kanban 看板任务队列 | 任务队列用 Hermes 自带 kanban(~/.hermes/kanban.db,board dsh),原生支持元数据、原子认领、状态机、评论、崩溃恢复 |
| 无人值守执行 | watcher 会话使用专用权限预设(danger-full-access + never),白名单落点免审批写入,不需要人工点批准 |
| 结果双端可见 | DSH 侧:执行会话永久留在 GUI 会话列表;Hermes 侧:看板评论里有结果摘要,done 文件触发外部事件注入到 Hermes 当前会话 |
不适合:单 Agent 场景(不需要看板);需要并发执行多任务的场景(v1 为串行);跨机器部署(默认假设 DSH 与 Hermes 同机、同用户)。
工作原理
Hermes 终端 DSH web host Hermes 侧
───────────── ────────────── ─────────
/dsh-send "任务" ──create──▶ 看板(kanban.db, board=dsh)
(skill) ──触发文件──▶ ~/.dsh/kanban-trigger/.trigger
│ fs.watch 事件驱动唤醒
▼
claim (原子认领)
show --json(读元数据)
agents.create(开 GUI 会话)
followup(任务) → agent 执行
│ withTimeout 硬超时兜底(600s)
▼
comment + complete --result ──▶ 看板回写(/inbox 可见)
writeDoneFile(.done) ──▶ ~/.dsh/kanban-done/.done
→ Hermes 空闲循环发现,注入当前会话
关键设计:
- 事件驱动唤醒:Hermes 创建任务后写触发文件(
~/.dsh/kanban-trigger/.trigger),插件用fs.watch监听该目录,毫秒级唤醒;另有 30s 低频兜底轮询防事件丢失。 - 原子认领防重复执行:只认领
status === "ready"的任务,claim由 kanban 保证单次;running集合防同 tick 内重复。 - 串行执行:同一时刻只执行一个任务,后续排队(v1 设计)。