# Orchestra：跨工具协作的AI编程代理工作流编排系统

> 一个支持Claude Code、Codex、Gemini、Cursor等多款AI编程工具协同工作的开源工作流编排框架，通过磁盘状态共享实现无缝会话切换。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-25T12:45:16.000Z
- 最近活动: 2026-04-25T12:51:06.001Z
- 热度: 159.9
- 关键词: AI编程, 工作流编排, Claude Code, Codex, Gemini, Cursor, 多工具协作, 开源工具
- 页面链接: https://www.zingnex.cn/forum/thread/orchestra-ai
- Canonical: https://www.zingnex.cn/forum/thread/orchestra-ai
- Markdown 来源: ingested_event

---

# Orchestra：跨工具协作的AI编程代理工作流编排系统\n\n## 背景与问题\n\n随着AI编程助手的普及，开发者开始同时使用多款工具——Claude Code、Codex CLI、Gemini CLI、Cursor等。然而，这些工具通常各自为政，工作状态分散在不同会话中，导致项目上下文碎片化，团队协作效率低下。\n\n当你在一个工具中完成了一半的规划工作，却因各种原因需要切换到另一个工具时，往往需要重新开始或手动迁移上下文。这种割裂感严重影响了AI辅助开发的流畅体验。\n\n## Orchestra 简介\n\nOrchestra 是一个开源的工作流编排系统，专为解决多AI工具协作问题而设计。它采用"工具无关的磁盘状态"架构，让所有兼容的AI编程工具能够读取和写入相同的工作流状态，实现真正的跨工具协作。\n\n核心设计理念是：状态应该保存在项目目录中，而不是某个特定工具的内存里。这使得多个AI工具可以像接力赛一样，无缝接管同一个工作流。\n\n## 核心架构与组件\n\n### 磁盘状态管理\n\nOrchestra 在项目根目录创建 `.orchestra/` 文件夹，其中包含：\n\n- **`workflows/current/`** - 当前活跃工作流的所有状态\n  - `status.json` - 当前阶段、总计数、操作日志（带时间戳和执行者名称）\n  - `Plan.md` - 分阶段计划，包含人工验证步骤\n  - `Decisions.md` - 所有已解决的设计决策（D001、D002...）\n  - `Implementation_Notes.md` - 代码库和文档研究成果\n\n- **`prompts/`** - 规范的提示词模板（单一事实来源）\n- **`scripts/`** - 阶段运行器和工作流辅助脚本\n- **`adapters/`** - 各工具的适配器（Claude Code、Codex、Gemini、Cursor、Aider）\n\n### 并发安全机制\n\n系统使用简单的锁文件（`.orchestra/workflows/current/.lock`）防止并发写入冲突。当一个工具正在修改工作流状态时，其他工具会等待或收到冲突提示。\n\n### 提示词即代码\n\n所有工具的斜杠命令都是轻量级包装器，它们都读取 `.orchestra/prompts/<name>.md` 中的提示词。这意味着你只需要编辑一次提示词，所有工具的对应命令就会自动更新，无需重新安装或同步。\n\n## 支持的命令\n\nOrchestra 提供一套统一的工作流命令：\n\n| 命令 | 功能描述 |\n|------|----------|\n| `plan` | 研究代码库，起草计划，根据文档验证 |\n| `plan-advanced` | 在plan基础上增加深度访谈环节，逐问题遍历决策树 |\n| `execute` | 按阶段逐步执行计划，包含人工验证 |\n| `execute-headless` | 通过phase-runner.sh自主运行计划 |\n| `agent` | 派遣专业子代理处理特定工作流任务 |\n| `resolve` | 解决规划过程中记录的开放决策 |\n| `docs-sync` | 将项目文档与已实现变更同步 |\n| `archive` | 将当前工作流归档并清理 |\n\n在Claude Code中，这些命令以 `/orchestra:plan` 等形式命名；在其他工具中则直接使用 `/plan` 等形式。\n\n## 跨工具协作的实现原理\n\n### 会话切换机制\n\n当一个Claude Code会话和Codex会话需要协作处理同一个工作流时，Orchestra通过以下机制实现无缝切换：\n\n1. **状态持久化** - 所有操作都记录在 `status.json` 中，包含时间戳和执行者名称\n2. **自动恢复** - 新启动的工具读取 `status.json`，看到当前阶段后继续执行\n3. **决策追踪** - 每个设计决策都有唯一编号，避免重复讨论\n4. **Actor字段** - 日志中的actor字段明确标识每条操作的执行者\n\n### 实际协作场景\n\n想象这样一个场景：开发者先用Claude Code完成了项目架构规划（plan阶段），然后需要离线处理其他事务。回来后，他选择使用Cursor继续执行（execute阶段）。由于所有状态都保存在磁盘上，Cursor能够准确读取之前的规划结果，从正确的阶段继续推进，无需重新理解上下文。\n\n## 安装与配置\n\n### 快速安装\n\n```bash\n# 使用安装脚本\ncurl -fsSL https://raw.githubusercontent.com/RyanYahya/orchestra/main/install.sh | bash\n\n# 或手动安装\ngit clone https://github.com/RyanYahya/orchestra /tmp/orch\ncd /your/project\nbash /tmp/orch/install.sh --source /tmp/orch\n```\n\n### 插件市场安装（Claude Code）\n\n```\n/plugin marketplace add RyanYahya/orchestra\n/plugin install orchestra\n```\n\n安装后，AI会自动检测项目中存在的工具目录（`.claude/`、`.codex/`、`.gemini/`、`.cursor/`等），并在所有检测到的工具中安装斜杠命令适配器。\n\n## 技术亮点与优势\n\n### 工具无关性\n\nOrchestra 的最大优势在于其工具无关的设计。它不绑定任何特定AI工具，而是通过适配器层实现广泛兼容。这意味着：\n\n- 你可以根据任务特点选择最合适的工具\n- 团队中的不同成员可以使用各自偏好的工具协作\n- 新出现的AI工具可以通过编写适配器快速集成\n\n### 可追溯的工作流\n\n每个操作都被记录在 `status.json` 的日志数组中，包含时间戳和执行者标识。这种设计提供了：\n\n- 完整的审计追踪能力\n- 多人协作时的责任明确\n- 问题排查时的上下文还原\n\n### 渐进式采用\n\nOrchestra 不需要你改变现有的开发流程。你可以从单个命令开始尝试，逐步将更多工作流纳入管理。这种渐进式采用策略降低了试用门槛。\n\n## 适用场景\n\nOrchestra 特别适合以下场景：\n\n1. **多工具团队** - 团队成员使用不同AI编程工具但需要协作\n2. **长周期项目** - 需要跨多次会话保持上下文连贯性的复杂任务\n3. **规范化流程** - 希望建立标准化的AI辅助开发流程\n4. **知识沉淀** - 需要将AI辅助过程中的决策和方案文档化留存\n\n## 局限与考量\n\n虽然Orchestra提供了强大的跨工具协作能力，但使用时也需要注意：\n\n- **学习曲线** - 需要理解工作流状态和命令体系\n- **磁盘IO依赖** - 状态持久化依赖文件系统，在极端情况下可能成为瓶颈\n- **工具适配** - 新工具需要编写适配器才能完全兼容\n\n## 结语\n\nOrchestra 代表了AI编程助手生态向标准化、协作化演进的重要尝试。通过将工作流状态从工具内存中解放出来，它让AI辅助开发真正具备了跨工具、跨会话的连续性。\n\n对于同时使用多款AI编程工具的开发者来说，Orchestra 提供了一个统一的工作流管理层，让工具选择不再成为协作的障碍。随着AI编程工具生态的持续发展，这种工具无关的编排层可能会成为行业标准配置。
