dsh-plugin-todo-panel:用 Markdown 文件驱动的 DSH 右侧栏待办面板

前言

在 DeepSeek Harness(DSH)里做智能体或日常开发时,待办往往散落在笔记、聊天或单独的小工具里。不少 todo 类插件会把条目填进输入框,或维护自己的 JSON,清单很难和 git、编辑器、其他 agent 共用同一份数据源。下面介绍 dsh-plugin-todo-panel:它只认你指定的一份 markdown 清单,在 DSH 右侧栏里展示、勾选、打标签、删除,并且每次改动只改对应那一行,写回原文件。

这是什么

dsh-plugin-todo-panel 由维护者 DavidLee2026 发布,分类为客户端插件。版本 0.1.0,MIT 许可。它在 DSH 右侧栏「+」面板里提供「待办」入口,把 markdown 待办清单渲染成面板;勾选、改标签、删除都会写回该文件,一行一行地改,其余字符原样保留。设计理念是把文件当数据库:清单可进 git、任意编辑器可改、别的工具和 agent 也能直接读写。

核心功能

面板与计数

  • 顶部显示未完成件数的大数字。
  • 超过 30 天未动的条目排在前面,左侧用警示色细竖线标出。
  • 底部显示清单最后改动时间;面板每分钟自动重读一次,也可手动刷新。
  • 色值取自 DSH 主题变量,随明暗主题切换。

标签与筛选

  • 每条可打标签,写在行首,例如:- [ ] #工作 内容(记于 09-22 · 来源:周会)。
  • 顶部一排标签筛选,点选后只看该类,并显示件数。
  • 配置项 waitingPattern 默认 ^待:正文以此开头则标为「待确认」(表示在等别人回话)。

勾选、删除与撤销

  • 勾选、改标签、删除只动目标行。
  • 悬停出现删除;删除后 8 秒内可撤销。撤销靠行数核对,若清单已被他人改过则拒绝撤销。
  • 删除不做二次确认,靠 8 秒撤销兜底。

不做的事

  • 不支持多清单,一次只挂一份文件。
  • 不处理优先级,只展示「放了多少天」。
  • 单机读本地文件,无同步。

安装与启用

需要 DSH 0.2.x(README 注明实测于 0.2.0-rc.2)。插件以当前 DSH 进程权限运行,安装前建议浏览源码与 MIT 许可证。

方式一:dsh plugin

dsh plugin --profile web add github:DavidLee2026/dsh-plugin-todo-panel

在 $DSH_HOME/profiles/web/cordis.patch.yml 中为该插件配置清单路径($DSH_HOME 为 DSH 数据目录,profile 名按实际使用填写)。同 id 覆盖会整段替换 config,因此只写需要改的字段:

- id: dsh-plugin-todo-panel
  config:
    todoFile: /path/to/todo.md

若安装后右侧栏没有「待办」,重启一次 DSH;宿主侧代码需重启才生效。

方式二:手动链接(适合改代码)

ln -sfn "$PWD" "$DSH_HOME/profiles/web/node_modules/dsh-plugin-todo-panel"

并在 patch 中插入插件条目,同样配置 todoFile。

配置项

键 默认 作用
todoFile <DSH_HOME>/todo/todo.md 清单文件路径;缺失时面板会提示应配置该键
tags 工作/生活/开发/学习/其他 标签集合与颜色
waitingPattern ^待 正文以此开头标为「待确认」

典型用法:清单格式

只有 - [ ] 与 - [x] 开头的行会被当作待办。## 已完成… 等二级标题下的条目视为历史,不计入未完成数。行首 #标签 可省略;标签须在配置的集合内,否则原样留在正文。尾注 (记于 MM-DD 可省略;省略则不计天数。

示例:

## 进行中

- [ ] #工作 把这周的会议记录整理成三条结论(记于 09-22 · 来源:周会)
- [ ] 预约体检(记于 08-01 · 来源:提醒)

## 已完成(近期)

- [x] #生活 交房租(记于 09-01 · 来源:提醒)

完整示例见仓库内 examples/todo.md。

写操作通过插件 HTTP 接口完成(如 /dsh-plugin-todo-panel/api/toggle 等),需带请求头 x-dsh-plugin-todo-panel: 1,并核对行号与原文;不一致返回 409,界面自动重读,避免写错行。

适用场景与注意

适合谁: 已经在用 markdown 维护待办、希望与 DSH 右侧栏联动、且愿意把 git 与编辑器当作「主库」的开发者。

注意:

  • 写文件采用读全文、改一行、临时文件再替换,无文件锁;多写入串行队列。清单被手工编辑时,写操作可能 409,需以界面重读为准。
  • 面向 DSH 0.2.0-rc.2 的内部 slot 与 tab 接口编写;DSH 大版本升级后可能需要跟随调整。
  • 社区目录页(SkillHub)与 GitHub 为独立来源,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件是社区客户端插件之一。

结尾

dsh-plugin-todo-panel 把一份 markdown 待办清单当作唯一数据源,在 DSH 右侧栏完成日常勾选与整理,改动落盘到文件本身,便于版本管理与工具协作。

  • 目录页:https://www.skillhub.cn/plugins/DavidLee2026/dsh-plugin-todo-panel
  • GitHub:https://github.com/DavidLee2026/dsh-plugin-todo-panel
羽毛球分组比赛记分
小程序二维码

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

小夜