dsh-moa-native:在 DSH 会话内做生成时多模型融合

前言

在 DeepSeek Harness(DSH)里长时间写代码、调工具时,往往只靠一个主模型回复。单模型有盲区;若要在每一轮回复前让多个模型先「看一眼」再汇总,常见做法是切工具、复制上下文,或放弃主模型的完整工具链。dsh-moa-native 把 Mixture-of-Agents(MoA)收进 DSH 插件:你在会话模型列表里选一个 moa-native 条目,整段会话按同一套流水线跑——参考模型并行出私密草稿,执行模型带完整 tooling 出最终回复。

这是什么

dsh-moa-native(npm 包名 dsh-moa-native,当前资料版本 4.3.6)由维护者 DDL095 发布,分类为模型推理。定位是 Native Mixture-of-Agents for DeepSeek Harness — generation-time fusion:参考模型每轮并行产生 pre-run drafts,单一 acting model 负责执行与工具调用。简介原文:Many models draft, one executes for DeepSeek Harness.

社区目录页:https://www.skillhub.cn/plugins/DDL095/dsh-moa-native(独立站点,与 DeepSeek / 幻方无官方从属关系)。源码与说明:https://github.com/DDL095/dsh-moa-native ,许可证 MIT;运行环境要求 Node >= 22.19。

流水线在做什么

每一轮用户消息大致如下(README 示意):

user message ──► refs consulted in parallel (private drafts, mutually unaware)
                      │
                      ▼
                guidance injected as a trailing message (never pollutes session
                history, never breaks KV prefix caching)
                      │
                      ▼
                aggregator (acting model) executes with full tooling ──► reply

要点:参考模型只作顾问、不执行工具;汇总的 guidance 是按请求注入的尾随消息,不进入会话历史,也不破坏 KV 前缀缓存;参考稿原文在会话 UI 中不可见,需通过 trace 面板查看。

核心功能

Config as model

工厂预设 default 以及你保存的每个 recipe,都会以 moa-native 模型条目出现在 provider 页与会话模型选择器里。一个 recipe 是一套完整预设:参考阵容、模式、cadence、参数等。

参考阵容与注入模块

  • 控制台为每条 route 提供与会话 UI 相同的三级选择:provider → model → effort。
  • 每条 route 的尾随说明是可见、可编辑的 injection 模块:内置 default(Hermes 风格)、__blank__(零注入、纯续写),或自定义模块。
  • 两种参考视图模式:F · full mirror(参考模型与 acting 模型看到相同上下文,KV 前缀缓存命中率 README 称可高于 90%);R · trimmed view(Hermes 风格工具结果裁剪与输入预算)。

推荐组合(进阶)

README 推荐:F mirror + 3–4 个异构且使用 __blank__ 注入的 ref + 单一 aggregator + parallel-plan 纪律(aggregator 侧 injection 用 agg_forrefsblank)。不熟悉时可先用工厂 default(Hermes 对齐的 review 风格 ref),再切换到上述组合。参数级说明见仓库内 docs/architecture.svg。

Subagent 与 cadence

  • cadence:user_turn | per_iteration | {every_n: 2} 等,控制 MoA 触发节奏。
  • subagent_policy:主会话默认走完整 MoA;子 agent 会话默认直通透传 aggregator(零 fan-out),可通过 subagent gating 下拉选 7 档(3/5/8/10/15/20/30 步)或 full / {every_n: N}。设计说明见 docs/SUBAGENT-GATING-DESIGN.md。

运行 trace 与失败策略

四级下钻:sessions(按 workspace 隔离)→ turns → 各模型卡片 → 完整 advisory 文本。支持从按日 zstd 归档冷启动回填;输入内容不会被持久化。某条参考 route 失败时会原样上报,不会静默替换。

斜杠命令

聊天中 fusion 每轮自动发生;/moaR、/moaF 可临时切换参考视图(阵容、aggregator、cadence 仍绑定当前条目;控制台显示 live slash preview)。

安装与启用

官方安装命令(README):

dsh plugin --profile web add dsh-moa-native

安装后重启 DSH 实例并刷新浏览器。插件在当前 dsh 进程权限下运行;安装前请自行查阅仓库源码与 MIT 许可证,确认可接受其网络与配置读写范围。

配置文件路径(面板保存可热重载):

~/.dsh/profiles/web/moa-native.config.json

示例字段(与 README 一致,可按需裁剪):

{
  "refs": [
    "provider-a/model-flash@high",
    { "model": "provider-b/model-x@max", "injection": "__blank__" }
  ],
  "aggregator": "provider-c/main-model@max",
  "aggInjection": "agg_forrefsblank",
  "mode": "F",
  "cadence": "user_turn",
  "subagent_policy": "passthrough",
  "injections": { "critic": "Your first duty is to scrutinize…" },
  "recipes": { "my-lineup": { "refs": ["..."], "aggregator": "...", "mode": "F" } },
  "prices": { "provider-a/model-flash": { "in": 0.2, "out": 0.8 } },
  "trace": true
}

插件还暴露 HTTP 端点(供面板与 trace 使用),例如 GET /moa-native/panel.json、GET /moa-native/trace.json?limit=&ws= 等,详见 README 表格。

典型用法

先做控制台配置,再选模型条目,最后正常聊天。

  1. 打开 Settings → MoA-Native console:选 3–4 条 reference route(README 建议 flash 档——快且便宜)和一条 aggregator(你希望长期保留的主模型)。首次安装必须做这一步;工厂阵容只是示例,必须指向你已配置的 provider/model。参考稿被 framing 成 aggregator 自己的 pre-run drafts,若某 ref 与 aggregator 同模型可省略以省一条 route。
  2. 保存(热重载),在会话模型选择器里选 moa-native 条目(default 或你保存的 recipe)。
  3. 正常对话;每轮自动 fusion。子 agent 默认直通透传 aggregator,需要时在控制台改 subagent gating。

适用场景与注意

适合:希望在 DSH 单会话内、不切换工具的前提下,让多模型在每轮生成前并行给意见,并由一个带完整 tooling 的模型汇总执行;需要可编辑 injection、可保存 recipe、可查看 trace 的 MoA 工作流。

边界(README Design boundaries):本插件面向每轮持续提质的 generation-time fusion,与「多份完整答案再裁决」的竞争式 draft MoA 互补而非同一形态。与 MoA 论文、Hermes /moa、社区其他 dsh-moa 插件的关系见仓库 docs/THEORY-POSITION.md。

注意:多 route 并行意味着额外 API 调用与费用;可选 prices 字段做成本估算。参考失败会 loud fail,需保证各 route 的 provider 配置可用。

链接

  • 社区目录:https://www.skillhub.cn/plugins/DDL095/dsh-moa-native
  • GitHub:https://github.com/DDL095/dsh-moa-native

经过上面的步骤,你可以在 DSH web profile 里把「多模型草稿、单模型执行」固定成一条模型入口,而不是每轮手工拼多模型上下文。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye