OpenClaw 接入飞书机器人完整教程(Docker 部署版)

0 阅读4分钟

本教程适用于使用 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 创建企业自建应用

  1. 访问 飞书开放平台,用飞书账号扫码登录
  2. 点击「开发者后台」→「创建企业自建应用」
  3. 填写应用名称(如"OpenClaw助手")、描述,上传图标
  4. 点击「创建」

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 配置事件订阅

  1. 进入「事件与回调」页面
  2. 订阅方式选择「长连接接收事件
  3. 点击「添加事件」,搜索并添加「接收消息 v2.0」(im.message.receive_v1
  4. 点击「保存」

💡 使用长连接(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 相关日志

三、发布应用

  1. 返回飞书开放平台
  2. 点击「版本管理与发布」
  3. 点击「创建版本」,填写版本号和更新说明
  4. 点击「保存」→「确认发布」
  5. 等待审核(企业自建应用通常自动通过)

四、配对与测试

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检查 .envdocker-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 -drestart 不会重新读取 .env

八、安全建议

建议说明
使用配对模式dmPolicy: pairing 确保只有授权用户可与机器人私聊
群聊限制设置 requireMention: true,避免机器人在群聊中过度响应
定期轮换凭证定期更换 App Secret,确保安全
最小权限原则只开通机器人必需的权限
只读文件系统本教程环境已启用 read_only: true,配置文件通过 volume 挂载,更安全

完成以上配置后,你就可以在飞书中直接与 OpenClaw AI 对话了! 🚀