--- name: openclaw description: 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 执行 - 监控进度 - 汇总结果 ## 使用方法 ### 基本调用 ```bash # 方式 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 ``` ### 指定计算节点 ```bash # 自动选择 (根据负载和项目位置) /openclaw dispatch REQ-20260216-0001 --auto # 指定节点 /openclaw dispatch REQ-20260216-0001 --node melbourne # 并行执行 (多个节点) /openclaw dispatch REQ-20260216-0001 --nodes melbourne,shanghai --parallel ``` ### 监控执行状态 ```bash # 查看所有运行中的任务 /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 查询需求详情** ```bash # 使用 ai-proj-prod MCP 获取需求信息 mcp__ai-proj-prod__find_requirement(displayId="REQ-20260216-0001") ``` **步骤 4: OpenClaw 生成执行计划** ```json { "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 执行命令** ```bash 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` 配置节点信息: ```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 自动根据节点负载分配任务: ```bash # 自动选择最空闲的节点 /openclaw dispatch REQ-20260216-0001 --load-balance ``` ### 2. 任务队列 当节点繁忙时,任务进入队列: ```bash # 查看队列 /openclaw queue # 输出: # 队列中的任务: # 1. [melbourne] REQ-20260216-0002 - 等待中 (前面 1 个任务) # 2. [shanghai] Task-1234 - 等待中 (前面 0 个任务) ``` ### 3. 结果缓存 已执行过的相同任务可以复用结果: ```bash /openclaw dispatch REQ-20260216-0001 --use-cache ``` ### 4. 故障恢复 任务失败时自动重试或切换节点: ```yaml retry_policy: max_attempts: 3 backoff: exponential # 1min, 2min, 4min fallback_node: shanghai # 失败后切换到备用节点 ``` ## 与其他 Skills 集成 ### 与 agent-swarm 集成 ```bash # OpenClaw 调度 Swarm 工作流 /openclaw swarm REQ-20260216-0001 --node melbourne ``` ### 与 ai-proj 集成 ```bash # 自动更新需求状态 # pending → in_progress → testing → completed /openclaw dispatch REQ-20260216-0001 --sync-status ``` ### 与 feishu 集成 ```bash # 飞书群接收进度通知 # "【进行中】REQ-20260216-0001 - Coder Agent 正在实现后端 API (35%)" ``` ### 与 ops-tools 集成 ```bash # 部署到服务器 /openclaw dispatch REQ-20260216-0001 --deploy staging ``` ## 命令速查 | 命令 | 功能 | |------|------| | `/openclaw dispatch ` | 调度需求到节点执行 | | `/openclaw run ""` | 直接执行任务 | | `/openclaw swarm ` | 使用 Swarm 模式执行 | | `/openclaw status` | 查看所有任务状态 | | `/openclaw logs ` | 查看任务日志 | | `/openclaw tail ` | 实时追踪任务 | | `/openclaw queue` | 查看任务队列 | | `/openclaw nodes` | 列出所有计算节点 | | `/openclaw cancel ` | 取消任务 | ## 故障排查 | 问题 | 原因 | 解决方案 | |------|------|----------| | SSH 连接失败 | 网络或认证问题 | 检查 `~/.ssh/config` 和密钥权限 | | Claude 命令未找到 | Claude 未安装或路径错误 | 更新 `openclaw.yaml` 中的 `claude_path` | | 任务卡住不动 | 超时或节点挂起 | 使用 `/openclaw cancel` 取消并重试 | | Feishu 通知失败 | Webhook 配置错误 | 检查 `FEISHU_OPENCLAW_WEBHOOK` 环境变量 | ## 安全考虑 1. **SSH 密钥管理**: 使用专用密钥,定期轮换 2. **命令注入防护**: 所有参数都经过严格转义 3. **权限控制**: 限制 Claude Code 的 `--dangerously-skip-permissions` 使用 4. **日志审计**: 所有命令执行都记录在 `~/.claude/openclaw/audit.log` ## 实际应用场景 ### 场景 1: 多项目并行开发 ```bash # 同时在不同机器上开发不同项目 /openclaw dispatch REQ-001 --node melbourne --project new-ai-proj & /openclaw dispatch REQ-002 --node shanghai --project coolbuy-paas & ``` ### 场景 2: 测试环境验证 ```bash # 开发在 Melbourne,测试在 Shanghai /openclaw dispatch REQ-003 --node melbourne # 开发 sleep 1h # 等待开发完成 /openclaw dispatch REQ-003 --node shanghai --verify # 测试验证 ``` ### 场景 3: 紧急 Bug 修复 ```bash # 高优先级任务插队执行 /openclaw dispatch BUG-001 --priority urgent --node melbourne ``` ## 未来扩展 - [ ] Web 控制面板: 可视化任务状态和节点负载 - [ ] 分布式追踪: Jaeger/OpenTelemetry 集成 - [ ] 成本统计: 记录每个任务的 token 使用量和费用 - [ ] 智能调度: 基于历史数据预测任务执行时间 - [ ] 多云支持: 支持 AWS/Azure/GCP 上的计算节点 --- **开发者**: AI 项目管理助手 **版本**: 1.0.0 **最后更新**: 2026-02-16