项目简介
Claude Orchestrator (claude-o) 是一个强大的开发工具,旨在帮助开发者和AI助手(如Claude Code)高效管理复杂的开发工作流程。它通过创建隔离的Git工作树,让AI能够同时处理多个独立的代码任务,从而显著提升开发效率。
主要功能点
- 并行任务执行: 启动多个AI实例,每个实例在独立的Git工作树中处理不同的开发任务。
- Git工作树集成: 每个任务都拥有一个完全隔离的Git工作树环境,确保任务间的互不干扰。
- AI工具接口: 通过MCP协议向AI提供一系列工具(如创建任务、检查任务、合并任务、终止任务等),使AI能够直接调用这些功能来管理开发流程。
- 任务管理与合并: 跟踪任务进度,并支持自动或手动将已完成的任务代码合并回主分支。
- 上下文生成: 为每个任务生成详细的'TASK.md'文件,为AI提供清晰的任务描述、项目信息和操作指南,作为AI处理任务时的“Prompt模板”。
安装步骤
- 克隆仓库: 将'claude-o'仓库克隆到一个临时目录:
git clone https://github.com/jyviko/claude-o /tmp/claude-o cd /tmp/claude-o - 运行安装脚本: 执行安装脚本,它会将所有文件复制到'~/.claude-o'目录,安装依赖,编译TypeScript代码,并配置'co'命令行别名和MCP服务器。
./install.sh - 刷新Shell: 安装完成后,请重启你的Shell或运行以下命令以使'co'命令生效:
source ~/.zshrc # 如果你使用Zsh # 或 source ~/.bashrc # 如果你使用Bash - 清理临时文件:
rm -rf /tmp/claude-o
MCP服务器配置
Claude Orchestrator 会在安装过程中自动配置为MCP服务器,通常无需手动操作。 如果你的MCP客户端(如Claude Code)需要手动配置或验证服务器信息,它会期望一个JSON格式的配置。以下是MCP客户端 '.mcp.json' 文件中 'mcpServers' 字段的配置信息及其参数说明:
- 'claude-o' (服务器名称): 这是服务器的唯一标识符。
- 'command' (启动命令): 用于启动MCP服务器进程的可执行文件或解释器路径,例如 'node'。
- 'args' (命令参数): 传递给启动命令的参数列表,包含MCP服务器脚本的完整路径。例如:'["~/.claude-o/dist/src/mcp/server.js"]'。
- 'description' (描述): 服务器功能的简要描述,方便识别。例如:"Claude Orchestrator MCP服务器,用于管理并行的开发任务。"
- 'name' (名称): 服务器的对外显示名称,通常与服务器名称一致。
- 'version' (版本): 服务器的版本号。
示例 MCP 客户端配置信息 (用于理解,并非直接的指令): MCP客户端在内部会使用类似以下结构的数据来连接Claude Orchestrator MCP服务器:
{ "mcpServers": { "claude-o": { "command": "node", "args": ["~/.claude-o/dist/src/mcp/server.js"], "description": "Claude Orchestrator MCP服务器,用于管理并行的开发任务。", "name": "claude-o", "version": "1.0.0" } } }
基本使用方法
CLI 使用 (适用于人类开发者)
在你的项目根目录中,可以使用'co'命令来管理任务:
- 生成新任务: 'co spawn add-dark-mode "Implement dark mode toggle in settings"'
- 列出所有任务: 'co list'
- 检查并合并已完成任务: 'co check'
- 手动合并指定任务: 'co merge fix-auth' (可使用任务ID或名称)
- 终止/删除任务: 'co kill fix-auth' (可使用任务ID或名称)
- 删除当前项目所有任务 (危险操作!): 'co nuke --confirm'
AI 工具调用 (适用于AI助手,如Claude Code)
一旦MCP服务器配置成功,AI助手就可以通过MCP协议调用以下工具来自动化任务管理:
- 'spawn_task(name, description, [baseBranch])': 创建一个新任务,并在隔离的Git工作树中启动一个AI实例来处理。
- 'name': 任务的简短标识符。
- 'description': 任务的详细描述。
- 'baseBranch' (可选): 基于哪个分支创建工作树,默认为项目设置。
- 'list_tasks()': 列出所有活跃和近期完成的任务,提供任务ID和状态信息。
- 'check_tasks()': 检查所有活跃任务是否已完成(通过检查工作树中是否存在'.task_complete'文件),并根据配置自动合并已完成的任务。
- 'merge_task(taskNameOrId)': 手动将指定的已完成任务合并回其基分支。
- 'taskNameOrId': 任务的ID(推荐)或名称。
- 'kill_task(taskNameOrId)': 终止并删除指定任务,包括其Git工作树和关联的分支。
- 'taskNameOrId': 任务的ID(推荐)或名称。
这些工具使AI能够直接管理代码库中的并行开发任务,显著提高协作效率。
信息
分类
开发者工具