名称: claw-conductor
描述: 一个常驻的自主开发编排器,具备智能分流功能。自动检测 Discord 频道,路由到项目工作区,区分简单请求与开发任务,分解复杂任务,路由到最优 AI 模型,并行执行,并整合结果。
版本: 2.1.0
您的常驻开发助手——处理从快速问题到完整项目构建的一切。
Claw Conductor 是一个智能编排层,它具备以下特点:
自动流程:
1. 消息到达 Discord 频道(例如 #scientific-calculator)
2. Claw-conductor 检测频道 → 映射到 /root/projects/scientific-calculator
3. 分流请求:是简单问题还是开发任务?
4. 如果是简单问题:由快速模型根据项目上下文快速响应
5. 如果是开发任务:完整编排流程——分解、路由、执行、整合
您永远不需要显式调用它——它会自动处理一切!
简单问题(快速响应):
用户:这个项目里有哪些文件?
Conductor:📋 简单响应模式
[列出 /root/projects/scientific-calculator 中的文件]
用户:计算器是如何工作的?
Conductor:📋 简单响应模式
[结合项目上下文解释架构]
开发任务(完整编排):
用户:构建一个带有三角函数功能的科学计算器
Conductor:🔧 开发模式 - 完整编排
[分解任务、路由到模型、并行执行]
用户:修复计算逻辑中的 bug
Conductor:🔧 开发模式 - 完整编排
[分析代码、创建修复、测试、提交]
用户覆盖:
用户:!simple 构建一个计算器
Conductor:📋 简单响应模式
[给出建议/解释,而不是构建]
用户:!dev 有哪些文件?
Conductor:🔧 开发模式 - 完整编排
[视为开发任务——可能会创建文件列表工具]
新增:常驻模式(推荐)
将此技能配置为“活跃项目”类别下 Discord 频道的默认处理器:
# 在 OpenClaw 代理配置中
from orchestrator import Orchestrator
orchestrator = Orchestrator()
# 通过 conductor 处理所有消息
result = orchestrator.handle_message(
request=user_message,
channel_id=discord_channel_id,
channel_name=discord_channel_name
)
旧版:显式调用
当使用开发请求调用此技能时,执行以下操作:
执行编排器(使用 Python):
```bash
cd ~/.openclaw/skills/claw-conductor/scripts
python3 -c "
from orchestrator import Orchestrator
import sys
orchestrator = Orchestrator()
request = '''[用户请求内容]'''
project_name = '[项目名称]' # 例如 'calculator-app', 'todo-app', 'blog-site'
github_user = orchestrator.config.get('github_user')
result = orchestrator.execute_request(
request=request,
project_name=project_name,
github_user=github_user
)
if result['success']:
print(f\"✅ 项目 '{project_name}' 成功完成!\")
print(f\"📦 完成了 {result['tasks_completed']} 个任务\")
if github_user:
print(f\"🔗 GitHub: https://github.com/{github_user}/{project_name}\")
print(f\"📁 工作区: {result.get('workspace', '/root/projects/' + project_name)}\")
else:
print(f\"❌ 项目失败: {result.get('error', '未知错误')}\")
sys.exit(1)
"
```
报告进度:在执行期间向 Discord 报告:
调用示例:
用户说:@OpenClaw use claw-conductor to build a calculator app
您执行:
- 请求:"build a calculator app"
- 项目名称:"calculator-app"
- 使用这些参数运行编排器
🤖 AI 驱动的任务分解:使用您的最佳 AI 模型(自动选择或配置)智能分析复杂请求
🎯 完整编排:分解复杂请求 → 路由子任务 → 并行执行 → 整合结果
⚡ 并行执行:跨多个项目最多同时运行 5 个任务
📁 项目管理:自动创建工作区、初始化 git 仓库、集成 GitHub
🔗 依赖感知:尊重任务依赖关系和文件冲突
📦 自动整合:合并结果、运行测试、提交到 git、推送到 GitHub
在 OpenClaw 中:
cd ~/.openclaw/skills
git clone https://github.com/johnsonfarmsus/claw-conductor.git
cd claw-conductor
./scripts/setup.sh
./scripts/setup.sh
这将创建您的个性化 agent-registry.json,包含:
- 您的 AI 模型配置
- 成本跟踪(免费 vs 付费)
- 每个模型的能力评级
- 路由偏好
简单请求:
@OpenClaw use claw-conductor to build a calculator app
复杂请求:
@OpenClaw use claw-conductor to build a towing dispatch system with:
- Customer portal for requesting service
- Driver dashboard for accepting jobs
- Admin panel for managing users
- Real-time location tracking
- Payment integration
Discord 请求
↓
1. 任务分解
• 分析请求复杂度
• 拆分为独立的子任务
• 为每个任务分配类别和复杂度
• 构建依赖图
↓
2. 智能路由
• 为每个任务对每个模型评分(0-100)
• 根据能力路由到最佳匹配
• 考虑成本优化
↓
3. 项目初始化
• 创建 /root/projects/{name}/
• 初始化 git 仓库
• 创建 GitHub 仓库(如果已配置)
• 设置工作区
↓
4. 并行执行
• 最多同时启动 5 个任务
• 尊重依赖关系(数据库在认证之前)
• 避免文件冲突(相同文件顺序执行)
• 向 Discord 报告进度
↓
5. 结果整合
• 合并所有任务输出
• 解决文件冲突
• 运行测试(如果存在)
• 提交到 git
• 推送到 GitHub
↓
Discord 完成报告
请求:
构建一个带有客户门户、司机仪表板、管理面板和实时跟踪的拖车调度系统
分解:
任务 1:数据库模式 (database-operations, 复杂度: 4)
任务 2:认证系统 (security-fixes, 复杂度: 4)
任务 3:客户门户 UI (frontend-development, 复杂度: 3)
任务 4:司机仪表板 UI (frontend-development, 复杂度: 3)
任务 5:管理面板 UI (frontend-development, 复杂度: 3)
任务 6:REST API 端点 (api-development, 复杂度: 3)
任务 7:实时跟踪 (performance-optimization, 复杂度: 5)
任务 8:单元测试 (unit-test-generation, 复杂度: 2)
路由:
任务 1 → Mistral Devstral (分数: 92, 数据库最佳)
任务 2 → Mistral Devstral (分数: 88, 安全专家)
任务 3 → Mistral Devstral (分数: 95, 前端专家)
任务 4 → Mistral Devstral (分数: 95, 前端专家)
任务 5 → Mistral Devstral (分数: 95, 前端专家)
任务 6 → Llama 3.3 70B (分数: 87, API 专家)
任务 7 → Mistral Devstral (分数: 78, 备用 - 理想情况需要 Claude)
任务 8 → Llama 3.3 70B (分数: 95, 测试生成专家)
执行:
并行执行计划:
工作器 1:任务 1 (数据库) → Mistral
工作器 2:任务 3 (客户 UI) → Devstral
工作器 3:任务 4 (司机 UI) → Devstral
工作器 4:任务 5 (管理 UI) → Devstral
工作器 5:任务 6 (API) → Llama
任务 1 完成后:
工作器 1:任务 2 (认证 - 依赖数据库) → Mistral
所有代码完成后:
工作器 1:任务 8 (测试) → Llama
结果:
✅ 所有 8 个任务在 47 分钟内完成
📦 提交到 git,包含 8 处更改
🔗 推送到 GitHub 仓库
🎉 项目已准备好部署
每个模型针对每个任务获得 0-100 的评分:
score = (
(rating / 5.0) * 50 + # 模型能力 (0-50 分)
(1 - complexity/5.0) * 40 + # 复杂度匹配度 (0-40 分)
(experience / 100) * 10 + # 经验 (0-10 分)
cost_factor * 10 # 成本 (0-10 分)
)
硬性上限:模型无法处理超过其 max_complexity 评级的任务。
任务:后端 API 开发(复杂度: 4)
| 模型 | 能力 | 复杂度匹配 | 经验 | 成本 | 总分 |
|---|---|---|---|---|---|
| Mistral Devstral | 4★ (40分) | 可处理 4 (40分) | 0 (0分) | 免费 (10分) | 90/100 |
| Llama 3.3 70B | 4★ (40分) | 可处理 4 (40分) | 2 个任务 (2分) | 免费 (10分) | 92/100 ✅ |
| Perplexity | 不适用 | 无法处理后端 | - | - | 0/100 |
胜出者:Llama 3.3 70B(经验更丰富)
config/agent-registry.json:
{
"version": "1.0.0",
"user_config": {
"cost_tracking_enabled": true,
"prefer_free_when_equal": true,
"max_parallel_tasks": 5,
"default_complexity_if_unknown": 3,
"fallback": {
"enabled": true,
"retry_delay_seconds": 2,
"track_failures": true,
"penalize_failures": true,
"failure_penalty_points": 5
}
},
"agents": {
"mistral-devstral-2512": {
"model_id": "mistral/devstral-2512",
"provider": "mistral",
"context_window": 256000,
"enabled": true,
"user_cost": {
"type": "free-tier",
"input_cost_per_million": 0,
"output_cost_per_million": 0
},
"capabilities": {
"frontend-development": {
"rating": 5,
"max_complexity": 5,
"notes": "专家 - 与 Claude 接近"
},
"multi-file-refactoring": {
"rating": 5,
"max_complexity": 5,
"notes": "专家 - 专为 50+ 文件更改设计"
}
}
}
}
}
保守的备用策略(用户可配置):
1. 尝试主模型(第 1 次尝试)
2. 尝试主模型(第 2 次尝试)
3. 如果两者都失败 → 尝试第一备选(第 3 次尝试)
4. 尝试第一备选(第 4 次尝试)
5. 如果全部失败 → 放弃,报告到 Discord
为何保守?
防止级联到可能不具备任务能力的无关模型。
处理不同项目的并发请求:
项目 A:调度系统 (3 个任务运行中)
项目 B:计算器应用 (2 个任务运行中)
────────────────────────────────────────────
总计:5 个并发任务(达到全局限制)
涉及相同文件的任务顺序执行:
任务 1:修改 src/api/users.js → 运行中
任务 2:修改 src/api/users.js → 排队中(等待任务 1)
任务 3:修改 src/ui/dashboard.js → 运行中(独立)
任务 1:数据库模式 → 无依赖,立即开始
任务 2:认证系统 → 依赖任务 1,等待
任务 3:前端 UI → 依赖任务 2,等待
任务 4:测试 → 依赖所有任务,最后运行
所有任务完成后:
1. 检查 git 状态是否有冲突
2. 运行测试(pytest、npm test 等)
3. 使用约定式提交消息提交
4. 推送到 GitHub(如果已配置)
5. 报告到 Discord
@OpenClaw use claw-conductor to build a calculator with:
- Basic operations (add, subtract, multiply, divide)
- Clean UI
- Unit tests
结果:
- 3 个任务(UI、逻辑、测试)
- 约 8 分钟完成
- 推送到 GitHub
@OpenClaw use claw-conductor to build a dispatch system with:
- Customer portal
- Driver dashboard
- Admin panel
- Real-time tracking
- Payment integration
结果:
- 8 个任务,涉及 3 个模型
- 约 45 分钟完成
- 完整的可运行应用程序
@OpenClaw use claw-conductor to create a REST API for a blog with:
- CRUD operations for posts
- Authentication
- Swagger documentation
- Integration tests
结果:
- 5 个任务(模式、认证、端点、文档、测试)
- 约 20 分钟完成
- API 优先设计
问题:请求未正确分解
解决方案:在请求中具体说明。包含关键词:"database"、"API"、"frontend"、"tests"
问题:为任务选择了错误的模型
解决方案:在 agent-registry.json 中调整能力评级
问题:任务因错误失败
解决方案:备用策略会尝试主模型 2 次,备选模型 2 次。检查 .claw-conductor/execution-log.json 中的错误日志
问题:整合因冲突失败
解决方案:目前需要手动解决。未来计划:AI 驱动的冲突解决
GNU AGPL v3 - 详见 LICENSE 文件
要求服务器端源代码可用的 Copyleft 许可证。
请参阅 CONTRIBUTING.md 了解指南。
发布于 ClawHub.ai:https://clawhub.ai/skills/claw-conductor
由 Claw Conductor 团队用心构建 ❤️