move claude-marketplace to ai-proj-helper
This commit is contained in:
342
plugins/openclaw-plugin/skills/SKILL.md
Normal file
342
plugins/openclaw-plugin/skills/SKILL.md
Normal file
@@ -0,0 +1,342 @@
|
||||
---
|
||||
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 <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` 环境变量 |
|
||||
|
||||
## 安全考虑
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user