OpenClaw 和 Claude Code 是来自不同产品线的两款工具, 但它们可以组合出意想不到的强大工作流。
两者的定位差异
OpenClaw:
→ 聊天 AI 助手框架
→ 连接 Telegram/WhatsApp/Slack 等消息渠道
→ 支持多 Agent、记忆系统、Cron 定时任务
→ 适合:对话式 AI、事件响应、跨平台通知
Claude Code(claude CLI):
→ 直接操作代码库的 AI 编程工具
→ 读取/修改文件、执行命令、调用 API
→ 理解整个 Repo 的代码上下文
→ 适合:编写代码、重构、调试、代码审查
组合威力:
你在 Telegram 发消息 → OpenClaw 接收
→ OpenClaw exec 工具调用 claude CLI
→ Claude Code 在代码库里执行具体任务
→ 返回结果给 OpenClaw
→ OpenClaw 通过 Telegram 告诉你结果
基础协同:exec 调用 Claude Code
在 SOUL.md 中配置编程任务处理逻辑:
markdown
# SOUL.md
## 编程任务处理
当用户要求完成编程相关任务时:
1. 判断是否需要操作代码库(修改文件、运行测试等)
2. 如果需要,用 exec 工具调用 claude CLI:
- 工作目录:~/projects/my-repo
- 命令:claude --print "任务描述"
3. 把 claude CLI 的输出结果发给用户
注意:
- 使用 --print 模式(非交互式,适合自动化)
- 任务描述要清晰具体实际对话示例:
你(Telegram):
帮我检查 src/auth.ts 有没有潜在的安全漏洞
OpenClaw 内部执行:
exec("claude --print '请检查 src/auth.ts 的安全漏洞,
重点关注:SQL注入、XSS、认证绕过、权限检查' ",
workdir="~/projects/my-repo")
Claude Code 执行后返回分析结果
你收到(Telegram):
发现 2 个潜在问题:
1. 第 47 行:JWT 验证未检查 algorithm 字段,存在 alg:none 绕过风险
2. 第 83 行:密码比较使用 == 而非 crypto.timingSafeEqual,存在时序攻击...
实战配置
bash
# 确认 claude CLI 已安装并可用
which claude
claude --version
# 测试非交互模式
claude --print "用一行 Python 写 Fibonacci 数列" --no-conversation在 OpenClaw 配置中确保 exec 工具允许调用 claude:
json
{
"tools": {
"exec": {
"security": "allowlist",
"allowedCommands": ["claude", "git", "npm", "python3"],
"ask": "on-miss"
}
}
}Cron 定时编程任务
每日代码审查
json
{
"cron": {
"jobs": [
{
"name": "daily-code-review",
"schedule": "0 9 * * 1-5",
"timezone": "Asia/Shanghai",
"task": "用 claude CLI 对今天的 git diff 做代码审查,重点检查安全性和代码质量",
"workdir": "~/projects/my-repo",
"outputChannel": "slack"
}
]
}
}每周依赖更新检查
json
{
"name": "dependency-check",
"schedule": "0 10 * * 1",
"task": "运行 npm audit 和 npm outdated,用 Claude Code 分析哪些依赖需要立即更新(有安全漏洞的),生成更新建议报告",
"outputChannel": "telegram"
}PR 自动化(GitHub Webhook)
GitHub PR 创建 → Webhook → OpenClaw
→ exec("claude --print '请 review 这个 PR 的代码变更...'")
→ AI 生成审查意见
→ 通过 GitHub API 自动在 PR 上发评论
CRS 代理统一接入
如果 Claude Code 也通过 CRS 代理接入:
bash
# Claude Code 使用 CRS
export ANTHROPIC_BASE_URL=https://your-crs.com/api
export ANTHROPIC_API_KEY=your-crs-key
claude --print "任务..."json
{
"providers": {
"anthropic": {
"baseUrl": "https://your-crs.com/api",
"apiKey": "your-crs-key"
}
}
}两者用同一个 CRS 代理,统一管理 Claude Max 配额。
三种协同架构模式
模式一:主动触发
你发消息 → OpenClaw → exec Claude Code → 返回结果
适合:临时任务、代码问答、文件修改
模式二:被动响应(Webhook)
外部事件(PR/Issue/告警)→ OpenClaw Webhook
→ exec Claude Code 处理 → 发通知
适合:CI/CD集成、自动审查、监控响应
模式三:定时执行(Cron)
定时触发 → exec Claude Code
→ 生成报告/执行维护 → 发通知
适合:日报、依赖更新、定期代码质量检查
来源:OpenClaw 官方文档 - docs.openclaw.ai