dsh-sidebar-todo: DSH Sidebar Todo and Agent Read/Write List

前言

在 DeepSeek Harness(DSH)里做日常开发或跑 agent 时,任务往往分散在对话、笔记和外部工具之间:侧栏没有统一入口,agent 也很难稳定读写同一份待办。宿主自带能力通常不负责「个人清单 + 日历 + 随手便签」这一整套 UI,也不保证对话里说的「明天交周报」能落到可勾选、可排期的数据上。

下面介绍社区插件 dsh-sidebar-todo(维护者 Natte,分类:客户端)。它在侧栏增加「待办」入口与主面板页,数据保存在本机 JSON,宿主侧持久化;同时注册 personal_todo 与 personal_note 工具,让 agent 与用户共用一份数据。

这是什么

仓库、npm 包与插件标识统一为 dsh-sidebar-todo,侧栏显示名称为「待办」。简介与 README 一致:DeepSeek Harness 的侧栏待办插件,提供清单、循环任务、月视图日历与便利贴;数据在本机一个 JSON 文件中,agent 通过工具读写同一份。

已发布 npm:https://www.npmjs.com/package/dsh-sidebar-todo
目录页:https://www.skillhub.cn/plugins/Natte/dsh-sidebar-todo
源码:https://github.com/Natte/dsh-sidebar-todo

当前 package 版本为 0.3.1(README 正文仍以 0.3.0 功能说明为主,含编辑弹窗、循环任务、月视图日历、分类,以及 0.3.0 新增的便签、筛选与已结束循环组)。许可证 MIT。

核心功能

清单与分组

列表按状态分为八组:逾期 → 今天 → 明天 → 本周 → 以后 → 积压 → 未排期 → 已完成。已完成记录可按「今天 / 本周 / 本月」筛选。窗口较宽时,右侧详情列吸收余量(宽度约 320–520px)。

新建、编辑与一句话填写

「+ 新建」或详情列「编辑」打开同一弹窗:标题、备注、日期、时间、优先级、分类、重复规则。弹窗顶部「一句话填写」支持例如「明天下午3点 交周报 #工作」,自动解析字段后再手动微调。日期与时间为自绘选择器,不依赖系统控件样式。

循环任务

重复方式:每天 / 每周(可多选周几)/ 每月(指定几号),可设结束日期。列表只显示本周期待完成的一次,勾选完成后该行消失,下一周期再出现。循环任务不进「已完成」、不参与「积压」判定;结束日期已过的系列收进「已结束」折叠组(默认收起),延长 until 可回到正常分组。

日历与分类

页头可切到「日历」月视图:每格最多两条,超出显示 +N;点某天在右侧查看安排、勾选或「在这一天新建」。分类不预设,来自待办中的分类名;页头「分类」可改名(已有待办批量跟随)或删除(退回无分类)。

便签与筛选

详情列下方有便利贴坞:无日期、无完成状态,不参与分组统计;单条上限 500 字,可转待办或删除。页头「筛选」按分类与优先级过滤,与搜索词叠加;筛选不持久化,刷新复位。

agent 工具

  • personal_todo:list / add / update / complete / confirm / delete;支持 repeat、循环完成指定 date,以及 list 的 category、priority、view(含 ended 查已结束循环组)。
  • personal_note:add / list / delete;用于无排期、无提醒的随手记。需要日期或完成态时用 personal_todo,用户只说「记一下」且不要求时间时用 personal_note。

安装与启用

推荐从 npm 安装(命令来自 README):

dsh plugin --profile web add dsh-sidebar-todo

装完后侧栏「自动化任务」下方出现「待办」。也可在宿主「插件 → 发现」中搜索 dsh-sidebar-todo 或「待办」一键安装。

若需跟踪 GitHub 最新提交或 npm 尚未发版,可使用:

dsh plugin --profile web add github:Natte/dsh-sidebar-todo

宿主版本由 engines.dsh 声明为 >=0.2.1-rc.2 <0.3.0-0;落在区间外会安装失败。README 记录与 0.2.1-rc.5 的兼容性走查见仓库 docs/notes/testing.md。

可选配置写在 cordis.patch.yml 对应插件行的 config 下:

- id: dsh-sidebar-todo
  config:
    staleDays: 7   # 超过多少天还没定日期算「积压」
    dataPath: ''   # 可选,覆盖默认数据文件路径

数据文件与典型用法

默认路径为 %DSH_PROFILE_DIR%/data/dsh-todolist/todos.json,结构示例:

{
  "version": 1,
  "todos": [ { "id": "t_...", "title": "交周报", "dueDate": "2026-10-22", "done": false } ],
  "notes": [ { "id": "n_...", "text": "周五带门禁卡" } ]
}

文件损坏时会备份为 todos.corrupt-<时间戳>.json 并以空清单启动。注意:notes 为 0.3.x 顶层字段;若回退到 0.2.x 再改待办,旧版本写盘可能丢失便签,回退前应复制 todos.json。

典型交互包括:在面板中分组浏览与勾选;在日历格点选某天排期;对话中说「每周一到周五 18 点交日报」,由 agent 通过 personal_todo 的 repeat 创建循环任务;便签用 personal_note add 写入同文件中的 notes。

适用场景与注意

适合需要在 DSH Web 侧栏固定入口、又不想把待办绑死在单一 SaaS 的用户:数据在 profile 目录,便于备份与 diff。agent 开发者可在同一 JSON 上实现「对话建任务、面板确认」的闭环。

安装前建议自行查看 GitHub 源码与 MIT 许可证。插件以当前 DSH 进程权限运行,读写 profile 下数据文件;不 import @deepseek-ai/* 包,依赖宿主运行时契约(侧栏槽位、HTTP 路由、工具注册等)。升级宿主后 README 建议顺序:重载插件(关再开)→ 侧栏打开「待办」→ 让 agent 调用一次 personal_todo list。

DSH 生态理念是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本文介绍的是社区维护的客户端插件,而非官方应用商店条目。

结尾

dsh-sidebar-todo 把侧栏入口、主面板(清单、日历、分类、便签、筛选)与本机 todos.json 绑在一起,并通过 personal_todo / personal_note 暴露给 agent。若要安装或看变更记录,可访问目录页 https://www.skillhub.cn/plugins/Natte/dsh-sidebar-todo 与仓库 https://github.com/Natte/dsh-sidebar-todo(含 CHANGELOG 与测试说明)。

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

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

Xiaoye