🦞OpenClaw ClawBook

飞书 / Lark 接入

OpenClaw 已内置飞书插件,支持机器人私聊和群组。默认使用 WebSocket 长连接模式,无需公网 URL。

快速开始

两种方式添加飞书渠道:

# 方式一:安装向导(推荐)
openclaw onboard

# 方式二:命令行添加
openclaw channels add
# 选择 Feishu,输入 App ID 和 App Secret

完成后检查状态:

openclaw gateway status    # 查看网关运行状态
openclaw logs --follow     # 查看实时日志

创建飞书应用

  1. 访问 飞书开放平台(Lark 国际版用 open.larksuite.com),登录后点击"创建企业自建应用"。
  2. 在"凭证与基础信息"页面复制 App IDcli_xxx)和 App Secret
  3. 在"权限管理"页面点击"批量导入",粘贴所需权限 JSON(包含 im:messageim:chatim:message:send_as_bot 等)。
  4. 在"应用能力"→"机器人"页面开启机器人能力。
  5. 在"事件订阅"页面:
    • 选择"使用长连接接收事件"(WebSocket 模式)
    • 添加事件 im.message.receive_v1
  6. 在"版本管理与发布"页面创建版本并提交审核。

重要提示

  • 配置事件订阅前,需确保 Gateway 已启动且飞书渠道已添加
  • 妥善保管 App Secret,泄露后立即在开放平台重置
  • Lark(国际版)需在配置中设置 domain: "lark"

配置 OpenClaw

{
  channels: {
    feishu: {
      enabled: true,
      dmPolicy: "pairing",
      accounts: {
        main: {
          appId: "cli_xxx",
          appSecret: "xxx",
          botName: "我的AI助手"
        }
      }
    }
  }
}

也可通过环境变量配置:

export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"

配对与访问控制

启动 Gateway 后,私信机器人会触发配对码流程:

# 查看待审批列表
openclaw pairing list feishu

# 批准配对码
openclaw pairing approve feishu <配对码>
dmPolicy行为
pairing默认。未知用户收到配对码
allowlist仅 allowFrom 中的 Open ID(ou_xxx)可对话
open任何人(需 allowFrom: ["*"])
disabled禁止私聊

群组配置

群组策略通过 groupPolicy 控制(默认 open):

{
  channels: {
    feishu: {
      // 仅允许特定群组
      groupPolicy: "allowlist",
      groupAllowFrom: ["oc_xxx", "oc_yyy"],
      groups: {
        oc_xxx: {
          requireMention: false,     // 无需@也响应
          allowFrom: ["ou_user1"]    // 发送者白名单
        }
      }
    }
  }
}

获取群组 ID(oc_xxx):在群组中 @机器人发消息,然后 openclaw logs --follow 查看 chat_id。 获取用户 ID(ou_xxx):同理查看日志中的 open_id,或 openclaw pairing list feishu

流式输出

飞书支持通过交互式卡片实现流式输出,实时显示生成进度:

{
  channels: {
    feishu: {
      streaming: true,        // 启用流式卡片(默认 true)
      blockStreaming: true     // 块级流式(默认 true)
    }
  }
}

消息引用功能(replyToMode)与流式卡片不能同时使用。replyToMode 群聊默认 all,私聊默认 off

多账号与多 Agent

{
  channels: {
    feishu: {
      defaultAccount: "main",
      accounts: {
        main: {
          appId: "cli_xxx", appSecret: "xxx", botName: "主机器人"
        },
        backup: {
          appId: "cli_yyy", appSecret: "yyy", botName: "备用", enabled: false
        }
      }
    }
  }
}

通过 bindings 配置可将不同用户/群组路由到不同 Agent。 匹配规则使用 match.channel: "feishu"match.peer.kind 区分 dm/group

消息类型支持

接收

  • 文本消息
  • 富文本(帖子)
  • 图片、文件、音频、视频
  • 表情包

发送

  • 文本消息
  • 图片、文件、音频
  • 富文本(部分支持)

配额优化

可通过以下配置减少飞书 API 调用:

  • typingIndicator: false — 不发送"正在输入"状态
  • resolveSenderNames: false — 不拉取发送者资料

可在渠道级或账号级配置。

常用命令

命令说明
/status查看机器人状态
/reset重置对话会话
/model查看/切换模型

飞书目前不支持原生命令菜单,命令以文本形式发送。

常见问题

机器人收不到消息

  • 确认应用已发布并审批通过
  • 检查事件订阅是否配置了 im.message.receive_v1
  • 确认选择了"长连接"模式
  • 确认权限已完整导入
  • 检查 Gateway 是否运行:openclaw gateway status

发送消息失败

检查应用是否有 im:message:send_as_bot 权限,以及应用是否已发布。

群组不响应

确认机器人已添加到群组、是否 @了机器人、groupPolicy 是否为 disabled

配置参考

  • textChunkLimit:出站文本分块大小(默认 2000 字符)
  • mediaMaxMb:媒体限制(默认 30 MB)
  • connectionModewebsocket(默认) 或 webhook
  • Webhook 模式需设置 verificationToken,监听默认 127.0.0.1:3000