前言¶
長時間使用 DSH 做開發時,有價值的上下文往往散落在會話裏:模塊邊界、設計決策、隱含約束、曾經失敗的方案,以及關鍵文件之間的維護關係。新會話無法可靠繼承這些信息,而把全部聊天記錄重新塞進上下文,既昂貴,也容易引入過期結論。
下面介紹 yu-xin-c/dsh-project-wiki。這是一個面向 DeepSeek Harness 的本地優先項目 Wiki 插件,把已接受的項目知識沉澱爲工作區內的 Markdown 頁面,並支持原生 Web 查看、檢索、提案審覈、來源過期檢查和知識圖譜。
這是什麼¶
yu-xin-c/dsh-project-wiki 由 yu-xin-c 維護,許可證爲 MIT。它把 Agent 在開發過程中獲得的架構知識、設計決策、代碼約束和排障結論記錄爲工作區內的 Markdown 頁面。
這些頁面不是隱藏的聊天記憶:用戶可以閱讀、編輯、審查和搜索它們;當頁面綁定的來源文件發生變化時,頁面也會被標記爲需要更新。
核心功能¶
插件當前提供以下能力:
- 原生 Web 界面:在 DSH Web 會話中提供 Wiki 視圖。
- Markdown 編輯:創建、編輯和刪除頁面。
- 全文檢索:基於 FTS5 的詞法檢索;不包含 embedding 或向量數據庫。
- 提案審覈:Agent 提案與正式頁面分開處理,用戶批准後進入正式知識庫。
- 來源指紋:頁面可以關聯工作區內的相對來源文件,並記錄來源指紋。
- 過期掃描:代碼變化後,檢查哪些頁面需要更新。
- 知識圖譜與雙向鏈接:通過頁面之間的鏈接建立關係,並生成可交互圖譜。
- 修訂記錄:保留頁面的創建、更新及操作信息。
- Agent 工具:支持 Agent 參與 Wiki 操作;持久化提案和提案接受需要人工批准。
安裝與啓用¶
Node.js 要求爲:
22.19+ 或 24+
使用以下命令安裝插件:
npx --yes @deepseek-ai/dsh@latest plugin --profile web add github:yu-xin-c/dsh-project-wiki
安裝完成後,在 DSH Web 中註冊或選擇一個工作區,再進入綁定到該工作區的會話,就可以打開 Wiki 標籤使用。
典型用法¶
按照下面的步驟使用:
1、在 DSH Web 中註冊或選擇一個工作區。
2、創建一個綁定到該工作區的會話。
3、打開會話頂部的 Wiki 標籤。
4、使用“新建頁面”記錄事實、決策和約束,或讓 Agent 創建待審覈提案。
5、添加工作區相對的來源文件,例如 src/services/auth.ts。
6、代碼變化後點擊“掃描過期”,檢查哪些頁面需要更新。
適用場景¶
這個插件適合需要把項目知識固定在工作區內的場景:
- 長期維護同一個倉庫,希望沉澱架構結論和維護約定。
- 希望 Agent 得到的知識可以被閱讀、審查和追溯。
- 希望頁面來源和代碼變化之間有明確對應關係。
- 希望 Agent 的新結論先進入提案,而不是直接覆蓋已有知識。
注意與安全邊界¶
使用前需要關注以下邊界:
- 這是項目級本地 Wiki,不提供雲同步或跨工作區共享。
- 搜索目前是 FTS5 詞法檢索,不包含 embedding 或向量數據庫。
- 插件會檢測來源變化,但不會自動判斷新代碼應該如何改寫結論。
- 頁面必須由 Web 用戶顯式保存,或由用戶批准 Agent 提案後進入正式知識庫。
- Web API 僅通過 DSH loopback RPC 暴露。
- 每次調用都重新驗證活動 Session 和已註冊工作區。
- Wiki 目錄必須是工作區內的相對目錄。
- 來源路徑不能通過
..、絕對路徑或符號鏈接逃出工作區。 - Agent 的持久化提案和提案接受操作需要人工批准。
- Node.js 要求爲
22.19+或24+。 - 許可證爲 MIT。
插件會隨當前 DSH 進程運行,並以該進程可訪問的工作區文件爲操作對象。安裝前建議檢查源碼、依賴和許可證,確認其符合團隊安全要求。
結尾¶
dsh-project-wiki 的價值,在於把 Agent 產生的項目知識變成可見、可審查、可追溯的工作區頁面。它不追求自動替代人工判斷,而是把“哪些結論來自哪些來源、何時需要複覈”暴露出來。
GitHub 倉庫:
https://github.com/yu-xin-c/dsh-project-wiki