乐于分享
好东西不私藏

OpenClaw + 钉钉/飞书深度集成实战:5分钟把AI塞进企业内聊,权限授权清单一清二楚

OpenClaw + 钉钉/飞书深度集成实战:5分钟把AI塞进企业内聊,权限授权清单一清二楚

今天直接上干货。我把官方文档 + 社区插件 + 两家客户(制造和互联网)的真实集成过程,全部拆成可复制的步骤。飞书用官方通道(WebSocket长连接,无需公网IP)钉钉用社区成熟插件(@soimy/dingtalk),两者都支持卡片、@回复、群/私聊策略、交互卡片,完全企业可用。

重点:我把授权内容写得明明白白——到底要开哪些权限?哪些是必须的?哪些可以最小化?看完你直接拿去给安全/法务审核,不会再被问“这个机器人要干嘛”。

一、为什么OpenClaw接钉钉/飞书特别香?

  • 零数据出境:所有消息走本地Gateway + 企业内网,钉钉/飞书只看到“一个机器人”,AI大脑在你服务器。
  • 企业级控制:DM要配对码、群聊可强制@或白名单、敏感操作走Mission Control审批。
  • 交互体验拉满:支持富文本、图片、语音转文字、交互卡片(用户点按钮AI继续干活)。
  • 真实收益:一家客户接飞书后,HR每天自动收集请假、IT群自动诊断故障,节省人工2.3小时/天。

二、飞书深度集成(官方通道,推荐首选)

飞书官方已把通道做到OpenClaw核心里,WebSocket长连接,超级稳。

第1步:创建飞书自建应用(5分钟)

  1. 登录 https://open.feishu.cn/app (国际版用 https://open.larksuite.com/app)
  2. 点击「创建企业应用」→ 填名称、描述、图标
  3. 在「凭证与基础信息」复制:
    • App ID(cli_开头)
    • App Secret(妥善保管)

第2步:授权权限(最关键!必须批导入) 去「权限管理」→ 「批量导入」→ 粘贴以下JSON(官方推荐最小集):

{"scopes"{"tenant"["im:message","im:message:send_as_bot","im:chat.members:bot_access","im:chat.access_event.bot_p2p_chat:read","im:message:readonly","cardkit:card:read","cardkit:card:write","contact:user.employee_id:readonly"],"user"["im:chat.access_event.bot_p2p_chat:read"]}}

授权说明

  • im:message + send_as_bot:收发消息(核心)
  • cardkit:card:支持交互卡片(用户点按钮继续任务)
  • contact:user.employee_id:readonly:读取员工ID(@人时显示名字)
  • 其他如文件读写可按需加(默认不加更安全)

第3步:开启Bot能力 + 事件订阅

  1. 「应用能力」→ 「Bot」→ 开启Bot,填机器人名称
  2. 「事件订阅」→ 选择「使用长连接接收事件」
  3. 添加事件:im.message.receive_v1 (注意:此时Gateway必须已启动!)

第4步:OpenClaw配置(2分钟)

openclaw channels add

选 Feishu → 输入 App ID 和 App Secret

或者手动编辑 ~/.openclaw/openclaw.json

{"channels"{"feishu"{"enabled"true,"dmPolicy""pairing",// 私聊需配对码"groupPolicy""open",// 群聊默认开放"requireMention"true,// 群里必须@才响应"accounts"{"main"{"appId""cli_xxxxxx","appSecret""xxxxxx"}}}}}

重启:openclaw gateway restart

第5步:测试 + 配对

  • 在飞书搜索机器人 → 发任意消息
  • 机器人回复配对码
  • 命令行执行:openclaw pairing approve feishu <CODE>
  • 完成!以后就可以正常聊天了

群聊ID和用户ID怎么拿? @机器人后看日志(openclaw logs --follow)就能看到 chat_id(oc_xxx)和 open_id(ou_xxx)。

三、钉钉深度集成(社区插件,同样稳)

钉钉用 @soimy/dingtalk 插件(已成熟,国内网络友好)。

第1步:安装插件

openclaw plugins install @soimy/dingtalk

(国内网络加:NPM_CONFIG_REGISTRY=https://registry.npmmirror.com

然后信任插件:

"plugins"{"enabled"true,"allow"["dingtalk"]}

第2步:创建钉钉应用(5分钟)

  1. 登录 https://open-dev.dingtalk.com/
  2. 创建「内部企业应用」→ 添加「机器人」能力
  3. 消息接收模式选「Stream模式」(WebSocket)
  4. 发布应用

第3步:授权权限(最小化清单) 去「权限管理」勾选:

  • Card.Instance.Write(发卡片)
  • Card.Streaming.Write(流式更新)
  • 机器人消息发送权限
  • 媒体文件上传权限(图片/语音)
  • (可选)ConvFile.Space.Read 等文件读

第4步:配置OpenClaw 用向导:

openclaw onboard

或手动:

{"channels"{"dingtalk"{"enabled"true,"clientId""dingxxxxxx",// AppKey"clientSecret""xxxxxx",// AppSecret"robotCode""dingxxxxxx","corpId""dingxxxxxx","agentId""123456789","dmPolicy""open","groupPolicy""open","messageType""markdown",// 或 "card" 用交互卡片"cardTemplateId""xxxxx.schema"// 可选}}}

重启 gateway。

第5步:测试 在钉钉搜索机器人或加到群,@它就能聊。

四、企业实战场景 + Mission Control加持

  1. HR请假机器人:飞书群@AI → 自动写审批单 → 卡片推送给领导点“同意”
  2. IT运维助手:钉钉报障 → AI执行诊断shell → 流式回复进度
  3. 部门周报:每天定时在群推送汇总(cron + Canvas)

把这些Agent扔进Mission Control(abhi1693/openclaw-mission-control),就能统一审批、审计、看板,真正做到“企业级数字员工”。

五、避坑 & 安全建议

  • 权限永远最小化:先只开im:message,跑稳再加cardkit。
  • 私聊用pairing模式,绝不开“open”。
  • Gateway永远127.0.0.1 + Tailscale内网访问。
  • 日志开7天TTL,定期导出给合规团队。
  • 飞书国际租户记得加 "domain": "lark"

最后

OpenClaw + 钉钉/飞书不是“简单机器人”,而是把AI真正塞进你们每天用的沟通工具里。配置一次,终身用。

点赞转发给正在被内聊淹没的同事。下期拆「OpenClaw + 企业微信 + 邮件全渠道同步」,敬请期待!