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
羽毛球分组比赛记分
小程序二维码

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

小夜