在 DeepSeek Harness (DSH) 的插件生態中,開發者常需要在對話流與外部工具之間切換。DSH 採用插件化架構,插件 dsh-notes 旨在解決這一痛點。它提供一個常駐在側欄與對話區之間的全高豎欄,作爲輕量級筆記與待辦工具,支持全局與工作區兩種作用域,且數據持久化。
功能特性¶
該插件在側欄與對話區之間佔據常駐豎欄(頂欄之下全高),並提供以下能力:
- 常駐會話卡片:上半部分爲獨立對話區,支持消息列表、流式顯示、發送/停止,以及預設與模型配置。該卡片獨立於任何工作區,狀態保存在
~/.dsh/session-card.json。 - 上下分區:分隔條可拖拽調整會話卡片與小計的比例,比例持久化。
- 作用域支持:
- 全局小記:不分工作區,跟隨用戶。
- 工作區小記:以工作區爲單位隔離,跟隨當前工作區。
- 待辦區:支持分點添加、勾選/取消、雙擊打開詳情卡片(標題+描述)、刪除、清空已完成、置頂、拖拽排序、撤銷刪除(5秒內)。
- 隨記區:自由多行文本,支持防抖輸入與失焦自動保存。
- Agent 隔離:小計內容對模型完全不可見。數據僅存於獨立存儲域,不註冊任何模型工具,不進提示詞,不寫會話日誌。常駐會話是獨立聊天通道,與 notes.json 互不相通。
- 持久化:數據落盤至
~/.dsh/storages/notes.json。 - 主題適配:僅使用 DSH 語義令牌(
--dsw-alias-*),自動適配明暗主題。
安裝與啓用¶
- 執行安裝命令:
dsh plugin --profile web add github:ErrorLst/dsh-notes
- 安裝後必須重啓 DSH 進程以使插件生效。
數據位置與持久化¶
小記數據走 DSH 存儲域 + JSON 後端鏈路,文件位於 ~/.dsh/storages/notes.json。
對話消息日誌位於 ~/.dsh/sessions/ 目錄下。注意:舊文檔(v0.7.16 及以前)記載的路徑(如 ~/.dsh/sessions/<cwd>/<sessionId>/session.jsonl.zstd)已廢棄。真實佈局爲:
<root>/<projectKey(cwd)>/<encodeSegment(sessionId)>/session.v3.jsonl.zstd
其中 <root> 默認爲 ~/.dsh/sessions。目錄名由編碼後的安全段組成,不是原始的 cwd 或 sessionId。當前日誌格式代次爲 v3。
開發與調試¶
若需本地開發或修改源碼:
git clone https://github.com/ErrorLst/dsh-notes
cd dsh-notes
pnpm install
pnpm build
dsh plugin --profile web add .
dsh web
修改 src/ 後執行 pnpm build,客戶端改動刷新瀏覽器即可,Host 改動需重啓 DSH。