桌面端 AI 编码代理编排工作空间,支持多代理并行调度与 GitHub 工作流自动化。
Orchestra 是一个面向 AI 辅助开发的桌面端编排工作空间,采用客户端-服务器架构(Go 后端 + Electron/React 桌面前端 + Bubble Tea TUI),旨在将多个 AI 编码代理的执行与 GitHub 项目管理无缝衔接。
核心编排能力
Orchestra 能够将 GitHub issues 自动拆分为可执行任务,生成含代理分配的实施计划,并在 Claude Code、Codex CLI、Gemini CLI、Opencode 等多个代理之间进行负载均衡调度,同时追踪任务依赖与完成状态。每个代理任务通过 git worktrees 获得隔离的工作目录,确保执行安全性。代理完成后可自动创建 GitHub PR,实现从 issue 到 PR 的全链路自动化。
项目管理
提供可视化看板(拖拽式组织)、实时状态更新、进度追踪,并与 GitHub Projects 看板深度集成,支持跨多仓库/团队的工作追踪。后端内置可插拔 Tracker(内存/SQLite/GitHub Issues),适配不同使用场景。
辅助能力
- 嵌入式 AI 聊天助手(多 LLM 提供商、Whisper 语音输入、JSON 渲染式 UI 响应)
- MCP 客户端(连接外部工具服务器)
- 基于 WebSocket 的交互式终端会话
- SQLite 持久化的会话/token 用量分析
后端核心组件
| 组件 | 包路径 | 职责 |
|---|---|---|
| API Server | internal/api | HTTP 路由、SSE 流推送、认证、限流、WebSocket 终端 |
| Orchestrator | internal/orchestrator | 中央状态机——追踪运行/重试中的 issues,调度代理,协调状态 |
| Agent Registry | internal/agents | 提供商抽象——注册 Claude/Gemini/Codex/OpenCode/Unsandbox 运行器 |
| Tracker | internal/tracker | 可插拔 issue 存储(内存/SQLite/GitHub Issues) |
| PubSub | internal/observability | 进程内事件总线——向 SSE 订阅者扇出生命周期事件 |
| Analytics DB | internal/db | SQLite 数据库,存储会话、项目、token 用量、MCP 服务器配置 |
| Workspace | internal/workspace | 管理工作目录、git 操作、工作空间迁移、路径守卫 |
| MCP Client | internal/mcp | Model Context Protocol 客户端,连接外部工具服务器 |
| Terminal | internal/terminal | 基于 WebSocket 的终端会话(桌面应用) |
| Unsandbox | internal/unsandbox | Unsandbox 平台远程执行客户端 |
通信模式
- REST API(HTTP/JSON):客户端→服务端(CRUD、项目管理、git 操作、配置、代理控制)
- SSE(text/event-stream):服务端→客户端(实时快照广播、生命周期事件)
- WebSocket:双向(交互式终端会话)
安装与快速开始
前置条件:Go 1.25+、Node.js 22+、npm、Git,以及至少一个代理 CLI(codex/claude/opencode/gemini)。
# 启动后端
cd apps/backend
go build -o orchestrd ./cmd/orchestrd/
./orchestrd --workspace-root /path/to/your/project
# 启动桌面应用
cd apps/desktop && npm install && npm run dev
# 启动 TUI
cd apps/tui && go run .
# 或使用快捷命令
make dash
运行时配置(环境变量)
| 变量 | 用途 | 默认值 |
|---|---|---|
ORCHESTRA_SERVER_HOST | 后端绑定主机 | 127.0.0.1 |
ORCHESTRA_SERVER_PORT | 后端绑定端口 | 4010 |
ORCHESTRA_API_TOKEN | 非回环地址绑定时必需 | 未设置 |
ORCHESTRA_WORKSPACE_ROOT | 代理工作空间根目录 | ~/.orchestra/workspaces |
ORCHESTRA_AGENT_PROVIDER | 默认代理提供商 | CODEX |
ORCHESTRA_TRACKER_TYPE | 追踪后端:github 或 sqlite | 未设置 |
ORCHESTRA_TRACKER_ENDPOINT | GitHub 仓库(owner/repo) | 未设置 |
ORCHESTRA_TRACKER_TOKEN | GitHub token | 未设置 |
支持通过 WORKFLOW.md 文件覆盖运行时配置。
注意事项
- 项目当前处于早期开发阶段,接口和工作流可能随时变更
- 截至调查时无正式 release 版本
- Go 1.25+ 前置条件在当前 Go 稳定版中尚不可用,实际可构建性待验证
- 采用 Apache-2.0 许可证(Copyright 2025-2026 Traves Theberge)