前言¶
在 DeepSeek Harness(DSH)裏做多項目或長期維護同一代碼庫時,團隊約定、個人偏好和項目背景往往要反覆寫進對話。這些內容更適合作爲「常駐上下文」而不是每次手動粘貼。DSH 插件生態支持通過擴展點改寫 Agent 的 system prompt;dsh-notes 在左側邊欄提供按項目管理的筆記頁,並把已啓用的筆記在每一步請求中注入當前工作目錄對應項目的 Agent 上下文。
下面按定位、能力、安裝與使用說明介紹該插件。事實來源爲倉庫 README 與 package.json(版本 1.0.0,MIT 許可證,維護者 991206772-debug)。
這是什麼¶
dsh-notes(包名 @local/dsh-notes)是一個 DSH bundle:在 Harness 左側邊欄增加一頁「按項目釘住的筆記」。你在界面裏爲某個瀏覽器所選項目編寫多條筆記,併爲每條筆記單獨打開或關閉「注入」開關;只有已啓用且非空的筆記會進入 Agent 的 system prompt,且僅當該 Agent 的工作目錄就是該筆記所屬項目時生效。
筆記持久化在 <dsh home>/notes/<profile>.json,採用臨時文件寫入後 rename 的方式,降低進程異常退出時文件被截斷的風險。
核心功能¶
邊欄與頁面¶
- 在
sidebar.panellist中註冊一行(iddsh-notes,order 21,緊挨宿主 Context 行),對應主區頁面 key 爲dsh-notes。 - 客戶端爲純 JavaScript React,無需單獨構建步驟;樣式僅使用
--dsw-alias-*令牌,隨深淺主題變化。
按項目隔離¶
- 每個在瀏覽器中選中的項目有獨立的筆記列表;項目列表來自宿主的 workspace registry,已有筆記的目錄仍可被選中。
- 無已啓用筆記的項目不會向 system prompt 追加任何文字。
注入規則¶
- 每條筆記自帶開關;僅「已啓用 + 非空」的筆記參與注入。
- 注入對象是「工作目錄屬於該項目的 Agent」;同一
systemPrompt.section(名稱dsh-notes.project-notes,order 780)掛在各 Agent 自己的 context 上。 - 插件在
agent/created時爲新建 Agent 掛載,也會在激活時對已在運行的 Agent 立即掛載;卸載插件時移除掛載。 - 筆記屬於 prompt 輸入,不是會話歷史:編輯後從下一次請求生效,不會改寫已有日誌。
宿主側接口與存儲¶
宿主 index.js 擴展 agents、systemPrompt、webServer、workspaceRegistry,並通過 Web 接口暴露狀態:
| 用途 | 路徑 |
|---|---|
| 讀取狀態 | GET /dsh-notes/api/state |
| 保存筆記 | POST /dsh-notes/api/notes |
客戶端通過相對 document.baseURI 的 URL 調用上述接口。頁面側保存帶 450 ms 防抖;卸載或切換項目時會 flush 未提交的輸入。
安裝與啓用¶
插件以當前 DSH 進程的權限運行,安裝前建議瀏覽倉庫源碼並確認 MIT 許可證與行爲是否符合你的環境。DSH 社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
桌面版:在插件管理中使用倉庫地址安裝。
命令行(在自己的 Profile 中安裝,資料原文爲 web profile 示例):
dsh plugin --profile web add github:991206772-debug/dsh-notes
公開倉庫不包含用戶配置、筆記、真實會話或憑據。官方說明建議用隔離目錄做驗證,並避免對正在運行的 DSH 做不必要的重載。
運行環境:package.json 要求 Node >=22.3.0。
典型用法¶
- 安裝並 reload 頁面(或按宿主變更需要重啓 Harness)後,在左側邊欄打開
dsh-notes頁面。 - 在瀏覽器中選擇當前要維護的項目(與 workspace 中的目錄一致)。
- 爲該項目添加一條或多條筆記,例如編碼規範、常用路徑、發佈檢查項等。
- 對需要長期生效的筆記打開注入開關;暫不需要的保持關閉或留空。
- 在同一項目目錄下啓動或繼續與 Agent 的對話;後續每一步請求會自動帶上已啓用筆記,無需重複粘貼。
若某項目所有筆記均未啓用或爲空,system prompt 與未裝插件時一致。
適用場景與注意¶
適合:需要在多個本地項目間切換、且希望「項目級約定」穩定進入 Agent 上下文的開發者;把個人偏好與倉庫說明從重複口述改爲可編輯、可開關的側欄筆記。
注意:
- 注入範圍與 Agent 工作目錄綁定,換項目或換目錄後需在同一插件頁選擇對應項目並維護該項目的筆記列表。
- 修改
client.js後刷新頁面即可;修改index.js等宿主邏輯需重啓 Harness。本地鏈接安裝時,改代碼一般無需重裝插件。 - 倉庫當前 GitHub 星標爲 0(以目錄頁信息爲準);功能與接口以 README 描述爲準。
倉庫結構(便於二次開發)¶
dsh-notes/
├── package.json dsh.bundle.patch + dsh.client (platform web, immediately)
├── cordis.patch.yml 插入 @local/dsh-notes
├── index.js 宿主側
├── client.js 客戶端(無構建)
├── locale/{en,zh}.json 插件管理器標題與描述
└── icon.svg
可用 npm run check(對 index.js 與 client.js 做 node --check)做基礎語法檢查。
結尾¶
dsh-notes 把「按項目釘住的說明」放進 Harness 側欄,並通過 system prompt 段落在每一步注入已啓用內容,減少重複交代項目約定。插件目錄頁:https://www.skillhub.cn/plugins/991206772-debug/dsh-notes;源碼與詳細說明:https://github.com/991206772-debug/dsh-notes。