Openclaw接入飞书,指导AI在飞书群里干活

文章目录


前言


一、安装飞书官方插件

  1. 在命令行终端中,执行以下安装指令。
bash 复制代码
npx -y @larksuite/openclaw-lark install
  1. 执行过程中,可通过飞书客户端扫描二维码,在客户端选择一键创建飞书机器人或选择已有机器人

windows版本可能会因为终端分辨率问题,导致扫码不上,可以下载Cmder进行安装。

其实安装完成这一步骤,飞书私人版助手已经搭建成功,但存在无法开启外部共享,也就是只能自己用,不能和外部用户拉群使用。如果有群需求的话,可以将外部群转换为内部群,然后再创建企业自建应用,移步下面章节。

二、创建企业自建机器人

  1. 首先,登录飞书开放平台,进入开发者后台,点击「创建企业自建应用」。

    填写应用名称和描述,按照自己意愿随便填写即可。

    创建完成后进入应用详情页,在「添加应用能力」中点击添加机器人能力:

    之后进行权限开通,这里可以按照给出来的json,直接选择批量导入,可以根据个人习惯进行调整,将不想开通的权限进行限制即可,在这里我是根据飞书默认权限进行导入的。查看每个字段含义可参考官网:OpenClaw 飞书官方插件使用指南(公开版)
json 复制代码
{
  "scopes": {
    "tenant": [
      "application:application:self_manage",
      "cardkit:card:read",
      "cardkit:card:write",
      "contact:contact.base:readonly",
      "contact:user.basic_profile:readonly",
      "docs:document.comment:create",
      "docs:document.comment:delete",
      "docs:document.comment:read",
      "docs:document.comment:update",
      "docs:document.comment:write_only",
      "docx:document.block:convert",
      "docx:document:create",
      "docx:document:readonly",
      "docx:document:write_only",
      "drive:drive.metadata:readonly",
      "im:chat",
      "im:chat.members:bot_access",
      "im:chat:read",
      "im:chat:readonly",
      "im:chat:update",
      "im:message",
      "im:message.group_at_msg:readonly",
      "im:message.group_msg",
      "im:message.p2p_msg:readonly",
      "im:message.pins:read",
      "im:message.pins:write_only",
      "im:message.reactions:read",
      "im:message.reactions:write_only",
      "im:message:readonly",
      "im:message:recall",
      "im:message:send_as_bot",
      "im:message:send_multi_users",
      "im:message:send_sys_msg",
      "im:message:update",
      "im:resource"
    ],
    "user": [
      "base:app:copy",
      "base:app:create",
      "base:app:read",
      "base:app:update",
      "base:field:create",
      "base:field:delete",
      "base:field:read",
      "base:field:update",
      "base:record:create",
      "base:record:delete",
      "base:record:retrieve",
      "base:record:update",
      "base:table:create",
      "base:table:read",
      "base:table:update",
      "base:view:read",
      "base:view:write_only",
      "board:whiteboard:node:create",
      "board:whiteboard:node:read",
      "calendar:calendar.event:create",
      "calendar:calendar.event:read",
      "calendar:calendar.event:reply",
      "calendar:calendar.event:update",
      "calendar:calendar.free_busy:read",
      "calendar:calendar:read",
      "contact:contact.base:readonly",
      "contact:user.base:readonly",
      "contact:user.basic_profile:readonly",
      "contact:user.employee_id:readonly",
      "contact:user:search",
      "docs:document.comment:create",
      "docs:document.comment:read",
      "docs:document.comment:update",
      "docs:document.media:download",
      "docs:document.media:upload",
      "docs:document:copy",
      "docs:document:export",
      "docx:document:create",
      "docx:document:readonly",
      "docx:document:write_only",
      "drive:drive.metadata:readonly",
      "drive:file:download",
      "drive:file:upload",
      "im:chat.members:read",
      "im:chat:read",
      "im:message",
      "im:message.group_msg:get_as_user",
      "im:message.p2p_msg:get_as_user",
      "im:message:readonly",
      "offline_access",
      "search:docs:read",
      "search:message",
      "sheets:spreadsheet.meta:read",
      "sheets:spreadsheet:create",
      "sheets:spreadsheet:read",
      "sheets:spreadsheet:write_only",
      "space:document:move",
      "space:document:retrieve",
      "task:comment:read",
      "task:comment:write",
      "task:task:read",
      "task:task:write",
      "task:task:writeonly",
      "task:tasklist:read",
      "task:tasklist:write",
      "wiki:node:copy",
      "wiki:node:create",
      "wiki:node:move",
      "wiki:node:read",
      "wiki:node:retrieve",
      "wiki:space:read",
      "wiki:space:retrieve",
      "wiki:space:write_only"
    ]
  }
}

之后开通事件与回调,在这里我权限开通如下,最最重要的接收消息 一定不要忘记开,因为这个问题,我也是排查了好久为啥机器人一直不回复的问题。

点击「创建版本」,发布应用,并填写版本号和更新说明。

进入「飞书管理后台」,进行审核,之后我们就可以建立群拉取机器人了

最后,回到应用的「凭证与基础信息」页面,获取 App ID 和 App Secret,复制保存好,下一步要用。

三、Openclaw配置文件修改

我们打开openclaw.json文件,将appId、aapSecret进行填写,以及用户和群组信息,下面修改的是只有在群里艾特机器人 ,才进行回复。如果想修改策略,可参考官方说明文档

json 复制代码
{
  "channels": {
    "feishu": {
      // [开关] 是否启用飞书渠道。
      "enabled": true,
      // [凭证] 飞书开放平台应用的 App ID,用于标识你的应用身份(通常以 cli_ 开头)。
      "appId": "cli_XXXX",
      // [凭证] 飞书开放平台应用的 App Secret,用于验证身份。
      "appSecret": "XXXX",
      // [标识] 域名或渠道标识。
      "domain": "feishu",
      // [连接] 连接模式。"websocket" 表示使用长连接接收消息,无需公网服务器回调地址。
      "connectionMode": "websocket",
      // [全局策略] 群聊消息触发规则。true 表示在群聊中必须 @机器人 才会响应。
      "requireMention": true,
      // [私聊策略] 访问控制模式。"allowlist" 表示白名单模式,仅允许指定用户私聊。
      "dmPolicy": "allowlist",
      // [私聊白名单] 允许私聊的用户 ID 列表 (Open ID)。
      // 只有这里的 ID 对应的用户私聊机器人时,消息才会被处理。
      "allowFrom": [
        "ou_XXXX",
        "ou_XXXX"
      ],
      // [群聊策略] 群聊访问控制模式。"allowlist" 表示仅允许指定的群组使用机器人。
      "groupPolicy": "allowlist",
      // [群聊白名单] 允许机器人响应的群组 ID 列表 (Chat ID)。
      "groupAllowFrom": [
        "ou_XXXX",
        "ou_XXXX"
      ],
      // [高级配置] 针对特定群组的细粒度配置对象。
      "groups": {
        // 通配符 "*" 代表所有群组。
        "*": {
          // 是否允许所有群组的消息(通常配合 groupPolicy 使用,作为默认规则)。
          "enabled": true
        },
        // 指定特定群组 ID 的配置(例如:oc_39d1...)。
        "oc_XXXX": {
          // [覆盖规则] 针对该特定群组,强制设置是否需要 @机器人。
          // 即使全局 requireMention 为 false,这里设为 true 也会强制要求 @。
          "requireMention": true
        }
      }
    }
  }
}

四、用户OU和群oc查询方式

1、群oc查询

  1. 在群最下面有一个会话ID:oc_XXXX

2. 用户ou查询

  1. 登录 API 调试台,找到发送消息接口。
  2. 在 查询参数 页签,将 user_id_type 设置为 open_id,然后点击 快速复制 open_id。
  3. 在弹窗中,搜索或选择指定用户,并点击 复制成员 ID,获取用户的 open_id。

五、常见问题

1、艾特机器人无响应?

首先在发送消息时看下openclaw的网关终端是否有消息滚动,无滚动,大概率是飞书控制台配置存在问题,可查看后台日志,无日志输出的话,大概率是事件回调出了问题

相关推荐
端侧AI老谢4 小时前
端侧AI 模型部署实战五(Android大模型加载)
人工智能
Coovally AI模型快速验证4 小时前
IEEE IoT-J | CoDrone:Depth Anything V2+VLM云边端协同,无人机自主导航飞行距离+40%
人工智能·物联网·计算机视觉·无人机
新智元4 小时前
南大团队直击大模型高分神话:人类 90 分,最强模型仅 49 分
人工智能·aigc
dingzd954 小时前
社媒平台限流频发卖家如何突破流量瓶颈
大数据·人工智能·新媒体运营·产品运营·营销策略
deephub4 小时前
从检索到回答:RAG 流水线中三个被忽视的故障点
人工智能·python·大语言模型·向量检索·rag
SomeB1oody4 小时前
【Python深度学习】2.1. 卷积神经网络(CNN)模型理论(基础):卷积运算、池化、ReLU函数
开发语言·人工智能·python·深度学习·机器学习·cnn
ZPC82104 小时前
RViz 虚拟机械臂 / 真实机械臂 / Gazebo 仿真
linux·人工智能·机器人
夜珀5 小时前
AtomGit算力连接与实战全攻略
开发语言·人工智能
永霖光电_UVLED5 小时前
日本加大投入约270亿元助力Rapidus实现2nm芯片量产
人工智能