在 DeepSeek Harness (DSH) 中開發智能體時,開發者經常需要在不同的會話間保持上下文,或臨時記錄思路。直接在聊天框中記錄不僅容易打斷流式輸出,且難以管理。dsh-notepad 插件通過嵌入 Web GUI,提供了一個常駐的記事本窗口,解決了環境割裂與上下文丟失的問題。
這是一個由 43456-awa 維護的客戶端插件,核心價值在於提供“雙作用域”的持久化筆記系統,並打通了 Agent 工具鏈,使其成爲智能體可訪問的本地知識庫。
核心功能¶
雙作用域與持久化¶
插件提供兩種作用域模式:
* 全局頁:所有會話共享內容。
* 本會話隔離頁:內容僅當前會話可見。
兩者可切換或分屏同看。
輸入內容自動保存至 ~/.dsh/notepad/notes.md(UTF-8 BOM、原子寫、revision 樂觀鎖)。當保存失敗時,系統會自動重試;若刷新頁面時檢測到未保存內容,支持一鍵恢復。
同步與歷史¶
採用 SSE 實時推送 + 輪詢兜底的機制確保同步可靠性。每次保存前,系統會自動存檔 20 份歷史快照,可通過 /api/notepad/history 接口檢索或回溯。
Agent 工具集成¶
插件暴露了三個工具接口,Agent 可直接調用:
* notepad_read:讀取筆記內容。
* notepad_write:寫入筆記內容(支持 append 按行去重、可選時間戳)。
* notepad_search:跨作用域搜索筆記。
界面交互¶
- 窗口可拖動到任意位置、可鎖定固定、寬度可調,窄屏時自動收起。
- 支持 Markdown 預覽(勾選框可點擊)。
- 純客戶端樣式,跟隨 DSH 的明暗主題。
- 快捷鍵:
Ctrl+Enter立即保存,Esc收起。
安裝與啓用¶
使用官方命令安裝:
dsh plugin --profile web add dsh-notepad
安裝完成後,重啓 dsh web 並刷新頁面,記事本面板將出現在界面右側。
典型用法與開發¶
常規使用¶
重啓並刷新頁面後,即可在右側面板進行筆記記錄。若需卸載,使用:
dsh plugin --profile web remove dsh-notepad
(注:卸載後便籤文件默認保留在本地)。
本地開發¶
若需修改源碼,源碼必須放置在 ~/.dsh/profiles/ 樹內。使用 link: 安裝方式可以確保源碼路徑被正確解析,從而訪問 profiles/node_modules 中宿主自帶的依賴:
# <yourProfileDir> 爲 ~/.dsh/profiles/ 下的實際路徑
dsh plugin --profile web add link:<yourProfileDir>/dsh-notepad
注意事項¶
- 源碼位置:源碼必須放在
~/.dsh/profiles/樹內。若放在樹外,將無法訪問宿主的profiles/node_modules中的@deepseek-ai/*依賴。 - 衝突處理:當併發保存導致版本衝突時,接口將返回 409 狀態碼。
參考資料¶
- 插件目錄:dsh-notepad - SkillHub
- 源碼倉庫:43456-awa/dsh-notepad