前言¶
DeepSeek Harness (DSH) 採用插件化架構,旨在通過模塊化擴展提升開發與使用體驗。本倉庫作爲一個聚合單元,將五個高頻使用的插件打包在一起。它解決了智能體開發中常見的長期記憶缺失、會話版本管理困難、Goal 中斷後無法自動恢復以及模型推理能力控制不精細等問題。
核心功能¶
本倉庫包含以下五個插件:
1. 長期記憶與會話歸檔 (dsh-memarc)¶
- 長期記憶庫:以 JSON 格式存儲每個工作區的記憶,支持持久化。
- 會話歸檔管理:提供歸檔、全文搜索、批量恢復和徹底刪除功能,並在設置頁提供統一入口。
2. 會話 Git 化 (dsh-session-git)¶
- 將 DSH 會話導出爲
<項目>/.dsh-sessions/*.json文件。 - 支持隨 Git 提交,團隊成員可一鍵導入這些文件,恢復爲可繼續的會話。
3. 會話分支樹 (dsh-session-branches)¶
- 建立會話的 fork / 子代理關係樹。
- 通過側邊欄浮動面板或設置頁查看,點擊即可打開對應的會話。
4. Goal 自動續跑 (dsh-goal-auto-resume)¶
- 當 Goal 因錯誤、中斷、
max-tokens限制或崩潰異常停止後,插件會自動重新武裝並嘗試續跑。 - 內置退避機制與安全閥,防止無限重試。
5. 模型推理能力編輯 (dsh-model-reasoning)¶
- 三層設置:提供全局策略、路由概覽、模型明細三段式編輯界面。
- 細粒度控制:可編輯思考等級映射(wire 值)、上下文/輸出上限、協議兼容開關。
- 靈活聲明:對於缺少推理元數據的模型,支持在行內一鍵聲明。
- 會話級滑桿:在輸入框模型下拉左側,提供會話級的推理強度滑桿,優先於路由默認設置。
安裝與啓用¶
一鍵安裝(推薦)¶
倉庫本身聲明瞭 dsh.bundle,可以通過一條命令將所有五個插件安裝到 profile 中:
dsh plugin --profile web add github:loongWoong/dsh-plugins
安裝後,根目錄的 cordis.patch.yml 會自動將這五個插件裝配進 DSH 的 composition 中。卸載時執行:
dsh plugin --profile web remove dsh-plugins
安裝特定插件¶
若只需安裝其中某一個插件(例如 dsh-memarc),使用 pnpm 的路徑語法:
dsh plugin --profile web add "github:loongWoong/dsh-plugins#path:packages/dsh-memarc"
本地開發¶
在倉庫根目錄執行以下命令,使 DSH 直接引用本地源碼:
dsh plugin --profile web add .
修改源碼後,需重新運行 dsh plugin --profile web install 以使改動生效。
環境要求與依賴¶
- DeepSeek Harness (DSH):要求版本 ≥ 0.1.1-rc.2(實測兼容至 0.1.5-rc.1)。
- 依賴管理:peer 依賴(
@deepseek-ai/cordis、@deepseek-ai/dsh-tools、react)由 DSH 進程加載時提供,本倉庫零運行時依賴,支持離線安裝。 - 版本兼容:DSH 升級後若出現不兼容,需在倉庫 issue 中反饋。
重要注意事項¶
- 安裝方式衝突:不要同時使用「整倉庫安裝」和「單插件安裝」兩種方式,這會導致同一個插件被掛載兩次,產生重複的服務註冊。
- Bundle ID 衝突:每個插件向 composition 插入的行都有特定的 ID(如
session-git、memarc)。若同時安裝的其他插件佔用了相同 ID,會加載衝突,需修改對應的cordis.patch.yml中的 id。 - 生效方式:
- Host 半區(核心邏輯)的改動需要重啓 DSH 進程。
- Client 半區(設置頁、浮層、輸入框控件)的改動在重啓後刷新瀏覽器頁面即可生效。
- 文件留存:卸載插件不會刪除數據。
dsh-memarc的記憶文件保留在各工作區.dsh-memory/,dsh-session-git導出的會話文件保留在各項目.dsh-sessions/。
測試¶
測試腳本自包含,可直接用系統 Node 運行,無需安裝額外依賴:
npm test
# 或逐個運行:
node packages/dsh-memarc/test/behavior.mjs
node packages/dsh-session-git/test/unit.mjs
node packages/dsh-model-reasoning/test/unit.mjs