前言¶
在 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。