dsh-todo-note:会话级可拖动待办便签

前言

在 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 并刷新页面(客户端插件启动清单在进程启动时扫描)。

方式一:插件管理界面(推荐)

  1. 打开 DSH 左侧栏「插件」页面。
  2. 点「添加插件」,填入仓库 GitHub 地址或本地目录绝对路径(含 package.json 的一层)。
  3. 安装并启用 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。

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

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

Xiaoye