dsh-plugins: DeepSeek Harness 插件集

前言

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 中反饋。

重要注意事項

  1. 安裝方式衝突:不要同時使用「整倉庫安裝」和「單插件安裝」兩種方式,這會導致同一個插件被掛載兩次,產生重複的服務註冊。
  2. Bundle ID 衝突:每個插件向 composition 插入的行都有特定的 ID(如 session-git、memarc)。若同時安裝的其他插件佔用了相同 ID,會加載衝突,需修改對應的 cordis.patch.yml 中的 id。
  3. 生效方式:
    • Host 半區(核心邏輯)的改動需要重啓 DSH 進程。
    • Client 半區(設置頁、浮層、輸入框控件)的改動在重啓後刷新瀏覽器頁面即可生效。
  4. 文件留存:卸載插件不會刪除數據。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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜