@goodandready/dsh-moa
Mixture-of-Agents plugin for DeepSeek Harness: a /moa slash command fans a prompt out to multiple models in parallel, merges their responses in a file workspace, and integrates with Live Canvas for visual output.
Install
dsh plugin --profile web add @goodandready/dsh-moa
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
📦 @goodandready/dsh-moa
<div align="center">
<h3>面向 DeepSeek Harness 的 Mixture of Agents (MoA) 多模型协作与代码综合引擎</h3>
<p align="center">
<a href="https://www.npmjs.com/package/@goodandready/dsh-moa"><img src="https://img.shields.io/npm/v/@goodandready/dsh-moa.svg?style=for-the-badge&color=6366f1&labelColor=1e1b4b" alt="npm version"></a>
<a href="../LICENSE"><img src="https://img.shields.io/github/license/GooDAnDReaDY/dsh-moa.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a>
<a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a>
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a>
</p>
<p align="center">
<a href="https://goodandready.app/"><img src="https://img.shields.io/badge/作者所有项目-goodandready.app-ff4500.svg?style=for-the-badge&logo=rocket&logoColor=white&labelColor=1a1a2e" alt="GoodAndReady 作品展"></a>
</p>
<p align="center">
<a href="README.md"><b>🇬🇧 English</b></a> •
<a href="README.ru.md"><b>🇷🇺 Русский</b></a> •
<a href="README.zh.md"><b>🇨🇳 中文说明</b></a>
</p>
<table align="center">
<tr>
<td align="center">
⭐ <strong>如果您喜欢这个插件,请在 GitHub 上为它点亮 Star</strong> — 这能让我知道插件对您有用,并鼓励我继续开发和维护它。
<br><br>
🐛 <strong>如果您发现 Bug 或希望增加功能</strong>,请使用任意语言在 GitHub 上提交 Issue — 我会评估您的建议,并在后续版本中实现有价值的改进。
</td>
</tr>
</table>
</div>
⚡ 概述与解决的核心痛点
在面对复杂的软件工程任务时,单一模型生成往往容易受到视角盲区、架构幻觉以及生成质量不稳定的限制。当用户输入模糊或缺乏技术细节的提示词时,单一模型容易做出主观假设,生成未经充分验证的单体代码。
@goodandready/dsh-moa 通过 /moa 斜杠命令将 Mixture of Agents (MoA) 混合智能体架构原生引入 DeepSeek Harness:
1. 自适应澄清问卷 (Questionnaire Gate):针对宽泛或不明确的提示词,顾问模型(Proposers)自动提炼关键分歧点,裁判模型(Judge)在生成代码前合成结构化的 2–4 题交互式问卷。
2. 多模型并行生成与工作区沙箱隔离:多个独立模型并行分析任务。每个候选方案的文件生成均写入独立的磁盘沙箱 (.moa/candidate-N/),彻底避免跨模型文件污染。
3. 旗舰裁判模型评估与文件自动提升 (Promotion):深度推理模型对所有候选方案进行交叉评审,通过机器标记 (WINNER_CANDIDATE_INDEX: N) 评选胜出方案,并将胜出者的完整文件自动同步到项目根目录。
4. 极简对话摘要与 Token 节省:对话界面不输出冗长的原始代码块,而是生成整洁的文件清单与架构设计摘要。
5. 单轮会话即时恢复:作为一次性会话修改器运行,任务完成后自动恢复用户原本的会话主力模型。
6. 动态定价目录与 Token 成本估算:300+ 模型的实时价格自动从 OpenRouter 公开目录后台获取(无需鉴权,缓存于 ~/.dsh/storages/dsh-moa-catalog.json,24 小时刷新),同时支持直连厂商价格与 settings.yaml 中的自定义 prices 覆盖。
7. 增量修改模式 (Refinement Mode):自动感知现有代码库上下文,生成精确的增量修改而非破坏性的整文件重写。
8. 快速模式与自定义评审标准:面向快速任务的单模型极简管线,以及可自定义的裁判评审准则。
9. 运行历史与胜率排行榜:对每一类运行(综合、快速模式、问卷)进行持久化记录,并内置 REST 端点(/dsh-moa/history、/dsh-moa/leaderboard、/dsh-moa/runs/<id>)。
10. Live Canvas 一键预览(可选):当同一 profile 中安装了 @goodandready/dsh-live-canvas 时,提升到项目根目录的 HTML 会被推入其沙箱,MoA 回答附带一键预览链接;未安装时该步骤静默跳过。
11. 交互式工作台 (1-10分文件打分、自由混搭、最优模型粘合与裁判复审):裁判对每个候选模型生成的每个文件进行 1–10 分打分并列出优缺点。用户可在 WebUI 中自由勾选组合所需文件;当轮最高分模型被调用以粘合协同跨文件导入与类型接口,随后由裁判进行最终复审。支持配套插件 dsh-time-machine 在文件提升前创建影子 Git 回滚快照。
12. 对抗性白帽安全模糊测试关卡 (#302):红队安全审计器在裁判前检查 SQLi、XSS、命令注入、路径穿越、ReDoS 和原型污染漏洞,发现严重漏洞时触发 SECURITY_VETO 否决。
13. 代码事实与 API 验证链关卡 (CoVe) (#314):独立的裁判前事实核验,生成针对性 API 问题并对照标准库及项目配置清单,杜绝调用虚构不存在的幻觉方法。
14. 运行期 CPU 与内存性能分析关卡 (#315):在隔离沙箱中微基准测试候选方案执行延迟、吞吐量(ops/sec)与堆内存占用,带有硬超时保护,指引裁判挑选算法最优代码。
15. 候选测试套件变异测试关卡 (#316):注入 AST 级别故障变异以计算变异得分(消灭 vs 存活变异体),剔除恒真废测试与虚假测试套件。
16. 混合隐私边缘 MoA 与云端裁判脱敏 (#306):本地 MiniPC 边缘模型在内网读取代码生成方案,在提交给外部云端裁判前自动脱敏绝对路径、内网 IP 与 API 密钥。
17. 异构投机解码加速 (#317):本地小模型快速生成投机代码草稿块,云端旗舰模型单次批处理验证与完善,首包延迟降低 2-3 倍。
18. 成本与质量帕累托前沿滑块 (#307):互动式调节成本、质量与延迟的帕累托平衡,实时预估单轮开销与耗时。
19. 刚性 Token 预算保护与动态缩放 (#319):发送前严守费用上限,超出时自动将昂贵云端模型降级为本地边缘模型以确保不超支。
🏗️ 架构图
graph TD
subgraph Input ["用户交互 (聊天输入框)"]
Cmd["斜杠命令: /moa [preset] <prompt>"]
Gate{"模糊需求判断"}
QModal["交互式澄清问卷<br/>(多选选项与自定义输入)"]
end
subgraph Proposers ["并行顾问模型层 (Proposers)"]
P1["提案模型 1<br/>(创新方案)"]
P2["提案模型 2<br/>(替代架构)"]
P3["提案模型 3<br/>(高性能策略)"]
WS1[".moa/candidate-1/<br/>(隔离文件)"]
WS2[".moa/candidate-2/<br/>(隔离文件)"]
WS3[".moa/candidate-3/<br/>(隔离文件)"]
end
subgraph Judge ["综合评估与提升层 (Judge)"]
Aggregator["旗舰裁判模型<br/>(交叉对比与代码审查)"]
WinnerMarker{"WINNER_CANDIDATE_INDEX"}
Promote["提升胜出者文件<br/>(移至根目录并清理沙箱)"]
Summary["紧凑型摘要<br/>(文件清单与架构亮点)"]
end
Cmd --> Gate
Gate -->|需求宽泛/模糊| QModal
QModal -->|用户确认选项| P1 & P2 & P3
Gate -->|需求明确/详尽| P1 & P2 & P3
P1 --> WS1
P2 --> WS2
P3 --> WS3
WS1 & WS2 & WS3 --> Aggregator
Aggregator --> WinnerMarker
WinnerMarker --> Promote
Promote --> Summary
✨ 特性与能力
1. 斜杠命令 (/moa) 与实时补全
深度集成于 DeepSeek Harness 输入框。输入 /moa 即可触发预设菜单与自动补全:
/moa 开发一个包含图表与 WebSocket 实时更新的响应式仪表盘
或指定命名预设:
/moa code-review 审查身份验证中间件和安全边界
等效的 flag 形式:
/moa --preset=deep-reasoning 逐步求解这道数学题
或直接提升候选者方案(支持指定 runId 与候选序号):
/moa promote 2 /moa promote <runId> 2
2. 自适应澄清问卷
当需求过于抽象(例如 "制作一个计算器")时,系统会在生成代码前主动询问 UI 风格、数据持久化方式或框架偏好。
3. 并行调用与实时心跳反馈
- 多个顾问模型并发执行,并伴随实时心跳进度条 (
⏳ [3s] Processing...,显示各模型独立进度)。 - 自动清理顾问上下文中的冗余系统提示词与工具定义,消除“缺少工具”的拒绝报错并大幅节约 Token。
4. 磁盘级沙箱隔离与胜出者提升
与仅停留在聊天文本层面的 MoA 不同,dsh-moa 针对真实工程项目:
- 各提案模型在
.moa/candidate-1/、.moa/candidate-2/等独立目录生成工程代码。 - 裁判模型对比各版本实现,通过
WINNER_CANDIDATE_INDEX: N指定最优方案。 - 胜出方案自动提升至项目根目录,临时沙箱随后自动清理。
- 支持随时通过命令
/moa promote [runId] <candidateIndex>或 UI 界面一键手动提升指定候选者的方案。
5. 原生设置卡片与预设管理
在 设置 → 插件 → Mixture of Agents 中可视化配置模型:
- 配置顾问模型列表(快速生成多样化构想)。
- 配置裁判模型(强推理模型进行严谨审查)。
- 自定义命名预设 (
default,fast,deep-reasoning)、裁判评审准则与温度。 - 启用/停用 MoA 开关并查看真实的主机状态徽章;遥测网格展示总运行次数与平均运行成本。
7. 候选方案差异对比器 (Candidate Diff Viewer)
直接在界面中可视化对比顾问方案之间以及顾问与裁判综合方案之间的逐行差异。支持文件筛选、增删改高亮,基于纯 JavaScript LCS 差异算法,零第三方依赖。
8. 提升前 Git 快照检查点 (dsh-time-machine)
在将胜出候选者的文件提升并覆盖至项目根目录前,dsh-moa 自动调用本地 dsh-time-machine 建立影子 Git 检查点 (moa-pre-promotion: candidate-N)。如 dsh-time-machine 未安装或无法访问,文件提升将被阻断以防止未备份的项目文件被意外覆盖(仅在
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::80,最后更新 2026-11-06