Skip to content

连接飞书

OpenClaw 支持连接飞书 / Lark,用于私聊机器人、群聊机器人、通知、审批提醒和团队协作。当前版本的 Feishu Channel 通常已经随 OpenClaw 内置,不需要额外安装插件。

注意通道名

Channel 名称写 feishu。即使你使用的是海外版 Lark,OpenClaw 里也仍然配置 channels.feishu,不要写成 lark

前置条件

  • 已完成 OpenClaw Gateway 初始化
  • 已有飞书 / Lark 管理员或可创建企业自建应用的账号
  • 已能访问飞书开放平台或 Lark Open Platform
  • 已配置可用模型,并确认 Gateway 可以正常启动

检查基础状态:

bash
openclaw --version
openclaw gateway status
openclaw models status --probe

1. 创建飞书应用

  1. 进入 飞书开放平台
  2. 创建企业自建应用。
  3. 在「凭证与基础信息」里复制 App IDApp Secret
  4. 在「应用能力」里启用机器人能力。
  5. 在「权限管理」里添加消息接收和机器人发消息相关权限。
  6. 在「事件订阅」里选择长连接方式,并订阅 im.message.receive_v1
  7. 创建版本并发布应用。

Lark 海外租户使用 Lark Open Platform,后续配置里需要把 domain 设置为 lark

2. 添加 Feishu Channel

推荐使用交互式向导:

bash
openclaw channels add

在向导中选择 Feishu,然后填入飞书应用的 App ID 和 App Secret。

如果你已经熟悉配置文件,也可以直接编辑 ~/.openclaw/openclaw.json

js
{
  channels: {
    feishu: {
      enabled: true,
      dmPolicy: "pairing",
      accounts: {
        main: {
          appId: "cli_xxx",
          appSecret: "xxx",
          name: "Xikapi Assistant"
        }
      }
    }
  }
}

Lark 海外版示例:

js
{
  channels: {
    feishu: {
      domain: "lark",
      accounts: {
        main: {
          appId: "cli_xxx",
          appSecret: "xxx"
        }
      }
    }
  }
}

3. 启动并测试

添加 Channel 后重启 Gateway:

bash
openclaw gateway restart

检查状态和日志:

bash
openclaw channels status --probe
openclaw channels logs --channel feishu
openclaw logs --follow

然后在飞书里找到机器人,发送一条私聊消息。

4. 批准私聊配对

飞书私聊默认常见策略是 pairing。首次私聊时,陌生用户需要管理员在终端批准:

bash
openclaw pairing list feishu
openclaw pairing approve feishu <CODE>

如果希望固定只允许某些用户,可以改成 allowlist。飞书用户 ID 通常类似 ou_xxx

js
{
  channels: {
    feishu: {
      dmPolicy: "allowlist",
      allowFrom: ["ou_xxx"]
    }
  }
}

5. 群聊配置

飞书群 ID 通常类似 oc_xxx。建议默认要求 @ 机器人再回复,避免普通群聊频繁触发 Agent。

允许指定群:

js
{
  channels: {
    feishu: {
      groupPolicy: "allowlist",
      groupAllowFrom: ["oc_xxx"],
      groups: {
        oc_xxx: {
          requireMention: true,
          prompt: "Keep answers concise and prioritize work items."
        }
      }
    }
  }
}

允许所有群,但仍要求 @:

js
{
  channels: {
    feishu: {
      groupPolicy: "open",
      requireMention: true
    }
  }
}

6. 获取用户和群 ID

查看日志:

bash
openclaw logs --follow

然后:

  • 私聊机器人,在日志中找 open_id,通常类似 ou_xxx
  • 在群里 @ 机器人,在日志中找 chat_id,通常类似 oc_xxx
  • 也可以运行 openclaw pairing list feishu 查看待批准用户

7. 不推荐只依赖临时环境变量

Feishu 也支持环境变量:

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

Windows PowerShell:

powershell
$env:FEISHU_APP_ID="cli_xxx"
$env:FEISHU_APP_SECRET="xxx"

但如果 Gateway 是 daemon / service,当前终端里的临时环境变量可能不会被服务读取。新手优先使用 openclaw channels add 或配置文件。

常见问题

私聊或群聊没有响应

按顺序检查:

bash
openclaw gateway status
openclaw channels status --probe
openclaw channels logs --channel feishu
openclaw logs --follow

常见原因:

  • 没有完成 openclaw channels add
  • 飞书应用没有发布或没有审批通过
  • 没有启用机器人能力
  • 事件订阅没有选择长连接,或没有订阅 im.message.receive_v1
  • Gateway 没有运行,导致长连接没有建立
  • App ID / App Secret 填错
  • 私聊 pairing 没有批准

Lark 海外版不通

确认是否设置了:

js
{
  channels: {
    feishu: {
      domain: "lark"
    }
  }
}

群里不回复

常见原因:

  • 没有 @ 机器人
  • 群 ID 没有加入 groupAllowFrom
  • groupPolicyallowlist,但没有放行对应群
  • 飞书应用没有被添加到该群
  • 机器人缺少消息相关权限

参考链接