skills/ → skills-dev(9), skills-req(10), skills-ops(4), skills-integration(8), skills-biz(4), skills-workflow(7) generate-marketplace.py 改为自动扫描所有 skills-* 目录。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8.5 KiB
8.5 KiB
name, description
| name | description |
|---|---|
| openclaw | OpenClaw (龙虾) - Remote AI compute orchestration system. Dispatches requirements to Claude Code instances on remote machines, monitors execution, and aggregates results. |
OpenClaw - Remote AI Compute Orchestration
OpenClaw (龙虾) 是一个分布式 AI 算力调度系统,用于将需求/任务分发到不同机器上的 Claude Code 实例执行。
核心概念
1. Ticket (工单)
每个需求 (Requirement) 或任务 (Task) 都是一个 Ticket,包含:
- ID: REQ-YYYYMMDD-XXXX 或 Task ID
- Description: 任务描述
- Context: 项目路径、技术栈、依赖
- Priority: 优先级 (high/medium/low)
- Target: 目标计算节点
2. Compute Node (算力节点)
运行 Claude Code 的开发机器:
- Melbourne (coolbuy-dev): 主开发机,全栈开发
- Shanghai (dev-box): 测试环境
- Beijing (lazycat): OpenClaw 本身所在的容器
3. Dispatcher (调度器)
OpenClaw 核心组件,负责:
- 接收 Ticket
- 选择合适的 Compute Node
- 生成 Claude Code 命令
- 通过 SSH 执行
- 监控进度
- 汇总结果
使用方法
基本调用
# 方式 1: 通过需求 ID
/openclaw dispatch REQ-20260216-0001
# 方式 2: 直接指定任务
/openclaw run "实现用户批量导入功能" --node melbourne --project new-ai-proj
# 方式 3: 使用 Swarm 模式
/openclaw swarm REQ-20260216-0001 --node melbourne
指定计算节点
# 自动选择 (根据负载和项目位置)
/openclaw dispatch REQ-20260216-0001 --auto
# 指定节点
/openclaw dispatch REQ-20260216-0001 --node melbourne
# 并行执行 (多个节点)
/openclaw dispatch REQ-20260216-0001 --nodes melbourne,shanghai --parallel
监控执行状态
# 查看所有运行中的任务
/openclaw status
# 查看特定任务的日志
/openclaw logs REQ-20260216-0001
# 实时追踪任务进度
/openclaw tail REQ-20260216-0001
工作流程
完整示例: 从 Feishu 到执行
步骤 1: 用户在飞书发起请求
@龙虾 执行 REQ-20260216-0001
步骤 2: Feishu Bot 解析命令
- 提取需求 ID: REQ-20260216-0001
- 调用 OpenClaw skill
步骤 3: OpenClaw 查询需求详情
# 使用 ai-proj-prod MCP 获取需求信息
mcp__ai-proj-prod__find_requirement(displayId="REQ-20260216-0001")
步骤 4: OpenClaw 生成执行计划
{
"ticket_id": "REQ-20260216-0001",
"title": "AI Ticket 演示: 验证算力调度系统",
"type": "swarm",
"target_node": "melbourne",
"command": "/swarm start '实现 AI Ticket 从创建到算力调度的完整流程'",
"context": {
"project": "/Users/coolbuy-dev/coding/new-ai-proj",
"requirement_id": "REQ-20260216-0001",
"priority": "high"
}
}
步骤 5: SSH 执行命令
ssh coolbuy-dev@melbourne \
"cd /Users/coolbuy-dev/coding/new-ai-proj && \
/opt/homebrew/bin/claude --dangerously-skip-permissions \
-p '/swarm start 实现 AI Ticket 从创建到算力调度的完整流程 \
--context requirement_id=REQ-20260216-0001'"
步骤 6: Claude Code 执行 Swarm 工作流
- Architect Agent: 分析需求,设计方案
- Coder Agent: 实现代码
- Tester Agent: 编写和运行测试
- Reviewer Agent: 代码审查
- Deployer Agent: 部署到环境
步骤 7: OpenClaw 监控和汇总
- 实时获取执行日志
- 解析 Agent 切换和进度
- 检测完成或失败
步骤 8: 报告结果
【执行完成】REQ-20260216-0001
✅ 状态: 成功
⏱️ 耗时: 25 分钟
📝 修改: 12 个文件
✅ 测试: 32 个用例全部通过
🚀 部署: staging 环境已更新
详情: https://ai-proj.pipexerp.com/requirements/REQ-20260216-0001
配置文件
openclaw.yaml
在 ~/.claude/openclaw/config.yaml 配置节点信息:
nodes:
melbourne:
host: coolbuy-dev-macbook.local
user: coolbuy-dev
ssh_key: ~/.ssh/id_rsa
claude_path: /opt/homebrew/bin/claude
working_dirs:
- /Users/coolbuy-dev/coding/new-ai-proj
- /Users/coolbuy-dev/coding/coolbuy-paas
capabilities:
- go
- vue
- react
- ios
- android
max_concurrent: 3
shanghai:
host: dev-box.pipexerp.com
user: devops
ssh_key: ~/.ssh/id_rsa_ops
claude_path: /usr/local/bin/claude
working_dirs:
- /home/devops/projects
capabilities:
- testing
- deployment
max_concurrent: 2
routing_rules:
# 根据项目路径自动选择节点
- pattern: "*/new-ai-proj/*"
node: melbourne
- pattern: "*/coolbuy-*/*"
node: melbourne
# 根据需求类别路由
- category: testing
node: shanghai
- category: feature
node: melbourne
priority: prefer # 非强制
# 默认节点
default: melbourne
monitoring:
progress_interval: 30s # 每 30 秒检查一次进度
timeout: 2h # 2 小时超时
feishu_notifications: true
feishu_webhook: ${FEISHU_OPENCLAW_WEBHOOK}
高级功能
1. 负载均衡
OpenClaw 自动根据节点负载分配任务:
# 自动选择最空闲的节点
/openclaw dispatch REQ-20260216-0001 --load-balance
2. 任务队列
当节点繁忙时,任务进入队列:
# 查看队列
/openclaw queue
# 输出:
# 队列中的任务:
# 1. [melbourne] REQ-20260216-0002 - 等待中 (前面 1 个任务)
# 2. [shanghai] Task-1234 - 等待中 (前面 0 个任务)
3. 结果缓存
已执行过的相同任务可以复用结果:
/openclaw dispatch REQ-20260216-0001 --use-cache
4. 故障恢复
任务失败时自动重试或切换节点:
retry_policy:
max_attempts: 3
backoff: exponential # 1min, 2min, 4min
fallback_node: shanghai # 失败后切换到备用节点
与其他 Skills 集成
与 agent-swarm 集成
# OpenClaw 调度 Swarm 工作流
/openclaw swarm REQ-20260216-0001 --node melbourne
与 ai-proj 集成
# 自动更新需求状态
# pending → in_progress → testing → completed
/openclaw dispatch REQ-20260216-0001 --sync-status
与 feishu 集成
# 飞书群接收进度通知
# "【进行中】REQ-20260216-0001 - Coder Agent 正在实现后端 API (35%)"
与 ops-tools 集成
# 部署到服务器
/openclaw dispatch REQ-20260216-0001 --deploy staging
命令速查
| 命令 | 功能 |
|---|---|
/openclaw dispatch <req-id> |
调度需求到节点执行 |
/openclaw run "<task>" |
直接执行任务 |
/openclaw swarm <req-id> |
使用 Swarm 模式执行 |
/openclaw status |
查看所有任务状态 |
/openclaw logs <req-id> |
查看任务日志 |
/openclaw tail <req-id> |
实时追踪任务 |
/openclaw queue |
查看任务队列 |
/openclaw nodes |
列出所有计算节点 |
/openclaw cancel <req-id> |
取消任务 |
故障排查
| 问题 | 原因 | 解决方案 |
|---|---|---|
| SSH 连接失败 | 网络或认证问题 | 检查 ~/.ssh/config 和密钥权限 |
| Claude 命令未找到 | Claude 未安装或路径错误 | 更新 openclaw.yaml 中的 claude_path |
| 任务卡住不动 | 超时或节点挂起 | 使用 /openclaw cancel 取消并重试 |
| Feishu 通知失败 | Webhook 配置错误 | 检查 FEISHU_OPENCLAW_WEBHOOK 环境变量 |
安全考虑
- SSH 密钥管理: 使用专用密钥,定期轮换
- 命令注入防护: 所有参数都经过严格转义
- 权限控制: 限制 Claude Code 的
--dangerously-skip-permissions使用 - 日志审计: 所有命令执行都记录在
~/.claude/openclaw/audit.log
实际应用场景
场景 1: 多项目并行开发
# 同时在不同机器上开发不同项目
/openclaw dispatch REQ-001 --node melbourne --project new-ai-proj &
/openclaw dispatch REQ-002 --node shanghai --project coolbuy-paas &
场景 2: 测试环境验证
# 开发在 Melbourne,测试在 Shanghai
/openclaw dispatch REQ-003 --node melbourne # 开发
sleep 1h # 等待开发完成
/openclaw dispatch REQ-003 --node shanghai --verify # 测试验证
场景 3: 紧急 Bug 修复
# 高优先级任务插队执行
/openclaw dispatch BUG-001 --priority urgent --node melbourne
未来扩展
- Web 控制面板: 可视化任务状态和节点负载
- 分布式追踪: Jaeger/OpenTelemetry 集成
- 成本统计: 记录每个任务的 token 使用量和费用
- 智能调度: 基于历史数据预测任务执行时间
- 多云支持: 支持 AWS/Azure/GCP 上的计算节点
开发者: AI 项目管理助手 版本: 1.0.0 最后更新: 2026-02-16