如何使用OmX构建多智能体协作团队:从入门到精通
【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex
OmX(Oh My codeX)是一个强大的多智能体协作平台,让你的代码库不再孤单。通过OmX,你可以轻松添加钩子、代理团队、HUD界面等功能,实现高效的多智能体协作。本文将详细介绍如何使用OmX构建和管理多智能体协作团队,从基础设置到高级应用,助你快速掌握这一强大工具。
多智能体协作的核心概念
在深入使用OmX之前,让我们先了解一些核心概念:
- 智能体(Agent):执行特定任务的独立实体,可以是Codex或Claude等不同类型
- 团队(Team):由多个智能体组成的协作单元,共同完成复杂任务
- TMUX:OmX使用tmux作为多智能体并行执行的基础,提供分屏和会话管理功能
- 状态文件:存储团队配置、任务和通信信息的文件系统,位于
.omx/state/team/目录下
准备工作:安装与环境配置
安装OmX
首先,克隆OmX仓库到本地:
git clone https://gitcode.com/GitHub_Trending/oh/oh-my-codex cd oh-my-codex系统要求
- tmux(用于多智能体并行执行)
- Node.js(推荐v16+)
- npm或yarn包管理器
环境配置
OmX通过配置文件启用"agent teams"功能,编辑配置文件:
nano ~/.codex/config.toml确保配置中包含启用团队功能的相关设置。
创建你的第一个多智能体团队
基本团队创建命令
使用omx team命令创建一个新的智能体团队:
omx team [N:agent-type] "<task description>"其中:
N是智能体数量agent-type是智能体类型(如executor)task description是团队需要完成的任务
示例:创建一个3人执行团队
omx team 3:executor "分析项目性能问题并提出优化建议"不指定智能体数量的简化形式
omx team "调试集成测试中的间歇性错误"团队与原生子智能体的区别
OmX提供两种并行执行模式,选择适合你需求的方式:
- 原生子智能体:适用于有限的、会话内的并行任务,由一个主导线程管理多个子任务
- omx team:适用于需要持久化tmux工作器、共享任务状态、邮箱/调度协调、工作树、显式生命周期控制或长时间运行的并行执行
原生子智能体可以补充团队执行,但不能替代tmux团队运行时的状态协调功能。
高级团队配置:混合智能体类型
OmX支持混合不同类型的智能体(Codex和Claude),通过环境变量进行配置:
全部使用Claude智能体
OMX_TEAM_WORKER_CLI=claude omx team 2:executor "更新文档并生成报告"混合使用Codex和Claude
OMX_TEAM_WORKER_CLI_MAP=codex,claude omx team 2:executor "拆分文档/代码任务"自动模式
当工作器启动参数/模型包含'claude'时自动选择Claude:
OMX_TEAM_WORKER_CLI=auto OMX_TEAM_WORKER_LAUNCH_ARGS="--model claude-..." omx team 2:executor "运行混合验证"团队生命周期管理
查看团队状态
omx team status <team-name>重新连接到团队会话
omx team resume <team-name>关闭团队(完成后)
omx team shutdown <team-name>团队工作流最佳实践
预启动检查清单
在运行omx team之前,确认以下事项:
- tmux已安装(
tmux -V) - 当前会话在tmux内(
$TMUX环境变量已设置) omx命令可正确解析- 如运行本地代码,确保已执行
npm run build - 检查HUD窗格数量,避免重复的
hud --watch窗格
建议的预检命令:
tmux list-panes -F '#{pane_id}\t#{pane_start_command}' | rg 'hud --watch' || true任务上下文管理
在启动团队前,建议创建任务上下文快照:
- 从请求派生出任务slug
- 重用
.omx/context/{slug}-*.md中最新的相关快照 - 如无快照,创建新的上下文文件,包含:
- 任务陈述
- 期望结果
- 已知事实/证据
- 约束条件
- 未知/开放问题
- 可能的代码库接触点
团队状态与数据平面
关键状态文件位置
团队状态存储在以下路径:
.omx/state/team/<team>/config.json- 团队配置.omx/state/team/<team>/manifest.v2.json- 团队清单.omx/state/team/<team>/tasks/task-<id>.json- 任务文件.omx/state/team/<team>/worker-agents.md- 团队范围的工作器指令
数据平面组件
- 团队邮箱文件:
.omx/state/team/<team>/mailbox/ - 调度请求队列:
.omx/state/team/<team>/dispatch/requests.json
故障排除与恢复
常见问题及解决方法
工作器通知失败(worker_notify_failed)
含义:主导者写入收件箱但触发提交路径失败
检查步骤:
# 1. 列出所有窗格 tmux list-panes -F '#{pane_id}\t#{pane_start_command}' # 2. 捕获工作器窗格内容 tmux capture-pane -t %<worker-pane> -p -S -120 # 3. 验证工作器进程是否存活团队启动但主导者未收到ACK
检查:
- 工作器窗格捕获显示收件箱处理情况
.omx/state/team/<team>/mailbox/leader-fixed.json是否存在- 工作器技能是否加载并调用了
omx team api send-message --json
清理与恢复命令
# 1) 检查窗格 tmux list-panes -F '#{pane_id}\t#{pane_current_command}\t#{pane_start_command}' # 2) 终止陈旧的工作器窗格(示例) tmux kill-pane -t %450 # 3) 删除陈旧的团队状态(示例) rm -rf .omx/state/team/<team-name> # 4) 重试 omx team 1:executor "新的任务描述"团队API与程序化控制
OmX提供API用于程序化或智能体驱动的团队生成:
| 工具 | 描述 |
|---|---|
omx_run_team_start | 在后台生成tmux CLI工作器;立即返回jobId |
omx_run_team_status | 非阻塞检查运行中作业的状态 |
omx_run_team_wait | 阻塞直到作业完成,自动轻推空闲窗格 |
omx_run_team_cleanup | 终止作业的tmux工作器窗格(仅提前停止) |
API使用示例
// 1. 启动团队 const job = omx_run_team_start({ teamName: "fix-bugs", agentTypes: ["codex"], tasks: [{ subject: "修复bug", description: "修复登录页面的表单验证问题" }], cwd: "/path/to/project" }); // 返回 { jobId: "omx-abc123" } // 2. 等待完成 omx_run_team_wait({ job_id: "omx-abc123", timeout_ms: 300000 }); // 3. 如需提前停止 omx_run_team_cleanup({ job_id: "omx-abc123" });总结与进阶学习
通过OmX的team功能,你可以轻松构建和管理多智能体协作团队,提高开发效率和代码质量。从简单的任务分配到复杂的团队协作,OmX提供了灵活而强大的工具集。
要深入学习OmX团队功能,建议参考以下资源:
- 官方技能文档:skills/team/SKILL.md
- 团队配置指南:docs/contracts/mux-operation-space.md
- 高级团队管理:docs/prs/experimental-dev-omx-sparkshell.md
现在,你已经掌握了使用OmX构建多智能体协作团队的基础知识,开始探索这个强大工具的无限可能吧!
【免费下载链接】oh-my-codexOmX - Oh My codeX: Your codex is not alone. Add hooks, agent teams, HUDs, and so much more.项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-codex
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考