本教程适用于使用 Docker 方式部署 OpenClaw 的用户,在飞书聊天窗口直接向 AI 下达指令
背景说明
本教程基于 Docker 部署的 OpenClaw 环境编写,所有命令都已适配 Docker 容器化场景:
- OpenClaw 运行在 Docker 容器中(容器名:
openclaw-gateway) - 配置目录:
/opt/openclaw/ - 所有
openclaw命令需通过docker exec -it openclaw-gateway执行 - 环境变量通过
.env文件和docker-compose.yml配置
如果你尚未部署 OpenClaw,请先参考《阿里云2核2G服务器玩转OpenClaw:Docker安全部署完全指南》完成基础部署。
一、飞书开放平台配置
1.1 创建企业自建应用
- 访问 飞书开放平台,用飞书账号扫码登录
- 点击「开发者后台」→「创建企业自建应用」
- 填写应用名称(如"OpenClaw助手")、描述,上传图标
- 点击「创建」
1.2 添加机器人能力
在应用管理页面,点击「添加应用能力」→ 选择「机器人」→ 点击「添加」
1.3 获取应用凭证
在左侧菜单「凭证与基础信息」中,复制并保存:
- App ID(格式如
cli_xxx) - App Secret
⚠️ 妥善保管,后续会用到
1.4 配置权限
在「权限管理」页面,点击「批量导入权限」,粘贴以下 JSON:
{
"scopes": {
"tenant": [
"im:message",
"im:message:readonly",
"im:message:send_as_bot",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:chat",
"im:chat:readonly",
"im:chat.members:bot_access",
"im:resource",
"contact:user.base:readonly"
]
}
}
点击「确认开通」。
1.5 配置事件订阅
- 进入「事件与回调」页面
- 订阅方式选择「长连接接收事件」
- 点击「添加事件」,搜索并添加「接收消息 v2.0」(
im.message.receive_v1) - 点击「保存」
💡 使用长连接(WebSocket)模式无需公网域名,适合 Docker 部署环境
二、OpenClaw Docker 配置
2.1 设置环境变量
编辑 /opt/openclaw/.env 文件:
cd /opt/openclaw
nano .env
添加以下内容:
FEISHU_APP_ID=cli_你的AppID
FEISHU_APP_SECRET=你的AppSecret
2.2 修改 docker-compose.yml
nano /opt/openclaw/docker-compose.yml
在 environment: 部分添加:
environment:
- NODE_ENV=production
- LOG_LEVEL=info
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_TOKEN}
- FEISHU_APP_ID=${FEISHU_APP_ID}
- FEISHU_APP_SECRET=${FEISHU_APP_SECRET}
2.3 配置飞书渠道
# 进入容器
docker exec -it openclaw-gateway sh
# 配置飞书
openclaw config set channels.feishu.enabled true
openclaw config set channels.feishu.appId ${FEISHU_APP_ID}
openclaw config set channels.feishu.appSecret ${FEISHU_APP_SECRET}
openclaw config set channels.feishu.connectionMode websocket
openclaw config set channels.feishu.dmPolicy pairing
openclaw config set channels.feishu.groupPolicy allowlist
openclaw config set channels.feishu.requireMention true
# 退出容器
exit
2.4 重启容器
cd /opt/openclaw
docker compose down
docker compose up -d
2.5 验证容器状态
docker compose ps
# 应显示 Up 状态
docker compose logs --tail=30
# 应看到 feishu 相关日志
三、发布应用
- 返回飞书开放平台
- 点击「版本管理与发布」
- 点击「创建版本」,填写版本号和更新说明
- 点击「保存」→「确认发布」
- 等待审核(企业自建应用通常自动通过)
四、配对与测试
4.1 在飞书中找到机器人
打开飞书客户端,在搜索栏输入应用名称,找到你的机器人。
4.2 发送消息触发配对
向机器人发送任意消息(如"你好"),机器人会回复一条配对请求,包含配对码。
4.3 批准配对
# 查看待配对请求
docker exec -it openclaw-gateway openclaw pairing list
# 批准配对(替换为实际的配对码)
docker exec -it openclaw-gateway openclaw pairing approve <配对码>
4.4 验证
配对成功后,在飞书中再次向机器人发送消息,应该能收到 AI 的正常回复。
五、Docker 环境常用命令
| 命令 | 作用 |
|---|---|
cd /opt/openclaw && docker compose ps | 查看容器状态 |
docker exec -it openclaw-gateway openclaw channels status | 查看所有渠道状态 |
docker exec -it openclaw-gateway openclaw pairing list | 查看待配对请求 |
docker exec -it openclaw-gateway openclaw pairing approve <CODE> | 批准配对 |
docker exec -it openclaw-gateway openclaw logs --follow | 查看实时日志 |
cd /opt/openclaw && docker compose restart | 重启服务 |
六、群聊配置(可选)
如果需要机器人在群聊中响应:
docker exec -it openclaw-gateway sh
openclaw config set channels.feishu.groupPolicy open
openclaw config set channels.feishu.requireMention true
exit
cd /opt/openclaw && docker compose restart
群聊中机器人会在被 @ 时回复。
七、常见问题排查(Docker 特定)
| 问题 | 解决方法 |
|---|---|
容器启动失败,报 Missing env var | 检查 .env 和 docker-compose.yml 中的变量名是否一致,执行 docker compose down && up -d |
| 事件订阅保存失败 | 先确保 OpenClaw 容器正在运行(docker compose ps),再保存 |
| 配对码失效 | 配对码有效期约5-10分钟,重新发送消息获取新码 |
| 机器人不回复 | 检查 channels.feishu.enabled 是否为 true,查看日志 docker compose logs -f |
| 环境变量修改后不生效 | 必须执行 docker compose down && up -d,restart 不会重新读取 .env |
八、安全建议
| 建议 | 说明 |
|---|---|
| 使用配对模式 | dmPolicy: pairing 确保只有授权用户可与机器人私聊 |
| 群聊限制 | 设置 requireMention: true,避免机器人在群聊中过度响应 |
| 定期轮换凭证 | 定期更换 App Secret,确保安全 |
| 最小权限原则 | 只开通机器人必需的权限 |
| 只读文件系统 | 本教程环境已启用 read_only: true,配置文件通过 volume 挂载,更安全 |
完成以上配置后,你就可以在飞书中直接与 OpenClaw AI 对话了! 🚀