前言¶
在 DeepSeek Harness(DSH)里和 Agent 做多轮协作时,常见做法是翻聊天记录确认「做到哪、下一步是什么、哪些先搁着」。长期目标也容易变成一句口号,缺少可核验的阶段进度。Agent 侧则经常为了回忆上下文而复读整段对话。
Todo Note 是维护者 lp86ndlb 发布的 DSH 客户端插件:在每个会话右上角放一块可拖动的便签,把短期待办、长期规划进度和面向 Agent 的实时快照收进同一视图。状态只写本机,不联网、不上传。插件在 GitHub 上当前约 1 星;许可证为 MIT,当前发布版本 0.1.8(见仓库 package.json)。
这是什么¶
Todo Note 面向 DSH 0.2.x 用户(README 写明在 0.2.1-rc.5 上完成实测;package.json 要求 dsh 为 >=0.2.0-rc.2 <0.3.0,Node >=20.11)。它解决三件事:
- 你不必靠翻聊天来对齐焦点与优先级;
- 长期目标以阶段时间线和按权重计算的进度呈现;
- Agent 每轮 prompt 里收到最多六行的实时快照,并可通过
todo_note_*工具与你共用同一份便签。
核心功能¶
短期待办¶
现在/下一步两条焦点,分别用蓝色和琥珀色徽标标识。- 进行中任务列表;按住行上下拖动即可实时排序,顺序即优先级。
- 悬停行可「搁置 / 删除」;Agent 调用
todo_note_complete后任务进入awaiting,面板标题下方出现「已完成? ✓ ✗」,点 ✓ 才真正完成,点 ✗ 则带着rejects退回进行中。
长期规划¶
- 阶段时间线区分已完成、进行中;按阶段权重计算百分比,有未完成阶段时不显示 100%。
- 搁置任务可作为折角支线挂在所属阶段下。
记忆注入¶
- 静态使用说明(prompt order 40)+ 每会话实时快照(order 41,最多六行)。
- 你每次改待办,下一轮 prompt 里的快照会更新;会话中途加载插件时会补挂到已在运行的 agent。
交互形态¶
便签、悬浮球、详情三态;位置与形态记在浏览器 localStorage。标题栏可拖动、双击复位;便签与详情靠近视口边缘时轻微吸附,悬浮球不吸附。
安装与启用¶
要求 DSH 0.2.x,无构建步骤。安装后需重启 DSH 并刷新页面(客户端插件启动清单在进程启动时扫描)。
方式一:插件管理界面(推荐)¶
- 打开 DSH 左侧栏「插件」页面。
- 点「添加插件」,填入仓库 GitHub 地址或本地目录绝对路径(含
package.json的一层)。 - 安装并启用
dsh-todo-note,重启 DSH 后刷新页面。
方式二:命令行¶
README 给出的完整步骤为:
git clone <仓库地址> dsh-todo-note
cd dsh-todo-note
dsh plugin --profile web add "$(pwd)"
dsh plugin 不会自动登记 bundle,还需在 $DSH_HOME/profiles/web/package.json 的 dsh.profile.bundles 数组末尾追加 "dsh-todo-note",然后重启 dsh web。不确定 profile 名时可先运行 dsh plugin list。
方式三:市场索引源(DSH 0.2.1+)¶
在「插件 → 发现 → 索引源」中添加仓库 index.json,例如:
https://cdn.jsdelivr.net/gh/lp86ndlb/dsh-todo-note@main/index.json
或 GitHub Raw:https://raw.githubusercontent.com/lp86ndlb/dsh-todo-note/main/index.json。索引指向 npm 发布版,升级走 npm。
卸载¶
dsh plugin --profile web remove dsh-todo-note
并从 dsh.profile.bundles 中移除同名条目;卸载不会删除状态文件。
典型用法¶
面板操作(摘要)¶
| 操作 | 结果 |
|---|---|
标题左侧 ⊕ |
展开输入框;Enter 提交 |
| 拖动任务行 | 实时排序 |
— |
收成悬浮球 |
⤢ |
展开 / 收起详情 |
会话关联¶
每个会话有「未关联 / 已关联」状态。未关联时标题栏显示「未关联」胶囊,下一轮 prompt 会一次性提醒 Agent 用 todo_note_read 查看并用 todo_note_update 写入焦点与任务;点胶囊可向 Agent 发「现在建立关联」请求。关联建立后不再回退。
Agent 工具¶
| 工具 | 作用 |
|---|---|
todo_note_read |
读取当前会话焦点、任务、阶段、目标与最近完成 |
todo_note_update |
更新焦点、增删改任务、排序、set_plan 等 |
todo_note_complete |
将任务置为 awaiting,等用户在面板确认 |
README 约定:开工先 read,每完成一步 update;一个任务一件事;被驳回的任务先反思再提交。
配置¶
插件不注册 Schemastery 表单;可在 profile 的 cordis.patch.yml 中为条目加 config:
| 键 | 默认 | 含义 |
|---|---|---|
injectPrompt |
true |
是否注入使用说明段 |
injectSnapshot |
true |
是否注入实时快照 |
maxSessions |
80 |
磁盘保留会话数(LRU) |
statePath |
"" |
状态文件路径,空则为 $DSH_HOME/todo-note/state.json |
示例:
- id: dsh-todo-note
name: dsh-todo-note
config:
maxSessions: 30
数据、隐私与排错¶
- 任务与计划:
$DSH_HOME/todo-note/state.json(Windows 为%USERPROFILE%\.dsh\todo-note\state.json)。 - 面板位置:
localStorage的dsh-todo-note:prefs:v1。 - 只在本机读写,无外部请求、无遥测。
若 todo_note_* 可用但面板不出现,多为运行中重装未刷新启动清单,重启 DSH 再刷新即可。工具也不可用时,依次检查 package.json 依赖与 dsh.profile.bundles、插件启用状态、以及 $DSH_HOME/logs/ 下 web-*.log 中的导入错误。
适用场景与注意¶
适合需要与 Agent 共享「当前焦点 + 可排序任务 + 长期阶段计划」、又希望减少复读上下文的 DSH 用户。插件以当前 DSH 进程权限运行,安装前宜自行查看源码与 MIT 许可证。
DSH 生态主张「一切皆插件」;社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。源码与完整说明见 GitHub:lp86ndlb/dsh-todo-note。