dida-todo:以滴答清单为真源的 DeepSeek Harness 插件

在 DSH 中开发 Agent 时,会话中断(如模型返回 content_filter、限流或崩溃)会导致进度丢失。且 Agent 需要一个持久化的任务真源来承接跨轮或跨会话的工作。dida-todo 插件提供了解决方案,它将滴答清单作为任务真源,支持 Agent 自动领取、执行与进度回写,并处理 dsh 会话中断后的自动续跑。

是什么

dida-todo 是一个由 ztllll 维护的 DSH 插件。它同时是 Pi 扩展和 dsh 插件组合包,核心是将滴答清单作为任务真源。它保留了 dsh 自带的 todo 工具与 /todos 命令,支持双向同步、提醒、强制人类验收闭环,以及 dsh 会话中断自动续跑。

核心功能

  • 滴答清单作为任务真源:所有任务状态以滴答清单为准。
  • Agent 自动领取任务:Pi 空闲时自动领取未完成的任务,或通过输入“检查todo”立即执行。
  • 强制人类验收闭环:任务完成后自动生成“🧑‍🔬 待验收”任务,防止 Agent 自作主张完成任务。
  • dsh 会话中断自动续跑:当回合以错误或崩溃结束且会话还有未完成工作时,插件会尝试自动续跑。
  • 保留原有工具:插件只新增 todo / todo_work 两个工具,不覆盖、不禁用 dsh 自带的 todo_write 与任务面板。
  • dsh goal 复活与转人工挂起:接管 dsh goal 驱动器,遇到中断可尝试复活;若连续失败则转为人工挂起。

安装与启用

  1. 在 DSH Web 界面侧栏点击「插件 → 添加插件」,填写:
    github:ztllll/dida-todo#v0.9.1
或通过命令行安装:
    dsh plugin --profile web add "github:ztllll/dida-todo#v0.9.1"
  1. 安装后刷新或重启 dsh-web 生效。
  2. 卸载插件不会影响 dsh 原有功能,插件只新增一行插件和两个工具。

典型用法

  1. 绑定清单:在 Pi 中执行 /dida-bind [清单名称]。唯一同名清单会被直接绑定,不存在则按输入名称创建。
  2. 创建任务:人在滴答清单记录任务并设置优先级(低/中/高),该任务不会立即执行,需 Agent 领取。
  3. Agent 执行:Pi 空闲时会自动领取任务;或直接输入“检查todo”立即执行。
  4. 进度与验收:Agent 按 Checklist 执行,每步结果写成滴答评论。全部完成后,顶层任务自动完成,并生成“🧑‍🔬 待验收”任务(+3/+6 分钟提醒)。
  5. 人工介入:若需人工确认,Agent 会调用 todo_work wait_for_human,将任务优先级清零,并新建 🙋 需要你处理 提醒。
  6. 恢复挂起:恢复方式为在滴答将原任务优先级改回低/中/高,或对 Agent 说“继续”。

适用场景与注意

  • 适用场景:需要长期追踪的任务、跨轮/跨会话的代码变更、需要人工验收的自动化流程。
  • 注意事项:
    • 滴答官方 API 没有附件接口,文件请走 IM 通道。
    • 滴答子项没有“进行中”状态,只在 Pi 面板显示。
    • 同一台机器并发写有跨进程锁,多台机器无强一致保证。
    • 只针对滴答清单,不保证 TickTick 国际版。
    • 与 rpiv-todo 冲突,需先禁用。
    • Pi --mode rpc 客户端只渲染字符串,看不到面板。
    • dsh 续跑计数在内存中,重启后清零。

dida-todo 旨在解决 Agent 工作流中断与任务持久化问题,通过滴答清单作为真源,实现人机协作与任务闭环。更多详情可查看项目主页或源码仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜