Omnigent
统一编排多种编程智能体,并提供协作、策略治理与沙箱运行能力。
按维度查看评分与理由
证据显示有策略系统(如ask_on_os_tools)和预算上限,支持用户确认;但数据流透明性仅提及遥测,未详细说明内部数据流;敏感数据处理有keyring和文件权限说明;依赖有版本锁定和注释,但未提及漏洞扫描;外部影响有沙箱和策略控制;回滚有uninstall和upgrade机制;来源归属未验证发布者,但代码中有作者信息。扣分:数据流透明性不足,来源归属未验证。
自洽性:README与pyproject.toml版本一致,但存在dev0版本;依赖可用性:有版本锁定和注释,但未提及镜像或备用源;失败消息:有错误处理示例,但未系统说明。扣分:版本不一致(dev0),失败消息文档不足。
受众明确(开发者),场景多样(多设备、多代理);能力边界有说明(Windows限制);触发精度有策略和命令;环境适配有跨平台说明。扣分:无重大缺陷。
信息架构清晰(README、docs);安装说明详细;命名稳定(omnigent/omni);示例丰富(Polly、Debby);已知限制有说明(Windows);许可证明确(Apache-2.0);版本控制有pyproject.toml但无CHANGELOG;维护责任有CONTRIBUTING和MAINTAINER。扣分:无CHANGELOG,版本为dev0。
输出可用性:有CLI和Web UI;边际价值:多代理编排和策略;成本效益:开源免费,但依赖较多。扣分:无重大缺陷。
声明可追溯性:README有链接但未验证;跨来源佐证:有测试但未独立验证;事实推断分离:文档区分了事实和推断。扣分:声明未验证,测试未独立运行。
- 发布者身份未验证,需谨慎评估供应链风险。
- 版本为dev0,可能存在不稳定。
- 依赖较多,需关注安全漏洞。
- 遥测默认开启,需注意隐私。
这个 Agent 能做什么,适合哪些场景?
Omnigent 是面向 Claude Code、Codex、Cursor、OpenCode、Hermes、Pi 及自定义智能体的开源元运行框架。它以统一会话层协调不同 harness,使团队可以在同一会话中混用智能体、委派子任务,并让不同供应商的智能体互相审查。用户可从终端、浏览器、手机或 macOS 桌面应用连接同一会话,消息、终端、文件与子智能体保持同步。它提供 YAML 智能体定义,可接入本地 Python 函数、MCP 服务和子智能体,并通过策略控制 shell、文件操作与会话花费。部署边界既包括本机服务器和注册主机,也包括 Docker Compose、托管服务器及多种云沙箱提供商;Windows 可运行服务器、Web UI 与 SDK harness,但缺少原生 PTY 包装器及文件系统、网络隔离。
安装后可运行 omnigent 或 omni,启动本地会话和位于 http://localhost:6767 的 Web UI;也可使用 omnigent claude、omnigent codex、omnigent cursor、omnigent opencode、omnigent hermes 或 omnigent pi 启动指定运行时。omnigent setup 用于添加、设置或移除按智能体区分的 API key、Claude/ChatGPT 订阅、兼容网关或 Databricks 凭据;会话内可用 /model 切换模型。omnigent run path/to/my_agent.yaml 会读取 YAML 中的 prompt、executor 和 tools,并调用声明的本地 Python 函数、MCP URL 或子智能体。服务端可通过 omnigent server --background 启动,使用 omnigent host 注册机器;omnigent attach <session_id> 允许共同接入会话,omnigent run --fork <session_id> 可从既有会话分叉。策略可在服务器、智能体和会话三个层级叠加,对每次动作允许、阻止或要求审批,例如 ask_on_os_tools、max_tool_calls_per_session 与 cost_budget。
- 技术负责人需要让 Claude Code、Codex 或 Pi 在独立 git worktree 中并行处理编码任务,并将变更交给另一供应商的智能体审查时,可使用示例 Polly 的编排模式。
- 使用 ChatGPT 订阅和 Claude 订阅的个人开发者,希望在同一会话中让两个模型并列回答并通过
/debate互评时,可运行示例 Debby。 - 分布式工程团队需要分享一个实时会话,让同事查看智能体终端和文件、发送消息或在同一台主机上共同操作时,可使用 Share、
omnigent attach与多用户账户。 - 需要让业务人员从浏览器或手机继续本机开发会话的团队,可启动
omnigent server --background、注册omnigent host,或将服务部署到稳定 URL。 - 安全或平台团队需要在智能体执行 shell、写文件或消耗模型预算前执行统一控制时,可在服务端或 YAML 中配置内置策略。
- 需要把自有 Python 函数、远程或本地 MCP 服务和专门子智能体组合成一个开发助手的开发者,可编写并运行 Agent YAML。
这个 Agent 有哪些优点和局限?
- 用同一编排层覆盖 Claude Code、Codex、Cursor、OpenCode、Hermes、Pi 和 YAML 自定义智能体,支持替换或组合 harness。
- 将实时聊天、子智能体、终端与文件同步到终端、浏览器、手机和 macOS 桌面应用,且支持共享、共同接入和会话分叉。
- 策略可在服务器、智能体和会话三级叠加,内置 shell/文件操作审批、工具调用上限和成本预算控制。
- 可通过 Agent YAML 组合本地 Python 函数、MCP 服务和委派子智能体,并可选择 API key、订阅、兼容网关或 Databricks 凭据。
- 项目标注为 alpha,采用前应为接口和行为变化预留验证与升级成本。
- 完整的原生终端体验依赖 Python 3.12+、uv、git、Node.js、pnpm 与 tmux;Linux 原生包装器还强制要求 bubblewrap。
- Windows 仅支持降级模式:原生 tmux/PTY 包装器不可用,Job Object 不隔离文件系统或网络,也没有 L7 出站代理。
- 云沙箱、Databricks、Bedrock、Vertex、S3、Hindsight 和部分 SDK harness 依赖额外安装项或外部服务配置。
如何安装或部署这个 Agent?
要求 Python 3.12+。可执行 uv tool install omnigent,或使用 pip install "omnigent";安装后 omnigent 和 omni 均可用。uv 与 git 为必需项;编程 harness CLI 需要 Node.js 22 LTS+ 和 npm,Web UI 需要 pnpm。原生 omnigent claude、omnigent codex、omnigent cursor、omnigent hermes、omnigent kiro 和 omnigent pi 终端包装器需要 tmux;Linux 上还需要 bubblewrap,macOS 使用 seatbelt。首次可运行 omnigent,它会启动会话并尝试识别环境中已有的 ANTHROPIC_API_KEY、OPENAI_API_KEY、已登录的 claude 或 codex CLI 凭据。
如何使用这个 Agent?
先运行 omnigent setup 添加 API key、Claude/ChatGPT 订阅、兼容网关或 Databricks 凭据,并为所选智能体设置默认值。随后运行 omnigent 开启默认会话,或运行 omnigent codex、omnigent claude 等选择运行时;Web UI 位于 http://localhost:6767。运行自定义智能体可使用 omnigent run path/to/my_agent.yaml,YAML 的 executor.harness 可设为 claude-sdk、claude-native、codex、codex-native、cursor、cursor-native、hermes、hermes-native、opencode、pi、pi-native 或 openai-agents。若要从浏览器创建会话,运行 omnigent server --background,再在另一终端运行 omnigent host。
这个 Agent 与同类方案有什么区别?
Omnigent 不要求只使用单一 coding harness:它明确支持 Claude Code、Codex、Cursor、OpenCode、Hermes 和 Pi,也允许在同一会话中组合这些运行时或改用 YAML 定义的自定义智能体。
常见问题
能否使用现有的 Claude 或 ChatGPT 订阅,而不是另购 API key?
omnigent setup 支持通过官方 claude 或 codex CLI 使用 Claude Pro/Max 或 ChatGPT 订阅,也支持第一方 API key。