☰
Agent of Empires HTTP API完全参考:用curl、脚本和MCP驱动AI代理会话
2026/9/27 2:05:59 网站建设 项目流程

Agent of Empires HTTP API完全参考:用curl、脚本和MCP驱动AI代理会话

【免费下载链接】agent-of-empiresManage 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.项目地址: https://gitcode.com/gh_mirrors/ag/agent-of-empires

Agent of Empires(AoE)是一款多 AI 代理会话管理器,支持统一管理 Claude Code、OpenCode、Codex CLI、Gemini CLI 等代理。它内置的HTTP API让你无需打开终端,就能用 curl、Shell 脚本或 MCP 工具创建会话、发送提示词、读取输出,实现真正的 AI 代理自动化编排。

快速上手:启动 aoe serve 获取 API 令牌

HTTP API 由aoe serve命令暴露,它与 Web 仪表盘共用同一套接口。启动后,AoE 会打印一个访问令牌(在 TUI 的 Serve 面板中也能看到):

aoe serve # 默认监听 127.0.0.1:8080 aoe serve --port 7777 --host 0.0.0.0 # 局域网/手机访问

所有端点都要求携带该令牌,--no-auth模式除外。令牌有三种传递方式,任选其一:

方式示例
Bearer 头-H "Authorization: Bearer $AOE_TOKEN"
查询参数?token=$AOE_TOKEN
Cookieaoe_token=$AOE_TOKEN

💡 小贴士:脚本里推荐用 Bearer 头,避免令牌泄漏进 URL 日志。

会话列表 API:用 curl 查看所有代理状态

GET /api/sessions返回全部会话(含已归档与回收站),可用state参数在服务端过滤:live(仅活跃)、trashed(仅回收站)、all(默认)。

curl -sS -H "Authorization: Bearer $AOE_TOKEN" \ "http://localhost:7777/api/sessions?state=live"

每行的status字段为PascalCase,是脚本判断"该不该轮询"的关键:

状态含义
Running代理正在干活
Waiting停止并等待输入,需要提示词
Idle本轮结束,可视为任务完成
Error/Stopped出错或面板已消失

创建会话:一个 POST 拉起 AI 代理

POST /api/sessions创建新会话,核心字段:

{ "path": "/path/to/repo", "tool": "claude", "title": "Fix Login Flow", "worktree_enabled": true, "create_new_branch": true }
  • worktree_enabled:自动创建托管 worktree 与分支,多会话并行改代码互不干扰;
  • callback_url:会话进入Waiting/Idle/Error时向你的服务 POST 一个状态通知,派发器无需轮询(要求公网可达地址,不能指向内网回环);
  • idempotency_key:重试时返回同一个会话(200)而非创建重复项,跨守护进程重启也有效。

加上?wait=ready可阻塞至状态离开Starting(上限 10 秒),适合 CI 里串行等待。

send + output:两条 curl 把代理变成子代理

这是驱动代理的最小原语对:

1. 发送提示词(等同于在 TUI 里敲键盘):

curl -sS -X POST -H "Authorization: Bearer $AOE_TOKEN" \ -H "Content-Type: application/json" \ -d '{"message":"summarize the failing test"}' \ "http://localhost:7777/api/sessions/abc123/send"

2. 轮询状态回到Idle(比轮询输出更便宜),然后读取输出:

curl -sS -H "Authorization: Bearer $AOE_TOKEN" \ "http://localhost:7777/api/sessions/abc123/output?lines=200&format=text"

output支持lines(默认 200,最大 2000)与format(text去 ANSI /ansi原始字节),且只读模式下也可用。

⚠️ 常见错误码:409 session_not_running(面板已消失,可配合revive: true自动复活)、400 acp_mode_unsupported(结构化视图会话无 tmux 面板)。同一会话的并发 POST 会被串行化,两个编排器抢一个会话也不会交错键盘输入。

状态回调与推送:告别轮询

三种"知道会话完成"的方式,按需选择:

  1. 轮询:定时GET /api/sessions,看status是否回到Idle;
  2. 回调:创建时传callback_url,状态切换时 AoE 主动 POST{"session_id", "old_status", "new_status", "at", "seq"};
  3. WebSocket 推送:仪表盘与 TUI 使用的推送通道同样可用于自研前端。

对于 MCP 编排场景,回调 +seq序号是最省心的方案:seq是进程内单调计数器,可据此丢弃乱序投递。

MCP 服务器管理 API

AoE 把配置好的 MCP 服务器 转发给结构化视图代理,并提供统一的管理面:

  • GET /api/mcp/servers?agent=claude:查看某代理的生效MCP 集合(含冲突与漂移标记,密钥值全部脱敏);
  • POST /api/mcp/servers/{name}/resolve:在"AoE 版本 / 代理原生配置"之间裁决冲突;
  • POST /api/mcp/servers/{name}/keep/drop:保留或丢弃从原生配置中消失的服务器。

配置分层优先级:代理原生 < 全局 mcp.json < 配置文件 mcp.json < 项目 .mcp.json。

Skills API:用脚本管理技能包

GET /api/skills # 列出全部技能 POST /api/skills # 创建托管技能 PUT /api/skills/{directory} # 替换 SKILL.md POST /api/skills/sync # 同步到各代理的技能目录 POST /api/skills/{source}/{dir}/adopt # 认领外部技能

同步是非破坏性的:手工编辑过的技能会报告conflict而绝不被覆盖,这让 API 可以安全地接入 CI。

安全模式与只读限制

  • --read-only:所有写端点一律返回403 read_only,适合对外暴露"只看不改"的会话监控页;
  • --auth=passphrase:去掉 URL 令牌,仅保留口令登录墙,适合反向代理后手机访问;
  • --daemon:后台守护运行,令牌与端点保持不变。

相关资源

  • 完整 API 文档:docs/api.md
  • 路由定义:src/server/router.rs
  • 发送/读取输出实现:src/server/api/sessions/send.rs
  • 会话列表实现:src/server/api/sessions/list.rs
  • serve 命令参数:src/cli/serve.rs
  • MCP 服务器指南:docs/guides/mcp-servers.md

掌握了sessions、send、output三个核心端点,你就能用任意脚本语言把 Agent of Empires 变成一个可编程的 AI 代理运行时 🚀

【免费下载链接】agent-of-empiresManage 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.项目地址: https://gitcode.com/gh_mirrors/ag/agent-of-empires

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询