命令行工具
RunMaestro/Maestro avatar
RunMaestro/Maestro

Maestro 评测:把多个 AI 编程代理装进一个键盘优先的桌面指挥台

代理编排指挥中心。注意:Maestro 支持 Claude Code、OpenAI Codex、OpenCode、Factory Droid 和 Copilot-CLI(测试版)。

3,339 个 Star356 个 ForkTypeScriptAGPL-3.0

秒懂

它是什么?
Maestro 是一款跨平台桌面应用,用于并行编排 Claude Code、Codex、OpenCode 等 AI 编程代理。它把会话管理、Git worktree、自动执行和移动端远程控制集中到一个界面,但 AGPL-3.0 许可和 beta 阶段的 Copilot-CLI 支持需要你提前确认。
适合谁用?
Maestro 适合那些同时维护多个项目、习惯用键盘操作、并且愿意让 AI 代理长时间无人值守运行的人。它把会话发现、Git worktree、自动执行和移动端远程控制整合在一起,省去了在多个终端窗口之间切换的麻烦。
能商用吗?
可以,但条件严格。AGPL-3.0 是网络 copyleft 许可证:如果别人通过网络使用你修改过的版本(例如作为托管服务),你必须以同一许可证向他们提供源代码。
还在维护吗?
在维护。仓库最近一次提交在 1 天前。
用什么语言写的?
主要是 TypeScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题

同时跑多个 AI 编程代理,最烦人的不是代理本身,而是会话管理。每个代理有自己的终端、历史记录和上下文,切来切去容易丢思路。Maestro 把 Claude Code、OpenAI Codex、OpenCode、Factory Droid 和 Copilot-CLI(beta)这几种代理的会话统一收进一个桌面应用。它面向的是那些同时推进多个项目、几乎不碰鼠标的键盘重度用户。文档里那句话说得很直白:Maestro 把分散的注意力磨成集中的意图。它不是一个新的 AI 引擎,而是一个调度层。

Pass-through 机制:它不替你配置任何东西

Maestro 的核心设计是 pass-through,也就是透传。README 明确说,你在 Claude Code、Codex 或 OpenCode 里配置的 MCP 工具、技能、权限和认证,在 Maestro 里完全一样地工作。区别只在于它不交互式运行,每个任务拿到一个提示词,然后返回响应,无论这是新会话还是恢复旧会话。这意味着 Maestro 不提供额外的安全边界,也不帮你管理 API 密钥。如果你在某个代理里给了文件系统写权限,Maestro 里的任务同样有这个权限。这个设计的好处是学习成本低,坏处是你不能指望 Maestro 帮你做权限收敛。

Git Worktree 与并行开发

并行开发的一个痛点是分支冲突。Maestro 用 Git worktree 解决这个问题:从 git 分支菜单创建子代理,每个子代理在自己的目录里独立工作,主仓库可以继续交互式操作。子代理完成后,一键创建 PR。这比在同一个工作目录里跑多个代理要干净得多。文档强调这是真正的并行开发,没有冲突。不过要注意,worktree 是 Git 本身的功能,Maestro 只是把它包装进了界面。如果你不熟悉 worktree 的磁盘占用和清理机制,可能需要先补课。

Auto Run 与 Playbooks:文件系统上的任务编排

Auto Run 是一个基于文件系统的任务运行器,它批量处理 markdown 检查清单,每个任务都在一个全新的 AI 会话里执行,保证上下文干净。你可以为重复性工作流创建 playbook,循环运行,并跟踪完整历史。这个机制适合无人值守的长任务,README 提到作者有一次连续运行了近 24 小时。每个任务独立会话意味着你不会把上一个任务的中间状态带进来,这减少了上下文污染,但也意味着每个任务都要重新理解项目背景。如果你需要跨任务共享上下文,这个设计可能不适合你。

消息队列与 Agent Resilience

两个机制值得单独说。消息队列:当 AI 忙时,你发送的消息会排队,等代理就绪后自动发出。这避免了在终端里反复敲回车等响应。Agent Resilience 处理的是更麻烦的情况:当一次 turn 因为 529 Overloaded 或者计划配额耗尽而失败时,Maestro 会自动重发相同的提示词,如果错误信息里有重置时间,它会等到那个时间再重试,而不是盲目反复请求。它还支持可选的后备端点,主端点失败时自动切换。这个设计很实际,因为 AI 服务的不可靠是常态,而不是例外。

安装与运行:CLI 和桌面应用

Maestro 提供了完整的 CLI,叫 maestro-cli,用于无头操作。你可以列出代理和分组,从 cron 或 CI/CD 管道运行 playbook,输出支持人类可读或 JSONL 格式,方便脚本处理。桌面应用本身是跨平台的,但 README 没有给出具体的安装命令,比如 npm install 或 brew install。你需要去官网或文档查找安装方式。CLI 的存在意味着你可以在服务器上跑 Maestro,而不必打开图形界面。但注意,CLI 和桌面应用是同一套配置,如果你在桌面端设置了复杂的代理配置,CLI 也能用。

限制与风险:AGPL-3.0 和 beta 功能

Maestro 采用 AGPL-3.0 许可。这意味着如果你修改了代码并部署为网络服务,你可能需要开源你的修改版本。对于个人使用或内部工具,这通常不是问题,但如果你计划把它集成到商业产品中,需要仔细评估。另一个风险是 Copilot-CLI 支持目前是 beta,README 明确标注了这一点。beta 意味着行为可能变化,也可能有 bug,不要把它当作稳定的工作流依赖。此外,移动端远程控制依赖 Cloudflare 隧道,如果你的网络环境禁止这种隧道,手机控制功能就只能在局域网内使用。

替代方案与对比

如果你不想用桌面应用,直接使用 Claude Code 或 Codex 的原生终端是 Maestro 最直接的替代方案。区别在于,原生终端是单代理、单会话的,你需要自己管理多个终端窗口和上下文。Maestro 的价值在于把多代理的会话发现、worktree 和自动执行集中起来。另一个替代方案是写脚本调用各代理的 CLI,然后用 cron 调度,但那样你就得自己处理消息队列和错误重试。Maestro 把这些内置了。如果你只用一个代理,且不需要无人值守运行,原生终端更轻量,没有 AGPL 许可的负担。

编辑结论

Maestro 适合那些同时维护多个项目、习惯用键盘操作、并且愿意让 AI 代理长时间无人值守运行的人。它把会话发现、Git worktree、自动执行和移动端远程控制整合在一起,省去了在多个终端窗口之间切换的麻烦。不适合以下人群:只用一个代理、偶尔用一次、或者不能接受 AGPL-3.0 许可的人。在采用之前,先确认三件事:你的代理配置文件(MCP 工具、权限、认证)在 Maestro 中是否原样生效,因为文档说它是 pass-through,但实际行为需要你自行验证;Copilot-CLI 目前是 beta,生产工作流不要依赖它;远程隧道通过 Cloudflare 实现,如果你的网络环境不允许,手机控制功能会受限。如果你能接受这些边界,Maestro 的并行会话和自动恢复机制值得一试。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记