Runner 多 Agent 协作终端
让多个编码 Agent 在真实终端中围绕同一任务分工协作。
- Star 数
- ★ 171
- 最近更新
- 今天
- License
- MIT
- 主语言
- Rust
- FA 评分
- 82/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 希望由一个编码 Agent 实现、另一个 Agent 审查工作区 diff,并持续修复直至审查通过的开发者。
- 不适合
- 需要 Linux、Intel Mac 或 Windows ARM64 支持的团队
- 要求生产级稳定性的团队;项目目前仍处于 alpha 阶段
- 不愿单独安装和配置 Agent CLI 的用户
- 源码审查
- 82/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Runner 是一款原生桌面应用,用于让 Claude Code、Codex、GitHub Copilot CLI 和 pi 围绕同一个开发目标协作,而不只是各自在独立终端中并行运行。用户先定义包含运行时、系统提示词和工作目录的 Role,再将多个 Role 组成带唯一负责人和团队约定的 Crew,最后启动 Mission。每个 Mission slot 都运行在独立的真实 PTY 中,并通过可持久化、可重放的事件 feed 交换消息、信号和面向用户的决策问题。应用还提供普通单 Agent Chat、分屏终端、项目分组、会话恢复、MCP 与技能配置管理,以及覆盖这些对象的 `runner` CLI。Runner 使用 Rust、gpui-ce、alacritty_terminal 和 SQLite 构建,无 WebView;状态、聊天和任务保存在用户自己的机器上。
Runner 读取并管理 Role、Crew、Project、Chat、Session 和 Mission 配置。启动 Mission 时,它为 Crew 的每个 slot 创建一个实时 PTY,并将代理自己的 TUI 保留在终端中;各成员通过追加式事件 feed、runner msg post、runner signal 和 runner ask 协调工作。负责人可以在需要决策时调用 ask_human,问题会显示在 feed 中,用户则可用界面或 runner mission answer 回复。应用支持停止、恢复或单独重启某个 slot,并在退出或崩溃后重新连接仍在运行的会话。Settings → MCP 和 Settings → Skills 会读取各 Agent 自己的配置文件,允许按 Agent 查看和切换 MCP server 或技能,同时只修改用户触碰的条目。runner 命令还能创建和维护项目、角色及团队,启动和归档任务,读取任务状态,并以 JSON 输出结果供 Agent 或脚本使用。
- 希望由一个编码 Agent 实现、另一个 Agent 审查工作区 diff,并持续修复直至审查通过的开发者。
- 需要让 Claude Code 与 Codex 在同一任务中承担不同角色,以获得跨供应商复核的团队。
- 同时运行多个终端 Agent,但希望集中查看工作状态、未读完成提示和人工决策请求的个人开发者。
- 需要把复杂仓库拆给架构、实现和审查角色,并保留完整协作事件记录的工程团队。
- 希望从 shell 或日常 Agent 中启动 Mission、跟踪 feed,并向负责人发消息的自动化用户。
- 需要在一个原生桌面界面中统一查看和开关 Claude Code、Codex 等工具的 MCP server 与技能配置的用户。
如何安装或部署这个 Agent?
从 GitHub Releases 下载对应平台的最新安装包。macOS 仅提供 Apple Silicon 的已签名、已公证 .dmg;Windows 提供面向 Windows 10 1809 或更高版本的已签名 Runner-Setup-…-x64.exe。Intel Mac、Windows ARM64 和 Linux 不受支持。
需要单独安装希望使用的 Agent CLI,并确保其位于 PATH;也可以在 Settings → Agents 中设置可执行文件路径。Windows 上,Claude Code 和 pi 的 bash 工具需要 Git for Windows;通过 npm 安装的 CLI 还需要 Node.js。
首次启动时,macOS 会在登录 PATH 已包含合适目录的情况下,把 runner 安装到 ~/.local/bin 或可写的 /usr/local/bin;否则可在 Settings → General → Command line 中点击安装。Windows 会把 Runner sidecar 目录加入用户 PATH。Runner 还会为检测到的 Agent 安装配套技能:Claude Code 使用 ~/.claude/skills/,Codex、GitHub Copilot CLI 和 pi 使用 ~/.agents/skills/。
如何使用这个 Agent?
先在桌面应用中创建或选择 Role,并把 Role 放入 Crew 的命名 slot;每个 Crew 必须有且只有一个 lead。设置任务目标后启动 Mission,即可在 feed 与各 slot 的实时终端之间切换。默认的 pair-coding Crew 使用 @coder 负责实现和修复,@reviewer 读取工作区 diff 并报告必须修复的问题。
可先确认 CLI 已连接到正在运行的 Runner:
runner status查看可用 Crew:
runner crew list --json从文件启动一个 Mission,并持续读取其 feed:
mission=$(runner mission start --crew <crew> --goal-file - -q < brief.md)
runner mission feed "$mission" --follow --json
runner mission show "$mission" --json向负责人发送消息、回答人工问题,然后停止并归档 Mission:
runner msg post --mission "$mission" --to <lead_handle> "message"
runner mission answer "$mission" <question_id> <choice>
runner mission stop "$mission"
runner mission archive "$mission"在 Mission 内部,Agent 可直接使用事件日志上下文:
runner msg post --to <handle> "message"
runner signal <type>
runner ask --human <prompt> --choices <a,b,...>自动化场景建议使用 --json;成功退出码为 0,Runner 拒绝操作为 1,用法或引用错误为 2,应用未运行为 3,沙箱阻止本地连接为 5。
这个 Agent 有哪些优点和局限?
- 每个 Agent 保留自己的真实 PTY 和原生 TUI,不需要把不同供应商的交互方式压缩成统一聊天界面。
- Mission feed 是持久化、可重放的追加式事件日志,应用退出或崩溃后仍可重新连接尚在运行的会话。
- 同时支持 Claude Code、Codex、GitHub Copilot CLI 和 pi,可在同一 Crew 中混合不同运行时。
- 桌面界面与
runnerCLI 覆盖 Role、Crew、Mission、Session、Chat 和 Project,便于人、脚本和 Agent 使用同一套控制面。 - MCP 与技能面板直接读取各 Agent 的原有配置文件,并承诺只修改用户操作的条目。
- 本地原生架构采用 Rust、gpui-ce、alacritty_terminal 和 SQLite,无 WebView,状态保存在用户机器上。
- 项目明确标记为 alpha,仍在积极迭代,采用者需要接受预发布阶段的稳定性和变更风险。
- 仅支持 Apple Silicon macOS 与 Windows x64;Linux、Intel Mac 和 Windows ARM64 均不受支持。
- 各 Agent CLI 必须单独安装;某些运行时还附带订阅或模型供应商要求,例如 GitHub Copilot CLI 需要 Copilot 订阅。
- Windows 上 GitHub Copilot CLI 与 pi 虽可原生运行,但尚未经过 smoke test。
- Codex 不支持在 Runner 中显示需要用户处理的批准和问题对话框;pi 仅能通过扩展提供该能力。
- Mission 默认使用 Bypass 权限模式,团队在采用前需要评估其权限策略是否符合自身安全要求。
这个 Agent 与同类方案有什么区别?
与给每个 Agent 单独开一个互不关联的终端相比,Runner 增加了 Role、Crew、唯一 lead、共享事件 feed、持久化 Mission 和 ask_human 决策流程,同时仍保留每个 Agent 的真实终端界面。它没有限定单一模型供应商:Claude Code、Codex、GitHub Copilot CLI 和 pi 可以组成同一 Crew,但不同运行时的功能覆盖并不完全一致。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Runner 多 Agent 协作终端 当前 | 82 · 存在缺口 | 桌面应用免费 | ★ 171 | 今天 | Rust | Codex · Claude Code |
| amux 智能体控制平面 | 77 · 表现良好 | 自托管服务免费 + 模型费 | ★ 503 | 今天 | Rust | Codex · Claude Code |
| zerostack | 57 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.7k | 3 天前 | Rust | OpenAI API · Claude API |
| Vigil 多智能体终端编排器 | 69 · 存在缺口 | 桌面应用免费 + 模型费 | ★ 28 | 19 天前 | Swift | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
源码材料清楚说明本地 SQLite 持久化、真实 PTY、配置文件修改范围、CLI 外部效果、签名发布流程及作者归属;CI 采用只读 contents 权限,下载的 Sparkle 工具还校验固定哈希。扣分点是任务默认使用 Bypass 权限模式,许多创建、删除、停止和归档操作未显示逐项确认机制;没有完整说明代理提供商网络流量、日志或凭据的生命周期;停止、恢复和重启不等于数据级撤销或备份。
README、Cargo 工作区、CI、发布流程和测试夹具对产品结构与平台支持的描述总体一致。CI 覆盖 macOS、Windows、格式、Clippy、测试、锁文件、安装器及资源检查,错误路径也有明确消息和 CLI 退出码。扣分是外部代理 CLI、Node.js、Git for Windows、模型订阅和更新服务仍需另行提供,且部分 Windows 代理组合明确尚未冒烟测试。
材料详细区分角色、团队、任务、聊天、项目与会话,并给出多种团队形态、人类参与点、机器可读输出和跨代理矩阵。支持边界、命令上下文、PATH 检测、可执行文件覆盖以及 macOS/Windows 限制都很具体,因此相关项可获高分;但这只是静态材料判断,不代表所有组合已实际验证。
README 导航清楚,安装、平台要求、CLI、示例团队、社区渠道、作者和许可证均有明确位置;术语与 Cargo 包名基本稳定。MIT 文本、版权和历史许可证变化都有说明。扣分主要在于没有独立 FAQ,且所给材料只有当前版本号、发布入口与 nightly 说明,没有完整的稳定版本变更日志。
产品输出兼顾可读表格、摘要、JSON、事件流和真实终端,并提供可复制的团队示例;相对多个孤立终端,其持久化协调、角色分工和人工决策入口具有明确增量价值。扣分是没有量化 CPU、内存、令牌、订阅费用或多代理并发成本,成本收益主要是产品主张。
关键结构性主张可由 Cargo、CI、nightly 工作流和夹具相互印证;源码材料也明确标注 alpha、未支持平台和未冒烟测试项目,事实与限制区分较好。扣分是若干 UI、崩溃恢复、配置最小改写和完整运行行为仅由 README 陈述,而其引用的架构文档、示例文件及生产代码未包含在本次材料中。
- 任务默认使用 Bypass 权限模式;在包含不受信任代码或敏感工作区时,应改用更严格模式并审查代理命令。
- Runner 可启动多个具有真实终端和工作目录访问权的外部代理;各代理自身的网络、遥测、凭据和订阅行为不由这些材料完整说明。
- 项目仍标为 alpha,且 Linux、Intel Mac、Windows ARM64 不受支持,部分 Windows 代理组合尚未冒烟测试。
- 停止、恢复、重启和归档不是文件或数据库回滚方案;执行删除或配置修改前应保留独立备份。