一、OpenClaw 与 Claude Code 的关系
1.1 各自定位
| 组件 | 定位 | 核心能力 |
|---|---|---|
| Claude Code | Anthropic 官方本地 AI 编程助手 | 读写代码、执行 Shell、操作 Git、处理复杂工程任务 |
| OpenClaw | 本地 AI Gateway + 渠道中枢 | 连接 Telegram/飞书/Discord、调度多种 AI 模型、集成飞书/日历/Gmail 等 tools |
1.2 协作模式:OpenClaw → Claude Code
通过手机/电脑上的 Telegram 或 飞书,向 OpenClaw 发送指令。
OpenClaw 收到后,可以启动真正的 Claude Code CLI 作为子进程(通过 ACP 协议),让 Claude 在 Mac 上执行大型编程任务,完成后把结果返回到聊天窗口。
二、架构简图
[你] → Telegram / 飞书
↓
[OpenClaw Gateway] ← 本地运行 (127.0.0.1:18789)
↓
┌─────┴─────┐
│ │
飞书操作 ACP 子进程
│ │
lark-cli [Claude Code]
│ │
文档/Base 代码/Shell/Git[你] → Telegram / 飞书
↓
[OpenClaw Gateway] ← 本地运行 (127.0.0.1:18789)
↓
┌─────┴─────┐
│ │
飞书操作 ACP 子进程
│ │
lark-cli [Claude Code]
│ │
文档/Base 代码/Shell/Git三、在 Telegram / 飞书中指挥 Claude Code
3.1 绑定当前聊天到 Claude
发送以下命令:
/acp spawn claude --bind here/acp spawn claude --bind here效果:
- 在当前聊天中创建一个 Claude ACP 会话
- 之后你发的每条消息都会直接传给 Claude Code 处理
- Claude 在
~/.openclaw/workspace-claude下工作
3.2 创建持久话题(大型任务推荐)
在支持话题/线程的渠道(如飞书群、Discord):
/acp spawn claude --mode persistent --thread auto/acp spawn claude --mode persistent --thread auto效果:
- 自动开一个话题/线程
- Claude 的回复和中间过程都在这个线程里
- 不污染主聊天
3.3 只执行一次性任务
/acp spawn claude --mode oneshot/acp spawn claude --mode oneshot效果:
- 执行一个任务就结束
- 适合"帮我 review 这个 PR"、"生成一份报告"等短任务
3.4 常用 ACP 控制命令
| 命令 | 作用 |
|---|---|
/acp status |
查看当前聊天的 ACP 绑定状态 |
/acp cancel |
取消当前正在执行的任务 |
/acp close |
关闭 ACP 会话并解绑 |
/acp doctor |
检查 ACP 系统健康状态 |
四、通过 Claude 完成飞书操作(双重能力)
4.1 关键原理
当 Claude 被 OpenClaw 通过 ACP 启动后,Claude 并不直接拥有飞书 tools。飞书操作由 OpenClaw 的 main agent 或内置 skills 执行。
但你可以这样配合:
- 用 OpenClaw 直接发送飞书消息、创建文档
- 用 ACP 的 Claude 处理代码、生成内容
- 再把结果交给 OpenClaw 写入飞书
4.2 实战:让 Claude 生成日报,OpenClaw 发到飞书
步骤 1:在 Telegram 里绑定 Claude
/acp spawn claude --bind here/acp spawn claude --bind here步骤 2:给 Claude 派活
帮我写一份今天的研发进度日报,包含:
- 已完成:修复了登录 bug
- 进行中:重构订单模块
- 阻塞项:等待设计稿帮我写一份今天的研发进度日报,包含:
- 已完成:修复了登录 bug
- 进行中:重构订单模块
- 阻塞项:等待设计稿Claude 生成内容后返回给你。
步骤 3:把内容发给 OpenClaw 的 main agent
把下面这份日报发到飞书群 [已脱敏]:
[粘贴 Claude 生成的内容]把下面这份日报发到飞书群 [已脱敏]:
[粘贴 Claude 生成的内容]OpenClaw(main agent)会调用飞书工具完成发送。
五、Bot 身份详解
5.1 什么是 Bot 身份?
OpenClaw 连接的飞书应用是 Clawdbot(appId: [已脱敏])。所有通过 OpenClaw 或 lark-cli 执行的飞书操作,默认都以这个 Bot 的租户身份进行。
5.2 Bot 身份的优势
- ✅ 无需人工登录:没有 user 会话过期问题
- ✅ 24小时在线:可以自动跑定时任务
- ✅ 操作权限稳定:已配置好 scopes,可读写文档、Base、IM
5.3 身份验证结果
{
"appId": "[已脱敏]",
"brand": "feishu",
"defaultAs": "bot",
"identity": "bot"
}{
"appId": "[已脱敏]",
"brand": "feishu",
"defaultAs": "bot",
"identity": "bot"
}测试命令结果:
lark-cli im +chat-search --query test --as bot --page-size 1
# -> { "ok": true, "identity": "bot" }lark-cli im +chat-search --query test --as bot --page-size 1
# -> { "ok": true, "identity": "bot" }六、Bot 身份下可执行的飞书操作类别
6.1 即时通讯(IM)
| 操作 | 示例命令/指令 |
|---|---|
| 发送文本消息 | @bot 发送消息到群 [已脱敏]:今天进度更新 |
| 发送 Markdown | @bot 用 markdown 发飞书消息... |
| 搜索群聊 | lark-cli im +chat-search --query xxx --as bot |
| 查看历史消息 | lark-cli im +chat-messages-list --chat-id [已脱敏] |
6.2 云文档(Docs)
| 操作 | 示例命令/指令 |
|---|---|
| 创建文档 | @bot 在飞书里创建一个文档,标题是 xxx |
| 更新文档 | @bot 在飞书文档 doc_xxx 里追加一段内容 |
| 搜索文档 | @bot 搜索飞书里标题包含 xxx 的文档 |
6.3 多维表格(Base)
| 操作 | 示例命令/指令 |
|---|---|
| 创建记录 | @bot 在 Base xxx 的表 yyy 里添加一条记录 |
| 查询记录 | @bot 列出 Base xxx 中状态为待办的所有记录 |
| 更新记录 | @bot 把记录 zzz 的状态改成已完成 |
6.4 日历与任务
| 操作 | 示例命令/指令 |
|---|---|
| 创建日程 | @bot 帮我创建一个明天下午的会议 |
| 查看日程 | @bot 查看我今天的日程 |
| 创建任务 | @bot 创建一个任务:周五前提交报告 |
七、三种典型工作流
工作流 A:纯 OpenClaw(快速操作)
适合:发消息、查日程、改 Base 记录
[你] -> Telegram message
↓
OpenClaw main agent
↓
lark-cli --as bot
↓
飞书 API[你] -> Telegram message
↓
OpenClaw main agent
↓
lark-cli --as bot
↓
飞书 API工作流 B:纯 ACP Claude(编程任务)
适合:写代码、debug、跑测试
[你] -> /acp spawn claude --bind here
↓
Claude Code CLI
↓
本地代码仓库[你] -> /acp spawn claude --bind here
↓
Claude Code CLI
↓
本地代码仓库工作流 C:Claude + OpenClaw 组合(复杂自动化)
适合:Claude 生成内容 -> OpenClaw 写入飞书
[你] -> /acp spawn claude --bind here
↓
Claude 生成报告 / 分析数据 / 写脚本
↓
[你@OpenClaw] 把结果发到飞书
↓
OpenClaw main agent -> lark-cli bot -> 飞书[你] -> /acp spawn claude --bind here
↓
Claude 生成报告 / 分析数据 / 写脚本
↓
[你@OpenClaw] 把结果发到飞书
↓
OpenClaw main agent -> lark-cli bot -> 飞书八、命令速查表
启动 Claude ACP
/acp spawn claude --bind here
/acp spawn claude --mode persistent --thread auto
/acp spawn claude --mode oneshot/acp spawn claude --bind here
/acp spawn claude --mode persistent --thread auto
/acp spawn claude --mode oneshotACP 管理
/acp status
/acp cancel
/acp close
/acp doctor/acp status
/acp cancel
/acp close
/acp doctor直接调用 lark-cli(Bot 身份)
lark-cli im +chat-search --query 关键词 --as bot
lark-cli im +messages-send --chat-id [已脱敏] --content "hello"
lark-cli docs +search --query 关键词 --as bot
lark-cli base +list-bases --as bot
lark-cli calendar +agenda --as bot
lark-cli task +get-my-tasks --as botlark-cli im +chat-search --query 关键词 --as bot
lark-cli im +messages-send --chat-id [已脱敏] --content "hello"
lark-cli docs +search --query 关键词 --as bot
lark-cli base +list-bases --as bot
lark-cli calendar +agenda --as bot
lark-cli task +get-my-tasks --as bot九、注意事项
- Bot 身份不能执行所有 user-only 操作。例如某些通讯录搜索命令仅限 user 身份。
- WebChat(Control UI)不支持 thread binding,所以
/acp spawn claude --thread auto在 Web 控制台里会失败。
十、状态确认(2026-04-10)
| 检查项 | 状态 |
|---|---|
| OpenClaw Gateway | 运行中 (127.0.0.1:18789) |
| Telegram 渠道 | 已连接 (@duoer02_bot) |
| Feishu 渠道 | 已连接 (Clawdbot) |
| Claude Code CLI | 可用 (v2.1.79) |
| acpx -> Claude Code | 已验证通 |
| OpenClaw ACP -> Claude | 已验证通 |
| lark-cli bot 身份 | 已验证通 |