多智能体编排系统

一个强大的多智能体编排系统,用于Claude Code,通过MCP服务器处理复杂任务,实现并行代理协调、持久化PLAN文件跟踪和应用特定专家代理。

  • by LyricalString
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 LyricalString/claude-orchestrator-template

使用说明

Claude代码编排器模板

一个强大的多代理编排系统 克劳德代码.使用MCP服务器,通过并行代理协调、持久的PLAN文件跟踪和特定于应用程序的专家来处理复杂的任务。


安装

编排器有两个部分:

  1. 全球安装 -MCP服务器+仪表板(每台机器一个)
  2. 项目设置 -自定义代理+命令(每个项目一个)

步骤1:全局安装(一次)

全局安装MCP服务器和仪表板:

curl -sSL https://raw.githubusercontent.com/LyricalString/claude-orchestrator-template/main/install-global.sh | bash

这将安装到 ~/.claude-orchestrator/:

  • mcp-orchestrator/ -MCP服务器
  • dashboard/ -Web仪表板
  • bin/update.sh -更新脚本

步骤2:项目设置(每个项目)

需要: 克劳德代码 已安装(npm install -g @anthropic-ai/claude-code)

在项目中打开Claude代码:

cd your-project
claude

然后粘贴此消息:

Fetch https://raw.githubusercontent.com/LyricalString/claude-orchestrator-template/main/SETUP_PROMPT.md and follow those instructions to set up the orchestrator in my project

克劳德将:

  1. 询问您想要自定义什么(或继续使用默认值)
  2. 验证全局安装是否存在
  3. 将命令复制到 .claude/commands/
  4. 使用并行代理分析您的项目
  5. 为您的代码库生成自定义代理
  6. 创建/合并 AGENTS.md
  7. 配置MCP以使用全局安装

更新中

当有更新可用时,仪表板将通过显示更新命令的横幅通知您。

快速更新(推荐)

curl -fsSL https://raw.githubusercontent.com/LyricalString/claude-orchestrator-template/main/update.sh | bash

或者使用本地脚本

~/.claude-orchestrator/bin/update.sh

这两种方法都会更新全局安装(MCP服务器+仪表板),而无需接触特定于项目的代理或配置。


迁移(现有用户)

如果在此更改之前安装,PLAN文件将存储在 .claude/plans/。这会导致权限提示,因为Claude Code会处理 .claude/ 作为自我修正。

运行迁移脚本以移动到新 plans/ 位置:

curl -sSL https://raw.githubusercontent.com/LyricalString/claude-orchestrator-template/main/migrate-plans.sh | bash

这将:

  1. 创建 plans/ 目录
  2. 从以下位置移动现有的PLAN文件 .claude/plans/
  3. 更新 .gitignore
  4. 可选择更新本地文件引用

这是什么?

Claude Code的精心编排的工作流程,专为具有多个应用程序的monorepos而设计。使用MCP服务器生成和协调子代理:

/client-feedback "user reports login is broken on mobile"
                    │
                    ▼
    ┌───────────────────────────────────┐
    │  PHASE 1: INVESTIGATION           │
    │  • Parallel subagents (via MCP)   │
    │  • Create PLAN.md                 │
    │  • NO code changes                │
    └───────────────────────────────────┘
                    │
                    ▼
    ┌───────────────────────────────────┐
    │  PHASE 2: PLANNING                │
    │  • Review findings                │
    │  • Create implementation plan     │
    │  • Get user approval              │
    └───────────────────────────────────┘
                    │
                    ▼
    ┌───────────────────────────────────┐
    │  PHASE 3: IMPLEMENTATION          │
    │  • Launch app-specific agents     │
    │  • Parallel when possible         │
    │  • Type-check at the end          │
    └───────────────────────────────────┘

仪表盘

仪表板提供对所有项目中代理活动的实时可见性:

  • 实时更新 通过服务器发送事件(SSE)
  • 日志流 当代理人工作时
  • 令牌跟踪 用于使用监控
  • 多项目视图 -查看所有项目的代理

启动仪表板:

cd ~/.claude-orchestrator/dashboard && bun run start

或者,当您使用编排器时,它会自动启动。

打开:http://localhost:4000


MCP编排器

编排器使用提供以下工具的MCP服务器:

工具 目的
mcp__orchestrator__spawn_agent 启动具有特定任务的子代理
mcp__orchestrator__get_agent_status 检查状态+获取最终结果摘要。 使用 block=true 等待
mcp__orchestrator__get_agent_activity 获取结构化活动日志(解析条目)
mcp__orchestrator__search_agent_activity 使用正则表达式搜索已解析的活动
mcp__orchestrator__list_agents 列出所有可用和生成的代理
mcp__orchestrator__kill_agent 终止正在运行的代理

等待代理完成

使用 get_agent_status 和 block=true 同步等待代理完成:

// Non-blocking (default): returns immediately with current status
mcp__orchestrator__get_agent_status({ taskId: "abc123" })

// Blocking: waits until agent completes or timeout
mcp__orchestrator__get_agent_status({ taskId: "abc123", block: true })

// Blocking with custom timeout (10 minutes)
mcp__orchestrator__get_agent_status({ taskId: "abc123", block: true, timeout: 600000 })

参数:

  • taskId (必填):返回的任务ID spawn_agent
  • block (可选,默认值: false):如果 true,等待代理完成
  • timeout (可选,默认值: 300000):阻塞时的最大等待时间(毫秒)(默认值为5分钟)

答复包括:

  • timedOut: true 如果在完成之前达到超时

命令

安装后,这些命令可用:

命令 描述
/client-feedback "..." 完整的3阶段工作流程
/investigate "..." 仅第1阶段(只读)
/plan-fix 仅第2阶段
/implement 仅第3阶段
/continue-plan FILE.md 从PLAN文件中恢复
/generate-agent path/ 为新应用创建代理
/update-agent name 更新现有代理

运作原理

编排器

将任务路由到正确的特定于应用程序的代理,协调并行执行,维护PLAN文件。使用MCP工具生成子代理。

应用程序代理

每个应用程序都有一个了解其技术栈、模式和惯例的专业代理。代理定义见 .claude/agents/.

设计原则:代理捕获 模式胜过细节 -它们记录目录结构、编码约定和集成类型,但不记录版本号、函数名或配置值。这可以防止幻觉,并保持药物的可维护性。

计划文件

跨会话跟踪复杂任务。随时离开和返回 /continue-plan.


项目结构

设置后,您的项目将具有:

your-project/
├── .claude/
│   ├── agents/           # Agent definitions (customized for YOUR project)
│   │   ├── orchestrator.md
│   │   └── [your-apps].md
│   ├── commands/         # Slash commands
│   │   ├── client-feedback.md
│   │   ├── investigate.md
│   │   └── ...
│   └── logs/             # Local agent logs
├── plans/                # PLAN files for tracking work (outside .claude/)
├── AGENTS.md             # Project-wide coding conventions
└── .mcp.json             # MCP server config (points to global install)

备注:PLAN文件存储在 plans/ (不是 .claude/plans/)以避免在写入文件时出现Claude Code权限提示。

全球安装:

~/.claude-orchestrator/
├── mcp-orchestrator/     # MCP server (shared)
├── dashboard/            # Web dashboard (shared)
├── bin/update.sh         # Update script
├── orchestrator.db       # SQLite database (all projects)
└── logs/                 # Agent logs (organized by project)

手动设置

如果您更喜欢手动设置:

1.全局安装

git clone https://github.com/LyricalString/claude-orchestrator-template.git /tmp/orc
bash /tmp/orc/install-global.sh
rm -rf /tmp/orc

2.复制到项目

cd your-project

# Clone template
git clone --depth 1 https://github.com/LyricalString/claude-orchestrator-template.git /tmp/orc-template

# Copy commands and template agents
mkdir -p .claude/agents .claude/commands .claude/logs plans
cp -r /tmp/orc-template/.claude/commands/* .claude/commands/
cp -r /tmp/orc-template/.claude/agents/* .claude/agents/
cp /tmp/orc-template/AGENTS.md ./

# Clean up
rm -rf /tmp/orc-template

3.配置MCP

创建 .mcp.json:

{
  "mcpServers": {
    "orchestrator": {
      "command": "bun",
      "args": ["run", "~/.claude-orchestrator/mcp-orchestrator/index.ts"],
      "env": {
        "PROJECT_ROOT": "."
      }
    }
  }
}

4.定制代理

# Inside Claude Code
/generate-agent apps/your-app

# Or manually edit .claude/agents/

许可证

麻省理工学院

学分

由...创建 亚历克斯·马丁内斯