# Aurex：面向规模化AI编码代理的多智能体编排运行时

> Aurex是一个多智能体编排运行时，通过结构化的任务分解、里程碑管理和执行护栏，协调AI编码代理（工作者、验证者、研究者）完成复杂的软件开发任务。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-28T01:16:36.000Z
- 最近活动: 2026-05-28T01:24:53.691Z
- 热度: 163.9
- 关键词: multi-agent, orchestration, AI coding agents, software development, workflow automation, TypeScript, Fastify, React, git worktree, human-in-the-loop
- 页面链接: https://www.zingnex.cn/forum/thread/aurex-ai
- Canonical: https://www.zingnex.cn/forum/thread/aurex-ai
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：GeneGulanesJr
- 来源平台：github
- 原始标题：Aurex
- 原始链接：https://github.com/GeneGulanesJr/Aurex
- 来源发布时间/更新时间：2026-05-28T01:16:36Z

## 原作者与来源\n\n- **原作者/维护者**: GeneGulanesJr\n- **来源平台**: GitHub\n- **原始标题**: Aurex\n- **原始链接**: https://github.com/GeneGulanesJr/Aurex\n- **发布时间**: 2026年5月28日\n\n## 项目背景与问题定义\n\n随着AI编码助手的普及，开发团队开始面临一个新的挑战：如何让多个AI代理协同工作，而不是各自为战。单个AI代理可以完成代码补全、函数生成等任务，但在面对复杂的软件工程问题时，往往需要多个专业角色的协作——架构师负责顶层设计，执行者负责实现，验证者负责测试，研究者负责代码库探索。\n\nAurex正是为解决这一问题而诞生的多智能体编排框架。它不仅仅是一个任务调度器，而是一个完整的运行时环境，提供了从任务规划、执行、验证到人机协作的全生命周期管理。\n\n## 核心架构设计\n\nAurex的架构设计遵循了几个关键的不变原则，确保系统的可预测性和安全性。\n\n### 系统组件概览\n\n整个系统由三个核心服务组成：\n\n1. **Orchestrator（编排器）**：持久化的主控服务，负责任务规划、里程碑分解和协商决策\n2. **PiNyx Gateway**：所有LLM调用的统一网关，位于localhost:7331，确保模型访问的可控性和可观测性\n3. **LaPis**：共享状态数据库，所有数据访问都通过LaPis HTTP客户端进行，禁止直接访问SQLite\n\n### 智能体类型与职责\n\nAurex定义了四种专业化的智能体角色：\n\n#### 工作者(Workers)\n\n- **特性**：短暂生命周期的Pi SDK代理\n- **隔离机制**：每个工作者获得独立的git worktree，实现文件系统级别的隔离\n- **工具集**：完整的Pi SDK + worktree操作 + task/*命名空间工具\n- **职责**：实际执行代码变更、文件修改和实现任务\n\n#### 验证者(Validators)\n\n- **特性**：与工作者配对的评估代理\n- **隔离机制**：受限的Pi SDK会话\n- **职责**：根据不可变的验证合约评估工作者输出，决定通过、重试或升级\n\n#### 研究者(Researchers)\n\n- **特性**：只读代码库探索代理\n- **隔离机制**：只读Pi SDK会话\n- **职责**：在任务执行前探索代码库结构、理解现有实现、收集上下文信息\n\n#### 协商者(Negotiator)\n\n- **职责**：基于验证者的评估结果，决定任务的最终走向——通过、重试、重新规划或升级人工介入\n\n### 任务分解模型\n\nAurex采用三层级的任务分解模型：\n\n- **任务(Missions)**：顶层目标，由人工或系统发起\n- **里程碑(Milestones)**：任务的关键阶段，由编排器通过LLM规划生成\n- **工作单元(Working Units)**：里程碑的具体执行步骤，分配给特定智能体\n\n这种分层结构使得复杂任务可以被系统地拆解和管理，同时保持整体的可追踪性。\n\n## 执行护栏与安全保障\n\n### 分支保护机制\n\n- 每个工作者在独立的git worktree中工作\n- 主分支受到保护，防止直接修改\n- 所有变更通过受控的handoff机制传递\n\n### 验证合约不可变性\n\n- 验证标准在任务开始时确定，执行期间不可更改\n- 确保评估的一致性和公平性\n- 防止任务范围在执行过程中的随意漂移\n\n### 人工介入检查点\n\n当遇到以下情况时，系统会触发人工介入：\n- 任务范围需要变更\n- 成本超出预设上限\n- 测试连续失败\n- 验证者无法达成一致意见\n\n前端提供了专门的升级模态框(Escalation Modal)，展示检查点上下文、历史尝试记录和决策选项。\n\n## 技术栈与工程实践\n\n### 运行时环境\n\n- **Node.js**: >= 20\n- **包管理器**: pnpm >= 9\n- **语言**: TypeScript 5.7\n\n### 后端技术\n\n- **Web框架**: Fastify 5\n- **WebSocket**: @fastify/websocket 用于实时事件推送\n- **AI SDK**: Pi SDK\n- **验证**: @sinclair/typebox\n\n### 前端技术\n\n- **框架**: React 19\n- **构建工具**: Vite 6\n- **样式**: Tailwind CSS 4\n- **动画**: anime.js 4\n\n### 测试覆盖\n\n项目包含193个测试用例，分布在41个测试文件中，使用Vitest作为测试框架。\n\n## Monorepo结构\n\n```\npackages/\n├── shared/              # @aurex/shared — 类型定义、枚举、REST/WS协议\n│   └── src/\n│       ├── enums.ts     # MissionStatus, MilestoneStatus, AgentType等\n│       ├── types.ts     # Mission, Milestone, WorkingUnit等核心类型\n│       ├── events.ts    # WebSocket事件联合类型\n│       └── rest.ts      # REST请求/响应类型\n│\n├── backend/             # @aurex/backend — Fastify服务器 + 编排器\n│   └── src/\n│       ├── server.ts    # 入口点，Fastify + WS设置\n│       ├── agents/      # 智能体生成器、工厂、工具定义\n│       ├── clients/     # LaPis HTTP客户端、PiNyx LLM客户端\n│       ├── enforcement/ # 分支保护、handoff验证、生命周期执行器\n│       ├── orchestrator/# 任务运行器、规划器、协商器、里程碑循环\n│       ├── routes/      # REST路由（任务、检查点、认证）\n│       ├── skills/      # Markdown技能文件\n│       └── ws/          # WebSocket事件总线\n│\n└── frontend/            # @aurex/frontend — React仪表板\n    └── src/\n        ├── App.tsx      # 根组件\n        ├── passive/     # 被动视图：智能体网格、里程碑条、成本计数器\n        ├── active/      # 主动视图：升级覆盖层、检查点面板\n        └── hooks/       # useWebSocket, useMission等自定义钩子\n```\n\n## 快速开始\n\n### 前置要求\n\nAurex需要两个外部服务：\n\n1. **LaPis**：共享状态数据库（SQLite-backed HTTP API）\n   - 设置环境变量：`LAPIS_ENDPOINT`\n\n2. **PiNyx**：LLM网关，代理所有模型调用\n   - 设置环境变量：`PINYX_ENDPOINT`\n\n### 安装步骤\n\n```bash\n# 安装依赖\npnpm install\n\n# 配置环境\ncp .env.example .env\n# 编辑.env，设置LaPis/PiNyx端点、模型名称和API密钥\n\n# 构建所有包\npnpm run build\n\n# 类型检查\npnpm run typecheck\n\n# 开发模式（后端）\npnpm --filter @aurex/backend run dev\n\n# 开发模式（前端）\npnpm --filter @aurex/frontend run dev\n\n# 运行测试\nnpx vitest\n```\n\n## 配置选项\n\n所有配置通过环境变量管理（参见`.env.example`）：\n\n| 变量 | 默认值 | 说明 |\n|------|--------|------|\n| `LAPIS_ENDPOINT` | `http://localhost:9100` | LaPis共享状态数据库端点 |\n| `PINYX_ENDPOINT` | `http://localhost:7331` | PiNyx LLM网关端点 |\n| `REPO_ROOT` | `/workspace` | Git仓库根路径 |\n| `GIT_MAIN_BRANCH` | `main` | worktree操作的主分支 |\n| `PORT` | `3000` | 后端HTTP/WS端口 |\n| `API_KEY` | _(空)_ | API认证密钥 |\n\n## 设计理念与架构不变量\n\nAurex的设计体现了几个关键原则：\n\n1. **LaPis是唯一的共享状态数据库** —— 所有数据访问通过LaPis HTTP客户端，禁止直接SQLite访问\n2. **智能体间无直接通信** —— 隔离的Pi SDK会话，受限的工具集\n3. **PiNyx是唯一的LLM网关** —— 所有模型调用路由到`localhost:7331`\n4. **每个工作者获得独立的git worktree** —— 默认文件系统隔离\n5. **逻辑在技能文件中，边界在运行时** —— 智能体行为由Markdown技能定义，执行由TypeScript强制保障\n\n## 应用场景与价值主张\n\nAurex特别适合以下场景：\n\n1. **复杂重构任务**：需要多步骤、多文件协调的大规模代码重构\n2. **功能开发流水线**：从需求到实现的端到端自动化\n3. **代码审查辅助**：自动化的预审查和合规性检查\n4. **探索性编程**：在大型代码库中进行影响分析和新功能原型\n5. **团队知识沉淀**：通过技能文件固化团队的最佳实践和编码规范\n\n## 总结\n\nAurex代表了AI辅助软件开发的一个进阶方向——从单智能体工具向多智能体协作系统的演进。它通过严格的架构设计和执行护栏，在赋予AI更大自主权的同时，保持了人类对关键决策的控制。对于希望将AI编码助手从"辅助工具"升级为"协作伙伴"的开发团队来说，Aurex提供了一个值得深入研究的参考实现。
