模型 / 数据集
agent-of-empires/agent-of-empires avatar
agent-of-empires/agent-of-empires

Agent of Empires:用 tmux 和 Rust 管理多个 AI 编码代理的会话管理器

Manage multiple Claude Code, OpenCode agents from either TUI or Web for easy access on mobile. Also supports Mistral Vibe, Codex CLI, Gemini CLI, Pi.dev, Copilot CLI, Factory Droid Coding.

3,249 个 Star352 个 ForkRustMIT

秒懂

它是什么?
Agent of Empires 把多个 AI 编码代理放进各自的 tmux 会话,提供 TUI、Web 和 HTTP API 来监控与操作。它适合需要并行跑多个代理的开发者,但依赖 tmux 和 POSIX 环境,Windows 原生不支持。
适合谁用?
如果你经常在多个分支上并行运行 Claude Code、OpenCode 或 Codex CLI,并且需要断线后继续工作,Agent of Empires 值得一试。它把 tmux 的持久性、git worktree 的隔离和 Web 远程访问整合在一起,省去自己拼脚本的麻烦。
能商用吗?
可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 Rust(依据 GitHub 的语言统计)。

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

开源项目深度解析

它解决什么问题

同时跑多个 AI 编码代理是件混乱的事。每个代理占用一个终端,输出混在一起,你不知道哪个在等待输入、哪个已经出错。如果 SSH 断掉或终端崩溃,代理进程可能直接消失。Agent of Empires 把这些问题集中处理:它为每个代理创建一个独立的 tmux 会话,让代理在后台持续运行,即使你关掉 TUI 或断开连接也不会中断。它面向的是同时操作多个代理的开发者,尤其是需要跨分支、跨仓库工作的场景。项目主页明确说支持 Claude Code、OpenCode、Mistral Vibe、Codex CLI、Gemini CLI、Pi.dev、Copilot CLI、Factory Droid Coding,所以它更像一个通用调度层,而不是绑定某个特定模型。

核心机制:tmux 会话加状态检测

Agent of Empires 没有重新发明进程管理,而是建立在 tmux 之上。每个代理跑在自己的 tmux 会话里,所以持久性由 tmux 保证。关键区别在于它增加了代理感知的状态检测。README 提到它能识别代理是 running、waiting、idle 还是 error,这比裸 tmux 只能看到终端输出要实用得多。你可以在 TUI 里按 `?` 查看快捷键,底部信息栏会根据上下文显示可用按键。它还管理 git worktree,让你在不同分支上并行启动代理而互不干扰。Docker、Podman 和 Apple Containers 是可选的沙箱层,用来隔离代理的文件系统操作。整个系统用 Rust 编写,但用户不需要关心 Rust,安装后直接使用 `aoe` 命令即可。

安装与启动:三条命令上手

安装前提是 tmux,Docker 可选。官方提供四种方式:curl 脚本、Homebrew、Nix 和源码编译。curl 安装适合快速尝试,命令是 `curl -fsSL https://raw.githubusercontent.com/agent-of-empires/agent-of-empires/main/scripts/install.sh | bash`。macOS 用户可以直接 `brew install aoe`,Nix 用户用 `nix run github:agent-of-empires/agent-of-empires`。想从源码构建就克隆仓库后执行 `cargo build --release`。启动流程很直接:运行 `aoe` 进入 TUI,用 `aoe add --cmd claude` 创建一个跑 Claude Code 的会话,用 `aoe serve` 启动 Web 仪表盘。README 强调一个关键快捷键:`Ctrl+b d` 可以从当前会话脱离并返回 TUI。注意,项目没有提供 Windows 原生支持,只通过 WSL2 运行,因为依赖 tmux 和 POSIX 进程处理。

Web 与 API:手机也能监控代理

TUI 适合在电脑上操作,但 Web 界面是它区别于普通 tmux 包装器的重要功能。README 展示了桌面浏览器上的完整仪表盘,包括终端视图和 diff 视图,而在手机上则是结构化视图,方便快速查看状态。`aoe serve` 启动的 Web 服务让远程访问成为可能,你可以通过浏览器监控代理,而不必 SSH 到机器上。除了 Web,它还提供 HTTP API 和 CLI 接口,这意味着你可以写脚本查询代理状态或触发操作。文档中有专门的 API 参考页面,但 README 没有给出具体端点示例,所以实际使用时需要查阅官方文档。这种多表面设计对需要远程协作或临时查看进度的人有用,但如果你只在本机工作,Web 功能可能是多余的。

真正的限制:tmux 依赖和沙箱复杂度

最大的限制是它完全依赖 tmux。如果你不熟悉 tmux 的会话、窗口和脱离概念,学习曲线会陡峭。README 承认 Windows 原生不支持,只通过 WSL2 工作,这对部分开发者是硬门槛。另一个潜在问题是沙箱功能:Docker、Podman 和 Apple Containers 是可选依赖,但如果你要隔离代理的文件操作,必须先安装并配置好容器运行时。项目没有在 README 中说明沙箱的默认行为,比如每个代理是否自动获得独立容器,还是需要手动指定。这意味着沙箱的实际使用方式需要查阅 guides 文档。此外,状态检测的准确性依赖于代理的输出格式,如果某个代理不在 `aoe agents` 列表中,可能无法正确识别状态,导致监控失效。

与裸 tmux 的对比:多了什么,少了什么

README 专门回答了这个问题。直接使用 tmux 只能提供持久会话,而 Agent of Empires 增加了代理感知的状态检测、git worktree 管理、Docker 沙箱、Web 仪表盘和 diff 查看器。它没有替换 tmux,而是包装它,你仍然可以 `tmux attach` 到任何 AoE 会话。这种设计的好处是你可以随时退回到熟悉的 tmux 工作流,坏处是它引入了额外的抽象层,比如 TUI 的按键绑定和 Web 服务的配置。如果你已经有一套 tmux 脚本管理代理,Agent of Empires 可能显得冗余;但如果你想要开箱即用的多代理管理,它比手动写 tmux 脚本省事。项目灵感来自 agent-deck(Go 和 Bubble Tea 编写),但 Agent of Empires 选择了 Rust,这可能意味着更关注性能和类型安全。

维护与许可证:社区驱动,但注意第三方代码

项目由 Agent of Empires 社区维护,并得到 Mozilla.ai 的支持。仓库活跃,最近一次推送在 2026 年 9 月,v1.15.3 版本发布于 2026 年 9 月 2 日。这意味着修复和功能更新比较频繁。许可证是 MIT,适合商业使用。但 README 特别提到一个文件 `src/tui/hyperlink.rs` 包含来自 herdr 项目的代码,采用 Apache License 2.0。如果你要分发修改版本,需要保留那个文件的版权声明和许可证文本。项目还提供了 THIRD_PARTY_NOTICES.md 文件,但 README 被截断,没有列出完整内容。升级成本方面,由于是 Rust 项目,用 Homebrew 或 Nix 安装的版本可以方便更新,源码构建则需要重新编译。频繁发布可能意味着你需要定期更新以获取 bug 修复,但也可能引入行为变化。

编辑结论

如果你经常在多个分支上并行运行 Claude Code、OpenCode 或 Codex CLI,并且需要断线后继续工作,Agent of Empires 值得一试。它把 tmux 的持久性、git worktree 的隔离和 Web 远程访问整合在一起,省去自己拼脚本的麻烦。但如果你只用单个代理、没有 tmux 使用经验,或者主力环境是 Windows 原生系统,它带来的复杂度可能超过收益。在采用前,先确认你的代理工具在 `aoe agents` 列表中可用,并检查 Docker 或 Podman 是否已安装,因为沙箱功能依赖它们。另外,注意项目包含一个来自 herdr 的 Apache 2.0 许可文件,虽然整体是 MIT,但如果你要分发修改版本,需要保留那个文件的版权声明。

官方来源

  1. agent-of-empires/agent-of-empires on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
社区笔记

社区笔记