今天直接上干货。我把官方文档 + 社区插件 + 两家客户(制造和互联网)的真实集成过程,全部拆成可复制的步骤。飞书用官方通道(WebSocket长连接,无需公网IP),钉钉用社区成熟插件(@soimy/dingtalk),两者都支持卡片、@回复、群/私聊策略、交互卡片,完全企业可用。
重点:我把授权内容写得明明白白——到底要开哪些权限?哪些是必须的?哪些可以最小化?看完你直接拿去给安全/法务审核,不会再被问“这个机器人要干嘛”。
一、为什么OpenClaw接钉钉/飞书特别香?
零数据出境:所有消息走本地Gateway + 企业内网,钉钉/飞书只看到“一个机器人”,AI大脑在你服务器。 企业级控制:DM要配对码、群聊可强制@或白名单、敏感操作走Mission Control审批。 交互体验拉满:支持富文本、图片、语音转文字、交互卡片(用户点按钮AI继续干活)。 真实收益:一家客户接飞书后,HR每天自动收集请假、IT群自动诊断故障,节省人工2.3小时/天。
二、飞书深度集成(官方通道,推荐首选)
飞书官方已把通道做到OpenClaw核心里,WebSocket长连接,超级稳。
第1步:创建飞书自建应用(5分钟)
登录 https://open.feishu.cn/app (国际版用 https://open.larksuite.com/app) 点击「创建企业应用」→ 填名称、描述、图标 在「凭证与基础信息」复制: 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能力 + 事件订阅
「应用能力」→ 「Bot」→ 开启Bot,填机器人名称 「事件订阅」→ 选择「使用长连接接收事件」 添加事件: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分钟)
登录 https://open-dev.dingtalk.com/ 创建「内部企业应用」→ 添加「机器人」能力 消息接收模式选「Stream模式」(WebSocket) 发布应用
第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加持
HR请假机器人:飞书群@AI → 自动写审批单 → 卡片推送给领导点“同意” IT运维助手:钉钉报障 → AI执行诊断shell → 流式回复进度 部门周报:每天定时在群推送汇总(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 + 企业微信 + 邮件全渠道同步」,敬请期待!
夜雨聆风