Omnigent 完全指南:4079⭐ 的开源 AI Agent 元编排框架,统一管理 Claude Code、Codex、Cursor 和 Pi
你的开发机上可能同时装了好几个 AI 编码 Agent:Claude Code 写后端、Codex 生成前端、Cursor 做日常重构、Pi 做快速实验。每个 Agent 有自己的 CLI、自己的配置、自己的会话记录,彼此之间井水不犯河水——直到你开始想「能不能让 Claude Code 写完后让 Codex 帮忙 Review」、「能不能用手机查看桌面上 Agent 正在做什么」。
Omnigent 就是为解决这个场景而生的开源元编排框架(meta-harness)。它用一个统一层管理所有主流 AI 编码 Agent,支持跨设备会话、多 Agent 协作、策略治理和云端沙箱。截至 2026 年 6 月,GitHub 已有 4079⭐,Apache-2.0 许可,Python 生态。
不只是「又一个 Agent 框架」
Omnigent 的核心定位不是写代码给你,而是管代码给你写代码的人。它把 Claude Code、Codex、Cursor、Pi 和自定义 Agent 统一在同一个会话中,让你可以:
- 在终端、浏览器、手机上访问同一个 Agent 会话
- 同时运行多个 Agent,让一个 Review 另一个的工作
- 设置安全策略——执行前确认、预算上限、工具调用限制
- 与团队成员共享会话,实时观看 Agent 工作
快速安装
两条命令就能开始:
curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh
安装脚本会自动配置依赖(Python 3.12+、uv、tmux)。如果你更喜欢包管理器:
uv tool install omnigent # PyPI 安装 brew install omnigent-ai/tap/omnigent # Homebrew(macOS)
安装后 CLI 有两个名字:omnigent 和短名 omni,完全等价。
首次启动:三行命令体验全貌
omni # 启动会话,自动探测环境中的 API Key omni claude # 启动 Claude Code 会话(团队可加入) omni codex # 启动 Codex 会话
首次运行时,Omnigent 会自动从环境变量中读取 ANTHROPIC_API_KEY、OPENAI_API_KEY 或已登录的 claude/codex CLI 凭据,作为默认模型提供:
omni setup # 管理凭据:API Key、订阅、网关、Databricks
四种凭据类型覆盖了几乎所有使用场景:
| 类型 | 说明 | 示例 |
|---|---|---|
| API Key | 厂商直接密钥 | ANTHROPIC_API_KEY |
| 订阅 | Claude Pro/Max 或 ChatGPT 计划 | 通过官方 CLI 传递 |
| 网关 | 任意兼容端点 | OpenRouter、Ollama、vLLM、Azure |
| Databricks | Databricks 工作区 | 需额外安装 databricks 插件 |
内置 Agent:Polly 与 Debby
Omnigent 自带两个示例 Agent,同时也是很好的上手 Demo。
🐙 Polly——多 Agent 编码协调师。它自己不写一行代码,而是扮演技术主管角色:负责规划任务、把工作分派给子 Agent(Claude Code / Codex / Pi)在不同的 git worktree 中并行执行,然后把每个 diff 交给不同厂商的 Review 工具做交叉审核。你只需要做最后的合并。
omni run examples/polly/ # 默认 Harness omni run examples/polly/ --harness pi # 指定 Pi 做 Harness
🟠🔵 Debby——双头脑暴伙伴。同一个问题同时发给 Claude 和 GPT 两个「脑袋」,两边各自作答。输入 /debate 后两个脑袋会互相批评几个回合再收敛输出。这需要同时配置 Claude 和 OpenAI 凭据。
跨设备会话:终端、浏览器与手机
Omnigent 的会话不仅在终端中可用。启动本地服务器后:
omni server start # 在后台启动本地 Web UI
浏览器打开 http://localhost:6767,你可以看到与终端完全同步的会话界面。手机在同一局域网内直接访问 http://192.168.x.x:6767 即可。
如果需要远程访问,docker compose up 就能把服务部署到任意 VPS:
omni login https://your-host.com omni host https://your-host.com # 注册本机为 Host
支持 Render(一键部署)、Fly.io、Railway、Hugging Face Spaces、Modal 等多种部署目标。部署后团队的会话、终端、文件实时同步。
策略治理:让你的 Agent 更安全
Omnigent 的策略(Policy)系统是它区别于普通 Agent 框架的关键功能。每条策略检查 Agent 的每个行为,决定是放行、拦截还是暂停询问你:
policies:
approve_shell:
type: function
handler: omnigent.policies.builtins.safety.ask_on_os_tools
cap_calls:
type: function
handler: omnigent.policies.builtins.safety.max_tool_calls_per_session
factory_params:
limit: 50
budget:
type: function
handler: omnigent.policies.builtins.cost.cost_budget
factory_params:
max_cost_usd: 5.00
ask_thresholds_usd: [3.00]
策略可以设置为三个层级:服务器级(管理员默认)、Agent 级(开发者配置)、会话级(用户临时设定),更严格的规则会优先检查。
在 Web UI 中,你可以直接在会话信息面板开关策略。或者在聊天中直接说「加一条策略,执行 Shell 命令前先问我」,Agent 会帮你自动配置。
自定义 Agent:用 YAML 定义你的专属助手
不需要写 Python 代码,一个 YAML 文件就定义一个 Agent:
name: my_agent
prompt: You are a helpful data analyst.
executor:
harness: claude-sdk
tools:
word_count:
type: function
callable: mypackage.mymodule.word_count
researcher:
type: agent
prompt: Search for relevant information and summarize it.
tools:
word_count: inherit
支持的 Harness 类型包括 claude‑sdk、codex、codex‑native、cursor、openai‑agents、pi 等。运行方式:
omni run path/to/agent.yaml
更有意思的是,你可以在 Omnigent 聊天中直接用自然语言描述想要的 Agent,它会自动帮你生成 YAML 文件。
横向对比:Omnigent vs 其他方案
| 维度 | Omnigent | 单独使用 Claude/Codex | AWF(工作空间隔离) | Circus Chief(控制面板) |
|---|---|---|---|---|
| 多 Agent 统一管理 | ✅ 原生 | ❌ 各自独立 | ❌ 工作空间层 | ✅ 会话层 |
| 策略治理 | ✅ 三层策略 | ❌ 无 | ❌ 无 | ❌ 无 |
| 跨设备访问 | ✅ 终端+Web+手机 | ❌ 仅终端 | ❌ 仅终端 | ✅ 浏览器 |
| 多模型/网关支持 | ✅ 4 种凭据类型 | ⚠️ 仅厂商 | ❌ 不适用 | ❌ 不适用 |
| 团队协作 | ✅ 共享会话+邀请 | ❌ 无 | ❌ 无 | ✅ 会话分享 |
| 代码量 | 0 行(YAML 定义) | 0 行 | 需 Docker 知识 | 0 行 |
| 沙箱隔离 | ✅ bwrap/seatbelt | ❌ 无 | ✅ Docker | ❌ 无 |
| 开源许可 | Apache-2.0 | 各厂商协议 | Apache-2.0 | Apache-2.0 |
适用场景
- 多 Agent 工作流:你同时使用多个 AI 编码工具,希望在一个界面管理所有会话
- 团队协作:团队需要共享 Agent 会话、实时查看编码过程
- 安全治理:需要为 Agent 的操作设置审批门槛、成本上限和沙箱隔离
- 远程开发:在服务器上跑 Agent,在手机上查看进度
注意事项
- 当前为 alpha 阶段,核心功能稳定但 API 可能随版本更新变化
- 依赖
tmux(macOS 和 Linux 都需要),安装脚本会自动处理 - Linux 需要
bubblewrap(bwrap)做沙箱隔离,macOS 使用内置 seatbelt - 如果使用网关(如 OpenRouter),注意 Claude Code 和 OpenAI Agent 的 base URL 不同
总结
Omnigent 通过一个统一层解决了「AI 编码工具碎片化」的实际痛点。它不只是一个命令行包装器,而是提供了完整的会话管理、策略治理、团队协作和跨设备访问能力。如果你手上同时有 2-3 个 AI 编码 Agent 在跑,Omnigent 能帮你从「手动切换多个终端窗口」升级为「一个界面统筹所有 Agent」的工作流。