dsh-moa
开发工具 活跃维护

dsh-moa

morphlinglan/dsh-moa

轻量级混合智能体按需调用插件,支持动态调度多类智能体协同处理复杂任务,部署简单无需繁琐配置,开箱即用交互流畅,无需额外学习成本即可上手使用。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
None
开源协议
10 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:morphlinglan/dsh-moa
git clone https://github.com/morphlinglan/dsh-moa.git
git clone git@github.com:morphlinglan/dsh-moa.git
README.md main

dsh-moa

A DeepSeek Harness plugin that adds Mixture of Agents (MoA) as an on-demand tool: run_moa.

Instead of using one model, MoA sends the same prompt to several proposer models in parallel, then has a stronger aggregator model synthesize the best final answer from all their outputs. It is not on the normal request path — the agent calls the tool only when multi-model synthesis is worth the extra tokens/latency.

Install

dsh plugin --profile web add github:morphlinglan/dsh-moa

Then restart dsh web if it is already running.

Usage

Configure the proposer pool and aggregator in your profile's cordis.patch.yml:

- insert:
    - id: dsh-moa
      name: dsh-moa
      config:
        toolName: run_moa
        # Replace with your own providers/models.
        proposers:
          - provider: proposer-provider-a
            model: proposer-model-a
          - provider: proposer-provider-b
            model: proposer-model-b
        aggregator:
          provider: aggregator-provider
          model: aggregator-model
        minProposers: 2
        proposerMaxTokens: 1500
        aggregatorMaxTokens: 2500
        fallbackLongest: true
        maxRetries: 2

The providers/models above are placeholders only. Replace them with providers and models you actually have access to.

Then ask the agent to use run_moa for complex analysis, synthesis, translation, or review tasks.

Config

Field Type Default Description
toolName string "run_moa" Tool name registered in DSH.
proposers { provider, model }[] [] Models that independently answer the prompt in parallel.
aggregator { provider, model } required Stronger model that synthesizes the final answer.
minProposers number 2 Minimum successful proposers required to run aggregation.
proposerMaxTokens number 1500 Output cap for each proposer.
aggregatorMaxTokens number 2500 Output cap for the aggregator.
fallbackLongest boolean true If the aggregator fails, fall back to the longest proposer output.
temperature number — Optional sampling temperature passed to every call.
reasoningEffort string — Optional adapter-owned reasoning effort id.
maxRetries number 0 Retries per proposer/aggregator on transient errors, with exponential backoff.
iterations number 1 Iterative MoA rounds (1 = single layer + aggregator).

License

MIT