项目简介

Orchestra是一个强大的框架,旨在通过并行运行多个AI编码代理来加速软件开发流程。它允许人类专注于高层设计和决策,而AI代理则负责执行具体的编码任务。Orchestra通过智能编排、监控和协作功能,确保AI代理的高效工作,并使人工审查和代码合并变得更加便捷。

主要功能点

  • 智能任务分解: 设计师代理(AI)能够将复杂的功能实现分解为可管理的子任务。
  • 并行代码执行: 针对每个子任务,Orchestra可以启动独立的执行器代理(AI),在隔离的容器或工作区中并行工作。
  • 实时监控与协作: 提供文本用户界面(TUI),允许用户监控所有代理的进展、查看代码差异、与代理直接交互,甚至可以与代理在本地代码库中“结对编程”。
  • 上下文通信: 代理之间以及代理与用户之间可以通过MCP工具进行消息传递,请求帮助、报告进展或共享信息。
  • 代码合并与审查辅助: 支持代码审查流程,并协助将代理完成的代码合并到主分支。
  • Git工作区管理: 为每个执行器代理创建独立的Git工作区和分支,确保代码隔离和版本控制。

安装步骤

  1. 依赖检查: 确保您的系统已安装 'git'、'tmux'、'python' 和 'docker' (如果计划使用Docker模式)。
  2. Claude CLI: 安装Claude的命令行接口(CLI)工具。
    npm install -g @anthropic-ai/claude-code
  3. Orchestra库安装: 使用pip或uv安装Orchestra。
    pip install orchestra-code
    # 或者
    uv tool install orchestra-code
  4. 初始化设置: 运行安装向导,配置Docker、Claude API认证等。
    orchestra-setup

服务器配置

Orchestra内置一个MCP服务器,名为 'orchestra-subagent',默认监听 '8765' 端口(可在 '~/.orchestra/config/settings.json' 中配置 'mcp_port')。MCP客户端可以通过HTTP协议连接到此服务器。

以下是一个MCP客户端配置示例,用于连接Orchestra的内置MCP服务器:

{
  "mcpServers": {
    "orchestra-subagent": {
      "type": "http",
      "url": "http://127.0.0.1:8765/mcp",
      "description": "Orchestra内部的MCP服务器,用于管理代理会话和提供工具。"
    }
  },
  "permissions": {
    "allow": [
      "mcp__orchestra-subagent__spawn_subagent",
      "mcp__orchestra-subagent__send_message_to_session"
    ]
  }
}
  • 'mcpServers.orchestra-subagent': 定义一个名为 'orchestra-subagent' 的MCP服务器。
  • 'type': 连接协议类型,这里是 'http'。
  • 'url': 服务器地址和端口。默认情况下,Orchestra MCP服务器会在 '127.0.0.1:8765' 运行。
  • 'description': 对服务器功能的简要描述。
  • 'permissions.allow': 允许客户端调用的MCP工具列表。'spawn_subagent' 用于创建子代理,'send_message_to_session' 用于代理间通信。

基本使用方法

  1. 进入您的编码项目目录。
  2. 运行 'orchestra' 命令启动用户界面。
    orchestra
  3. 界面启动后,您将在右侧窗格看到设计师代理。通过描述您希望构建或改进的内容来开始,设计师代理将帮助您规划和委派工作。
  4. 使用 'CTRL+S' 切换窗格,'CTRL+Q' 关闭Orchestra,'CTRL+\' 分离会话。
  5. 在左侧会话列表中选择代理,然后在右侧查看其执行情况或与其交互。
  6. 使用 's' 键打开规范编辑器('designer.md')与设计师代理协作。
  7. 使用 'p' 键切换“结对编程”模式,将选定代理的工作区同步到您的本地目录。

信息

分类

开发者工具