Appearance
OpenClaw + Claude Code 高效工作流:自动化编程实战指南
OpenClaw 负责编排,Claude Code 负责执行。两个工具配合,能实现真正的"AI 帮你写代码"——不只是对话,而是自动发现问题、修复、提交 PR。这篇指南拆解完整工作流。
核心理念:职责分离
OpenClaw = 大脑(编排层)
- 24 小时监控
- 任务调度
- 上下文管理
- 结果通知
Claude Code = 手(执行层)
- 代码编写
- 文件操作
- 命令执行
- Git 操作
协作模式:OpenClaw 发现问题 → 调用 Claude Code → 自动修复 → 通知结果
架构设计
双层架构
┌─────────────────────────────────────┐
│ 编排层(OpenClaw) │
│ ┌─────────┬─────────┬─────────┐ │
│ │ 任务队列 │ 监控器 │ 通知器 │ │
│ └─────────┴─────────┴─────────┘ │
│ ↓ ACP 协议 │
├─────────────────────────────────────┤
│ 执行层(Claude Code) │
│ ┌─────────┬─────────┬─────────┐ │
│ │ 代码生成 │ Git 操作 │ 测试执行 │ │
│ └─────────┴─────────┴─────────┘ │
└─────────────────────────────────────┘ACP 协议
ACP(Agent Communication Protocol)是 OpenClaw 与 Claude Code 通信的桥梁。
工作流程:
- OpenClaw 创建任务
- 通过 ACP 发送给 Claude Code
- Claude Code 执行并返回结果
- OpenClaw 处理结果并通知用户
实战场景:自动 Bug 修复
场景描述
你有一个 GitHub 项目,希望:
- 自动监控 GitHub Issues
- 分析问题并定位 Bug
- 自动修复并提交 PR
- 通知你审核
完整配置
Step 1:安装必要 Skills
bash
# 安装 GitHub 集成
clawhub install github-integration
# 安装 Claude Code 子代理
clawhub install subagent-claude-code
# 安装通知插件
clawhub install notifierStep 2:配置 GitHub 连接
bash
# 配置 GitHub Token
openclaw config set plugins.github.token "ghp_xxxxx"
# 配置监控的仓库
openclaw config set plugins.github.repos '["yourname/your-repo"]'Step 3:配置 Claude Code 子代理
在 ~/.openclaw/agents/claude-code-agent.json 中配置:
json
{
"name": "claude-code-agent",
"type": "subagent",
"provider": "claude-code",
"model": "claude-3-5-sonnet-20241022",
"capabilities": [
"code_generation",
"file_operations",
"git_operations",
"test_execution"
],
"workingDirectory": "/path/to/your/project"
}Step 4:创建自动化 Skill
创建 ~/.openclaw/skills/auto-fix-bugs/skill.md:
markdown
# Auto Fix Bugs
## 触发条件
- GitHub 新 Issue 创建
- Issue 包含 "bug" 标签
## 执行流程
1. 分析 Issue 内容
2. 定位问题代码
3. 生成修复方案
4. 调用 Claude Code 执行修复
5. 运行测试验证
6. 提交 PR
7. 通知用户审核Step 5:启动监控
bash
# 启动 GitHub 监控
openclaw skill start auto-fix-bugs
# 或设置为后台服务
openclaw daemon start运行效果
- Issue 创建:用户提交 Bug 报告
- OpenClaw 分析:理解问题,定位代码
- Claude Code 修复:自动编写修复代码
- 测试验证:运行测试确保修复有效
- 提交 PR:自动创建 Pull Request
- 通知审核:发送消息给你审核
实战场景:定时代码审查
场景描述
每天凌晨自动审查代码变更,发现潜在问题。
配置方法
bash
# 创建定时任务
openclaw cron add "0 2 * * *" --skill code-review
# 配置审查规则
openclaw config set skills.code-review.rules '{
"checkSecurity": true,
"checkPerformance": true,
"checkStyle": true
}'审查流程
定时触发 → 拉取最新代码 → 调用 Claude Code 分析 → 生成报告 → 推送通知实战场景:智能日报生成
场景描述
每天自动汇总 Git 提交、Issue 处理、PR 状态,生成日报。
配置方法
创建 Skill daily-report:
markdown
# Daily Report Generator
## 触发条件
- 每日 18:00
## 数据来源
- Git 提交记录
- GitHub Issues
- GitHub PRs
## 输出格式
Markdown 格式日报bash
# 安装
clawhub install daily-report
# 配置定时
openclaw cron add "0 18 * * *" --skill daily-report
# 配置推送渠道
openclaw config set skills.daily-report.channels '["wechat", "email"]'Heartbeat 模式
对于轻量级任务,使用 Heartbeat 模式:
json
{
"heartbeat": {
"enabled": true,
"interval": 300000,
"tasks": [
"check_emails",
"check_calendar",
"check_notifications"
]
}
}优点:
- 减少 API 调用
- 不需要精确时间
- 可同时检查多个信息源
Subagent vs 直接调用
Subagent 模式(推荐)
OpenClaw 将 Claude Code 作为子代理调用:
优点:
- 隔离执行环境
- 可并行多个任务
- 失败不影响主进程
配置:
json
{
"subagents": [
{
"name": "claude-code-worker",
"type": "claude-code",
"model": "claude-3-5-sonnet-20241022"
}
]
}直接调用模式
OpenClaw 直接调用 Claude Code API:
缺点:
- 串行执行
- 失败影响主进程
模型选择策略
| 任务类型 | 推荐模型 | 原因 |
|---|---|---|
| 简单修复 | Claude 3 Haiku | 快速、便宜 |
| 复杂重构 | Claude 3.5 Sonnet | 智能程度高 |
| 架构设计 | Claude 3 Opus | 最强推理 |
配置示例:
json
{
"modelRouting": {
"simple_fix": "claude-3-haiku-20240307",
"refactor": "claude-3-5-sonnet-20241022",
"architecture": "claude-3-opus-20240229"
}
}成本控制
限制调用次数
json
{
"rateLimit": {
"maxCallsPerHour": 50,
"maxTokensPerDay": 500000
}
}使用更便宜的模型
json
{
"fallback": {
"primary": "claude-3-5-sonnet-20241022",
"fallback": "deepseek-coder"
}
}批量处理
将多个小任务合并:
json
{
"batching": {
"enabled": true,
"maxBatchSize": 10,
"timeout": 60000
}
}监控与告警
配置告警
json
{
"alerts": {
"channels": ["wechat", "email"],
"events": [
"task_failed",
"cost_exceeded",
"rate_limit_hit"
]
}
}查看统计
bash
# 查看任务统计
openclaw stats
# 查看 API 调用情况
openclaw stats --api
# 查看成本
openclaw stats --cost常见问题
问题一:Claude Code 子代理连接失败
解决:
bash
# 检查子代理状态
openclaw subagent list
# 重启子代理
openclaw subagent restart claude-code-worker问题二:任务执行超时
解决:
json
{
"timeout": {
"default": 300000,
"max": 600000
}
}问题三:成本过高
解决:
- 使用模型路由,简单任务用便宜模型
- 启用批量处理
- 设置日限额
最佳实践
实践一:渐进式自动化
阶段一:人工触发,观察效果
阶段二:定时触发,人工审核
阶段三:自动触发,自动执行实践二:失败重试
json
{
"retry": {
"maxAttempts": 3,
"backoff": "exponential",
"delay": 1000
}
}实践三:结果缓存
json
{
"cache": {
"enabled": true,
"ttl": 3600,
"maxSize": "1GB"
}
}总结
| 要素 | 说明 |
|---|---|
| 架构 | OpenClaw 编排 + Claude Code 执行 |
| 协议 | ACP 通信 |
| 模式 | Subagent 模式(推荐) |
| 触发 | 定时 / Webhook / Heartbeat |
| 成本 | 模型路由 + 批量处理 + 限额 |
OpenClaw + Claude Code 的组合,让你真正实现"AI 帮你干活"。从简单的 Bug 自动修复开始,逐步扩展到代码审查、测试生成、文档编写,最终构建完整的自动化开发工作流。
