前言¶
在 DeepSeek Harness(DSH)里跑 agent 时,任务往往散落在对话、笔记或外部工具里,人和 agent 各记各的,很难对齐「今天要做什么」。宿主本身不提供一套与人机共用的待办存储;若只靠对话上下文,清单既难持久化,也不方便在 UI 里勾选、排期。
下面介绍社区插件 dsh-todolist(npm 包名 dsh-sidebar-todo,侧栏显示为「待办」)。它在侧栏提供入口行和主面板页,数据落在宿主 profile 下的 JSON 文件,agent 通过 personal_todo 工具读写同一份数据。
这是什么¶
dsh-todolist 由维护者 Natte 发布,分类为客户端插件。定位是:DeepSeek Harness 的侧栏待办——管理日常工作清单,界面与 agent 共用一份 todos.json。
仓库名与 npm 包名不同:npm 防仿冒规则不允许使用与已有 dsh-todo-list 过于相似的 dsh-todolist,因此安装时使用包名 dsh-sidebar-todo;市场条目可用 GitHub 地址 Natte/dsh-todolist。当前 README 标注版本 0.2.2(含编辑弹窗、循环任务、月视图日历、分类管理)。
插件不 import 任何 @deepseek-ai/* 包,只依赖宿主运行时提供的契约(如 window.__ModuleLoader__.load、ctx.slots、ctx.webServer、ctx.tools.register 等)。数据文件与宿主升级相对独立;升级宿主后建议按 README 顺序自查:重载插件 → 侧栏打开「待办」→ agent 调用一次 personal_todo list。
核心功能¶
侧栏与主面板¶
安装完成后,侧栏「自动化任务」下方出现「待办」。点击后主面板展示清单视图,支持今天 / 本周 / 逾期 / 积压等维度(积压天数可在配置里调整)。
新建、编辑与一句话填写¶
「+ 新建」或详情列底部「编辑」打开同一弹窗:标题、备注、日期、时间、优先级、分类、重复规则。「未排期」的任务可在编辑弹窗里排期。
弹窗顶部「一句话填写」支持口语输入,例如「明天下午3点 交周报 #工作」,下方字段自动填充后再微调。日期与时间使用自绘选择器(月历快捷与时/分两列),不依赖系统控件样式。
一句话解析规则:一行只生成一条待办;句子里第一个被识别的日期生效,其余原样留在标题里。支持日期(今天/明天/后天/周X/下周X/N 天后/M 月 D 日/月底)、时间(15:00、下午 3 点、中午、半夜)、优先级(p1/p2/p3、!)、分类(#名称)。
循环任务¶
重复方式:每天 / 每周(可多选周几)/ 每月(指定几号),可设结束日期。列表里只出现本周期待完成的那一次;勾选完成的是这一次,系列本身不受影响。循环任务不进「已完成」,也不参与「积压」判定。agent 的 add / update 可传 repeat: { freq, weekdays?, monthDay?, until? };在对话里说「每周一到周五 18 点交日报」,agent 可直接建好。
日历与分类¶
页头切换到「日历」为月视图:每格最多两条,多则收成 +N;点某天在右侧查看当天安排,可勾选或「在这一天新建」。
分类来自待办里填写的分类名,非预设列表。页头「分类」可改名(已有待办批量跟随)或删除(退回「无分类」)。
agent 工具 personal_todo¶
action 可选 list / add / update / complete / confirm / delete。complete 对循环任务可传 date 指定完成哪一次;list 对循环任务标注「循环·本次 MM-DD」,occurrences 返回区间内全部实例。工具会从口语推断重复规则。
安装与启用¶
从 npm(推荐)
dsh plugin --profile web add dsh-sidebar-todo
装完侧栏出现「待办」。也可在宿主 插件 → 发现 里搜 dsh-sidebar-todo 或「待办」一键安装。
从 GitHub 源码
dsh plugin --profile web add github:Natte/dsh-todolist
适合跟最新提交或 npm 尚未发版时使用;更新按 commit 追,没有版本号。
数据与配置¶
默认数据路径:%DSH_PROFILE_DIR%/data/dsh-todolist/todos.json,普通 JSON,可直接打开、编辑、备份。示例结构:
{ "version": 1, "todos": [ { "id": "t_...", "title": "交周报", "dueDate": "2026-10-22", "done": false } ] }
文件损坏时会备份为 todos.corrupt-<时间戳>.json 并以空清单启动。
在 cordis.patch.yml 的插件行里可改:
- id: dsh-todolist
config:
staleDays: 7 # 超过多少天还没定日期算「积压」
dataPath: '' # 可选,覆盖默认数据文件路径
典型用法¶
- 侧栏点「待办」,用「+ 新建」或一句话填写创建任务,在列表里勾选完成。
- 需要 agent 代劳时,在对话中说明事项与截止时间;agent 调用
personal_todo的add/list/complete等与面板同步。 - 循环日报、周报类事项在弹窗或对话里设好
repeat,在列表里只处理当前周期那一次。 - 月视图排期:切到「日历」,点日期查看或新建当天任务。
适用场景与注意¶
适合希望在 DSH 内人机共用一份待办、又需要侧栏快速入口与日历/分类管理的开发者或日常用户。README 记录了与宿主版本的兼容性表(例如 0.2.1-rc.3 配插件 0.2.1 已验证;0.2.0 存在启动崩溃,请勿使用)。
插件以当前 DSH 进程权限运行,数据写在 profile 目录;安装前请自行查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的安全与合规要求。社区目录 SkillHub 条目 为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-todolist 把侧栏待办、持久化 JSON 与 personal_todo 工具绑在一起,让人和 agent 对齐同一份清单。安装用 npm 包名 dsh-sidebar-todo,详情与更新见 GitHub 与 目录页。