dsh-forge:DSH 運行時擴展套件

前言

DSH 的擴展思路可以理解爲「一切皆插件」:宿主提供運行時,插件擴展會話、模型、子代理、工具和麪板能力。社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。

當插件數量變多之後,常見的問題不只是“能不能裝”,還包括安裝形態分散、動態插件重啓後是否恢復、模型路由和子代理委派如何統一管理,以及會話、技能、插件狀態是否有一致入口。dsh-forge 就是圍繞這些問題做的 DSH 運行時擴展套件。

這是什麼

dsh-forge 是 alex04130 維護的一組 DSH 擴展,定位是 DeepSeek Harness 的運行時擴展套件:像 Minecraft 的 Forge 一樣,爲 DSH 鍛造、安裝、路由、編排插件。

它覆蓋的能力包括:

  • 插件市場與安裝器
  • 任務感知思維模式路由
  • Skill 管理器
  • 插件管理面板
  • 會話管理
  • 協作編排
  • 模型委派與路由
  • 運行時注入與動態插件
  • 檔案、質粒、驗貨

基礎信息:

  • 許可證:MIT
  • 運行要求:Node >=22
  • GitHub:https://github.com/alex04130/dsh-forge

核心功能

插件市場與安裝器

這一部分解決插件從哪裏找、怎麼裝、裝完如何加載的問題。

已覈實的能力包括:

  • 瀏覽 GitHub dsh-plugin topic 下的社區插件
  • 一鍵安裝 npm 包 / 動態清單 / preset / bundle 四種形態
  • 注入器熱加載
  • 持久註冊表

任務感知思維模式路由

這一部分由 router-standard preset 提供。

它的流程是:

1、對首條消息進行分類,類型包括 spec / react / weak

2、首輪做極簡錨定。

3、在首個 tool/call 之後放出全量工具。

需要注意:首輪錨定僅對 deepseek 系列模型生效。

Skill 管理器

Skill 管理器用於統一管理技能。

已覈實的能力包括:

  • 持久化增刪啓停
  • 內容預覽
  • 設置頁面板
  • 模型工具雙通道

插件管理面板

插件管理面板用於查看和管理當前可發現的插件條目。

已覈實的能力包括:

  • 即時發現宿主 / 注入 / 官方三類 loader 條目
  • 動態插件運行、停止、刪除
  • 搜索
  • 分區導航

會話管理

會話管理由 mailbridge 提供。

已覈實的能力包括:

  • 會話列表
  • 查找
  • 歸檔
  • 撈回
  • 導出
  • mailbox 檢查

協作編排

協作編排由 teamhub 提供。

已覈實的能力包括:

  • captain + 成員子代理
  • 依賴排序任務板
  • 成員間直連消息

已知限制:

  • 隊長代認領的任務,成員本人無法 update
  • team_create / team_add_member 的審批等待會串行阻塞其他 team_* 調用

模型委派與路由

這部分由 llmrouter / modelroute / modsub 等組件承擔。

已覈實的能力包括:

  • 多廠商 model_list / model_call
  • 模型系列 taxonomy
  • 子代理模型繼承策略
  • 指定模型 spawn 子代理

運行時注入與動態插件

運行時注入與動態插件用於擴展 DSH 的加載方式。

已覈實的能力包括:

  • injector 運行時注入
  • dynboot / dynrestore 重啓恢復
  • 動態面板
  • 補丁型插件

檔案、質粒、驗貨

這部分提供證據、檢索和校驗相關能力。

已覈實的能力包括:

  • archive 證據句柄
  • plasmid 自薦檢索適配度
  • verify_claimgit-commit / file / text-in-file 驗貨

安裝與啓用

npm 包安裝

npm 包安裝使用下面命令:

dsh plugin --profile web add @dsh-forge/bundle
dsh web

第一步安裝 @dsh-forge/bundle,第二步重啓 DSH。

版本要求:

  • @dsh-forge/bundle 需要 0.1.4+
  • 0.1.3 及更早版本在 npm 路徑下 boot 失敗,是已知歷史 bug

啓用路由 preset

如果啓用任務感知路由 preset,先複製 preset:

cp -r presets/router-standard $DSH_HOME/.agent-presets/

然後新建會話,選擇「路由標準(實驗性)」preset。

注意:npm bundle 不含 preset 與動態面板;需要時從源碼倉庫複製。

從源碼安裝

源碼安裝適合需要 preset 或動態面板的場景:

git clone https://github.com/alex04130/dsh-forge.git
cd dsh-forge
node scripts/install.mjs
dsh web

安裝完成後重啓 DSH。

自檢與運行時驗證

先做代碼自檢:

npm run check

運行時驗證可查看:

  • dev_plugin_status
  • skill_list
  • model_taxonomy
  • dev_router_status

卸載

npm 包卸載:

dsh plugin --profile web remove @dsh-forge/bundle
dsh web

典型用法

下面是常見的啓用順序:

1、用 npm 包安裝基礎套件:

dsh plugin --profile web add @dsh-forge/bundle
dsh web

2、如果需要任務感知路由,複製 preset 並新建會話選擇該 preset:

cp -r presets/router-standard $DSH_HOME/.agent-presets/

3、如果還需要動態面板,從源碼倉庫複製:

git clone https://github.com/alex04130/dsh-forge.git
cd dsh-forge
node scripts/install.mjs
dsh web

4、驗證狀態:

npm run check

運行時可繼續檢查 dev_plugin_statusskill_listmodel_taxonomydev_router_status

適用場景與注意

適合的使用者:

  • 需要在 DSH 中安裝和管理社區插件的開發者
  • 需要統一管理會話、技能、模型路由和子代理的 DSH 用戶
  • 需要查看插件運行時狀態的維護者

使用前需要注意:

  • 市場安裝的插件以宿主進程權限執行,無沙箱隔離
  • 只安裝審查過來源的倉庫
  • 動態 client 半部禁 fetch
  • 面板數據面必須走 host.call / harness.handle 包私有 RPC
  • npm 0.1.4insert 不含 archive / verify / plasmid;這三件需 injector 或下次發版寫入 insert 後自動掛上
  • 任務感知路由的首輪錨定僅對 deepseek 系列模型生效
  • GitHub MCP 工具默認不集成,手動可選配置且需自備 token
  • teamhub 存在隊長代認領任務更新、審批串行阻塞等已知限制

鏈接

  • 目錄頁:https://www.skillhub.cn/plugins/alex04130/dsh-forge
  • GitHub:https://github.com/alex04130/dsh-forge
羽毛球分组比赛记分
小程序二维码

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

小夜