OpenClaw中飞书机器人配置指南:如何让群消息免 @ 也能自动回复

用 OpenClaw 做飞书机器人时,默认配置下,群里的消息必须 @ 机器人 才能触发回复。这在很多场景下很不方便——如果希望机器人在群里"隐身"工作,不用 @ 就能自动监听和回复,需要额外配置。

本文记录我解决这个问题的完整过程,供同样踩坑的同学参考。


问题描述

现象:

  • 飞书群里 @ 机器人 → 正常回复 ✅
  • 飞书群里不 @ 机器人 → 没有任何反应 ❌

环境:

  • OpenClaw 框架
  • 飞书自建应用(机器人)
  • WebSocket 长连接模式

解决过程

第一步:修改 OpenClaw 配置

openclaw.json 中找到飞书渠道配置:

"channels":{"feishu":{"requireMention":false,...}}

requireMention 设为 false,让 OpenClaw 不再强制要求 @ 机器人。

但这还不够 ❌

第二步:申请飞书平台权限

修改 OpenClaw 配置后测试,发现消息依然收不到。

查日志发现:消息根本没有到达 OpenClaw——问题出在飞书平台层面

飞书默认只推送 @ 机器人 的消息到应用。如果要接收群里所有消息(不限于 @),需要在飞书开放平台申请一个敏感权限:

权限名称:im:message.group_msg(获取群组中所有消息)

第三步:在飞书开放平台申请权限

  1. 打开 飞书开放平台,进入你的应用
  2. 事件与回调事件配置接收消息 → 获取群组中所有信息(敏感权限) im:message.group_msg → 申请开通

第四步:验证效果

权限生效后,在群里发消息不用 @ 机器人,OpenClaw 就能正常收到并自动回复了 ✅


完整配置参考

OpenClaw 飞书渠道配置(完整示例)

"channels":{"feishu":{"enabled":true,"appId":"cli_xxxx","appSecret":"xxxx","domain":"feishu","connectionMode":"websocket","requireMention":false,"dmPolicy":"allowlist","allowFrom":["ou_你的用户ID"],"groupAllowFrom":["ou_你的用户ID"],"groupPolicy":"allowlist","groups":{"*":{"enabled":true}}}}

需要申请的飞书权限清单

权限标识名称类型说明
im:message发送消息基础权限机器人发消息
im:message.group_at_msg:readonly接收群@消息事件基础权限接收群内@机器人消息
im:message.group_msg获取群组中所有消息敏感权限接收群内所有消息(不限于@)
im:message.p2p_msg:readonly接收单聊消息基础权限接收私信

注意事项

  1. im:message.group_msg 是敏感权限
    • 需要企业管理员审批
    • 审批通过后才能使用
    • 建议同时申请 im:message.group_at_msg:readonly(基础权限)
  2. 权限申请后需要重新发布应用
    • 权限审批通过后,必须重新发布版本才能生效
  3. requireMention: false 的作用
    • 设为 false 后,OpenClaw 不会强制要求消息必须 @ 机器人
    • 但如果飞书平台没有相应权限,消息根本不会推送到 OpenClaw
  4. WebSocket vs Webhook
    • 推荐使用 WebSocket 模式,更简单
    • 如果用 Webhook 模式,还需要额外配置 verificationTokenencryptKey

相关文档


总结

飞书群消息免 @ 触发机器人的关键就两步:

  1. OpenClaw 侧requireMention: false
  2. 飞书平台侧:申请 im:message.group_msg 敏感权限并重新发布应用

两个缺一不可。按照这个流程配置,应该就能实现群里自由对话了。


首发于我的博客:https://blog.ZEEKLOG.net/QIU176161650
欢迎交流讨论!

Read more

Ubuntu24.04/Open WebUI+Ollama 本地部署

Ubuntu24.04/Open WebUI+Ollama 本地部署

官方文档 🏡 首页 | Open WebUI 文档 本地部署 * 连接本地 Ollama 服务: * 使用服务器测试了下:初次对话耗时较长,后续效率还不错;目前无法联网(废话) 对话中即可选择模型:不过我的硬件不支持,所以就先不做测试了 修改 Ollama 配置:宿主机 Ollama 服务地址:http://host.docker.internal:11434(我猜你不想一个一个字母敲,就直接大胆使用“cv大法”吧) 查看本地模型 ID: 管理员面板/设置/外部连接: 运行页面: 使用 Docker Compose 封装运行:其中镜像拉取速度比较慢 docker compose up -d 修改配置文件:由于本地已经运行了 Ollama

Web文件下载 : 从PDF预览Bug到Hook架构演进

在 Web 开发中,下载功能看似简单,却隐藏着浏览器行为差异与跨域安全限制的陷阱。 今天,我原本只想做一个导出不同文件格式的功能,却遇到了一个bug:生成Word或MD文件时,Chrome浏览器都会正常弹出下载框,但导出PDF文件时却不行——PDF会直接在当前页面预览,看起来明明是要下载PDF,结果却直接进入了预览模式,而且我原本打开的页面还被这个预览页面覆盖了。 一、为什么 PDF 会“不请自来”地预览? 1.浏览器的 MIME 类型策略 浏览器如何处理一个 URL,取决于服务器返回的 MIME 类型(Multipurpose Internet Mail Extensions)。 * Word/MD 文件:由于 Chrome 等浏览器没有内置渲染引擎,它会识别为“不可直接读取的内容”,从而触发下载。 * PDF 文件:现代浏览器均内置了功能强大的 PDF 渲染器。当它接收到 application/

【Rust编程】Actix-web 开发环境搭建完整教程

【Rust编程】Actix-web 开发环境搭建完整教程

Actix-web 开发环境搭建完整教程 * Actix-web 开发环境搭建完整教程 * 一、前置准备:安装 Rust 工具链 * 1. 安装 Rustup(Rust 版本管理器) * 2. 验证安装 * 3. 配置国内镜像源(加速依赖下载) * 4. 安装开发工具 * 二、创建 Actix-web 项目 * 1. 创建项目骨架 * 2. 添加 Actix-web 依赖 * 三、编写第一个 Actix-web 应用 * 1. 基础代码(`src/main.rs`) * 2. 配置环境变量(可选) * 四、运行与测试服务 * 1. 启动开发服务器 * 2. 测试端点 * 3.

Day 93:【99天精通Python】终极项目 - AI 聊天机器人 (下) - 前端界面与部署

Day 93:【99天精通Python】终极项目 - AI 聊天机器人 (下) - 前端界面与部署 前言 欢迎来到第93天! 在过去的两个章节中,我们已经搭建了一个功能强大的后端: * 支持流式对话和多轮记忆。 * 支持上传 PDF 作为知识库进行 RAG 问答。 今天,我们要为这个强大的"大脑"配上一副漂亮的"面孔"。我们将使用原生 HTML, CSS, JavaScript 编写一个聊天界面,并学习如何将整个项目部署上线。 本节内容: * 聊天界面 HTML 结构 * CSS 美化 * JavaScript 核心逻辑 (EventSource) * 文件上传交互 * 项目最终部署 一、HTML 骨架 (templates/