多代理编排工具

Roundtable是一个专注于多代理协作的编排工具,支持OpenCode原生插件和MCP+提示工程两种架构,适用于深度讨论和跨平台脚本化任务。

  • by sun-rs
  • Rust
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sun-rs/three

使用说明

圆桌会议

圆桌会议第一个用于严肃软件工作的多代理编排

该存储库现在在一个代码库下有两个不同的架构轨道:

建筑轨迹

A) OpenCode原生插件跟踪(有状态,UI优先)

  • 运行时:OpenCode+哦,我的开源插件运行时
  • 核心命令: /roundtable
  • 编排路径: task(...) + background_output(...)
  • 优势:TUI中可点击/可追踪的子会话,强大的子会话连续性
  • 重点:圆桌辩论/综合作为主要工作流程

B) MCP+快速工程跟踪(便携式,与主机无关)

  • 运行时间: mcp-server-roundtable +主机特定的文本插件/技能(Claude/Codex)
  • Claude/Codex入口点是 /roundtable:* 和 roundtable-* 技能
  • 核心MCP工具: roundtable, roundtable-batch, info
  • 优势:适用于支持MCP的主机,灵活的并行扇出,明确的角色控制
  • 重点:在主机本机代理/任务API不可用的情况下进行可移植编排

为什么分裂?

因为这两个系统优化了不同的约束:

维度 OpenCode原生轨迹 MCP+提示轨迹
编排基板 主机本地任务引擎 MCP工具扇出
会话连续性 本机子会话,UI可见 会话存储+后端恢复
可观察性 可点击的后台任务 MCP结构化输出/日志
角色来源 OpenCode/oh我的开源代理目录 ~/.config/roundtable/config*.json 角色
最佳用例 深入圆桌讨论 跨主机可移植性+脚本扇出

圆桌会议第一次设计

该项目现在明确 圆桌会议先行:

  • 圆桌会议是核心能力和主要产品方向。
  • 圆桌批处理是一种次要功能,主要用于独立的扇出工作负载。
  • 在MCP轨道上,独立扇出仅在以下情况下暴露 roundtable-batch.

回购布局

  • mcp-server-roundtable/ --MCP服务器(Rust)。通过会话重用将提示路由到配置的后端。
  • plugins/claude-code/roundtable/ --Claude Code插件(斜线命令, /roundtable:*).
  • plugins/codex/roundtable/ --食品法典技能(roundtable-*).
  • plugins/opencode/roundtable/ --OpenCode原生插件(/roundtable,本地任务编排)。

OpenCode跟踪快速启动

安装本地插件:

mkdir -p ~/.config/opencode/plugins
ln -sf "$(pwd)/plugins/opencode/roundtable/index.js" \
  ~/.config/opencode/plugins/roundtable-opencode.js

重新启动OpenCode,然后使用:

  • /roundtable --硬路由即时合同 task(...) + background_output(...)

政策要点:

  • 参与者必须使用 subagent_type (不是 category).
  • 第2+轮必须继续之前的参与者会议。
  • roundtable_native_roundtable 在以下过程中被软锁定 /roundtable 除非 allow_native=true 已明确设置。

MCP轨道快速启动

  1. 构建MCP服务器:
cd mcp-server-roundtable
cargo build --release
  1. 在克劳德代码中注册服务器:
claude mcp add roundtable -s user --transport stdio -- \
  "$(pwd)/target/release/mcp-server-roundtable"
  1. 安装Claude插件:
claude plugin marketplace add "./plugins/claude-code"
claude plugin install roundtable@roundtable-local
  1. 使用插件命令(/roundtable:*)和MCP工具:
  • /roundtable:conductor <task>
  • /roundtable:roundtable <topic>
  • mcp__roundtable__roundtable
  • mcp__roundtable__roundtable_batch
  • mcp__roundtable__info

文档索引

  • docs/cli-output-modes.md --权威输出/流解析规则(从这里开始)
  • docs/cli-*.md --每个CLI标志映射、会话恢复和CLI特定注释
  • docs/config-schema.md --配置字段、默认值和角色解析规则

客户端特定配置: config-<client>.json 当MCP时是首选 client (或 ROUNDTABLE_CLIENT)已设置。

注: examples/config.json 是一个仅限技术的模板(没有角色覆盖)。 角色内置于MCP服务器中; roles.<id>.personas 是可选的,并覆盖内置。 有关Codex托管的工作流程,请参阅 examples/config-codex.json.

CLI适配器矩阵(MCP轨道)

所有后端均由嵌入式适配器目录(MiniJinja)驱动 args_template + output_parser). 模型参考如下 backend/model@variant (变体可选)。变量覆盖 options, 并且仅在适配器将这些选项映射到CLI标志时生效。

后端(CLI) 文件系统功能 配置->CLI标志 模型id命名 选项/变体映射 输出解析器和会话
codex 只读、读写 --sandbox read-only / --sandbox workspace-write codex/<model>@variant 映射到 -c key=value (变体变为 -c) json_stream,支持会话
claude 只读、读写 --permission-mode plan / --dangerously-skip-permissions claude/<model>@variant 默认情况下未映射 json_object,支持会话
gemini 只读、读写 --approval-mode plan + --sandbox / -y gemini/<model>@variant 默认情况下未映射 json_object,支持会话
opencode 只读 无只读标志 opencode/<provider>/<model>@variant 默认情况下未映射 json_stream,支持会话
kimi 仅可读写 没有只读标志 kimi/<model>@variant 默认情况下未映射 text (无状态),无会话id

适配器注意事项:

  • 适配器目录嵌入在服务器中(否 adapter.json).
  • args_template 是一个令牌列表;空令牌被丢弃。
  • include_directories auto来源于prompt(Gemini)中的绝对路径。
  • 嵌入式适配器默认为 prompt_transport=auto.
  • json_stream 支持可选的回退解析(fallback=codex)何时 message_path 不见了。
  • 后端可以定义 fallback 重试模型未找到错误。

备注

  • MCP服务器与主机无关;任何支持MCP的CLI都可以使用它。
  • 插件/技能的设计是特定于主机的。
  • 目录名称和插件ID统一为 roundtable;品牌建设是圆桌会议的首要任务。