飞书 × OpenClaw 接入指南:不用服务器,用长连接把机器人跑起来

你想在飞书里用上一个能稳定对话、能发图/收文件、还能按规则在群里工作的 AI 机器人,最怕两件事:步骤多出错后不知道查哪里。这个项目存在的意义,就是把“飞书接 OpenClaw”这件事,整理成一套对非技术也友好的配置入口,并把官方文档没覆盖到的坑集中写成排查清单。

先说清楚它的角色:OpenClaw 现在已经内置官方飞书插件 @openclaw/feishu,功能更完整、维护也更及时。这是好事,说明飞书 + AI 的接入已经走通。这个仓库并不是要替代官方插件,而是继续为大家提供:

  • 新用户:从零开始的新手教程(15–20 分钟)
  • 老用户:从旧版(独立桥接或旧 npm 插件)迁移到官方插件的保姆级路线
  • 常见问题答疑 & 排查清单(最常见的坑优先)
  • 进阶场景:独立桥接模式依然可用(需要隔离/定制时再用)

另外,仓库也推荐了一个新项目 OpenCrew:把 OpenClaw 变成“多 Agent 团队”,用多个 Agent 分工,Slack 频道=岗位,经验自动沉淀,可逆操作无需你确认(原文给了 GitHub 链接)。


一、老用户迁移到官方插件(两种方式任选,效果一样)

适用人群:你以前用过本项目的独立桥接或 npm 插件,现在要迁到 OpenClaw 内置的官方飞书插件。

迁移前你需要知道的事(按原文)

  • 你之前创建的飞书应用(机器人)可以继续用,不需要重建
  • App ID / App Secret 不变
  • 聊天记录不受影响(记录在飞书端)
  • 迁移时机器人会短暂离线(几分钟)

方式一:通过 OpenClaw 升级(推荐,最省事)

前提:你的 OpenClaw 版本 ≥ 2026.2,升级后官方飞书插件已内置。

1)升级 OpenClaw
升级完成会自动重启网关。

2)添加飞书渠道
选择 Feishu → 填 App ID → 填 App Secret

App Secret 可能还在你旧环境里(原文提示位置):

  • ~/.clawdbot/secrets/feishu_app_secret(可 cat 查看)
  • 如果找不到:去飞书开放平台 https://open.feishu.cn/app → 你的应用 → 凭证与基础信息 复制

3)补全飞书应用权限(支持图片/文件/流式等)
去飞书开放平台:你的应用 → 权限管理批量导入,粘贴下面 JSON(原文内容不变):

{"scopes":{"tenant":["aily:file:read","aily:file:write","application:application.app_message_stats.overview:readonly","application:application:self_manage","application:bot.menu:write","cardkit:card:write","contact:user.employee_id:readonly","corehr:file:download","docs:document.content:read","event:ip_list","im:chat","im:chat.access_event.bot_p2p_chat:read","im:chat.members:bot_access","im:message","im:message.group_at_msg:readonly","im:message.group_msg","im:message.p2p_msg:readonly","im:message:readonly","im:message:send_as_bot","im:resource","sheets:spreadsheet","wiki:wiki:readonly"],"user":["aily:file:read","aily:file:write","im:chat.access_event.bot_p2p_chat:read"]}}

导入后:创建新版本 → 发布(让新权限生效)。原文也强调:已有权限会自动跳过,不重复添加。

4)清理旧插件/桥接(避免冲突)

# 移除旧的 npm 插件(如果装过) openclaw plugins remove feishu-openclaw 2>/dev/null # 停掉旧的桥接服务(如果用过独立桥接) launchctl unload ~/Library/LaunchAgents/com.clawdbot.feishu-bridge.plist 2>/dev/null # 重启网关 openclaw gateway restart 

然后去做“验证”(见后文)。


方式二:不整体升级,手动安装插件 + 配置

适用:你不想升级 OpenClaw,只想把飞书接进来。

1)准备 App ID / App Secret
App Secret 同样可能在:

  • ~/.clawdbot/secrets/feishu_app_secret

找不到就去飞书开放平台应用的“凭证与基础信息”。

2)补权限
同方式一(批量导入 + 创建新版本 + 发布)。

3)安装并配置

# 安装官方飞书插件 openclaw plugins install @openclaw/feishu # 添加飞书渠道(交互式引导) openclaw channels add# → 选择 Feishu# → 粘贴 App ID# → 粘贴 App Secret# 移除旧的 npm 插件(如果装过) openclaw plugins remove feishu-openclaw 2>/dev/null # 停掉旧的桥接服务(如果用过独立桥接) launchctl unload ~/Library/LaunchAgents/com.clawdbot.feishu-bridge.plist 2>/dev/null # 重启网关 openclaw gateway restart 

迁移/配置后验证(原文口径)

# 查看日志,确认飞书连接成功 openclaw logs --follow 

日志里看到类似 feishu ws connectedfeishu provider ready,说明连上了。去飞书里给机器人发消息,能正常回复即完成。

如果机器人回复了配对码(一次性安全操作),按原文执行:

openclaw pairing approve feishu <配对码>

迁移后清理(可选)

稳定运行几天后可清理旧文件(原文示例):

# 删除旧的 launchd 配置(桥接用户)rm -f ~/Library/LaunchAgents/com.clawdbot.feishu-bridge.plist 

二、新手从零:配置飞书 AI 机器人(15–20 分钟)

适用人群:第一次用 OpenClaw + 飞书。前提:OpenClaw 已安装并正常运行(原文示例:openclaw gateway status 能看到状态)。

第一步:创建飞书应用(机器人)

  • 打开飞书开放平台 https://open.feishu.cn/app
  • 创建“企业自建应用”,填名称/描述/图标

第二步:启用机器人能力

你的应用 → 应用能力 > 机器人 → 开启 → 命名机器人

第三步:配置权限(批量导入)

你的应用 → 权限管理批量导入 → 粘贴权限 JSON(与上文完全相同)

这里按原文就是“一键导入需要的权限”。

第四步:配置事件订阅(原文强调:必须长连接)

原文警告:这一步必须在 OpenClaw 网关启动后再做,否则保存会失败。你可以先做后面的 OpenClaw 配置,再回来做这一步。
  • 你的应用 → 事件与回调 > 事件配置
  • 请求方式:选择 使用长连接接收事件
  • 添加事件:im.message.receive_v1(接收消息)

第五步:记下凭证

你的应用 → 凭证与基础信息

  • App ID(cli_xxxxx
  • App Secret(原文提醒:不要分享)

第六步:发布应用

你的应用 → 版本管理与发布 → 创建版本 → 提交 → 发布/上线(原文说明通常几秒到几分钟)

第七步:在 OpenClaw 中配置飞书

# 1. 安装飞书插件 openclaw plugins install @openclaw/feishu # 2. 添加飞书渠道(交互式,跟着提示走) openclaw channels add# 选择 Feishu → 粘贴 App ID → 粘贴 App Secret# 3. 重启网关 openclaw gateway restart # 4. 查看日志,确认连接成功 openclaw logs --follow 

第八步:发消息测试(配对码按原文处理)

飞书里给机器人发“你好”。如果出现配对码:

openclaw pairing approve feishu <配对码>

批准后即可正常对话。

如果你之前跳过了“事件订阅”,现在网关已启动,回去把第四步补上,保存后再 openclaw gateway restart(这是原文提示的流程)。

第九步(可选):开机自启

原文这里只给了标题说明:让机器人电脑重启后自动上线(具体可结合 OpenClaw 命令 openclaw gateway install,该命令在“常用命令速查”中出现)。


三、常见问题 & 排查清单(按原文最常见坑优先)

1)没有消息发送框?(最常见)

原文结论:事件订阅没有配置。权限批量导入不会自动配置事件订阅。

  • 飞书开放平台 → 你的应用 → 事件与回调
  • 添加事件:im.message.receive_v1
  • 订阅方式:使用长连接接收事件
  • 版本管理 → 创建新版本 → 发布上线

原文提醒:配置事件订阅前,确保 OpenClaw/Clawdbot Gateway 已启动,否则长连接验证会失败。


2)机器人完全没反应(收不到消息)

按原文顺序检查:

  1. 网关在运行吗?不在就 openclaw gateway restart
  2. 飞书应用发布了吗?(版本管理里要有已发布版本)
  3. 事件订阅配置了吗?
    • 是否选择“使用长连接接收事件”(不是 Webhook)
    • 是否添加 im.message.receive_v1
  4. 权限够吗?原文给的最低示例:
    • im:message
    • im:message.p2p_msg:readonly
    • im:message:send_as_bot
  5. 看日志:发消息观察日志是否有反应

3)时断时续(有时回复、有时没反应)

原文给的常见原因与处理:

  • 网络波动(VPN/代理环境尤其容易):可能频繁断连
  • 网关是否反复重启(原文示例命令):
openclaw logs |grep -i "restart\\|reconnect\\|disconnect"
  • DNS/代理问题:原文建议确保 open.feishu.cn 走直连(不走代理)

4)发图片/发文件,AI 看不到

按原文:

  1. 检查权限:必须有 im:resource
  2. 补权限后要 创建新版本 → 发布
  3. 重启网关:openclaw gateway restart

5)AI 说生成了图片,但飞书没收到

按原文:

  1. im:resource 权限(用于上传图片到飞书)
  2. 看日志 upload 相关错误

6)群聊中机器人不回复

按原文:

  1. 默认需要 @机器人
  2. 确认机器人已被加到群
  3. 检查 groupPolicy(见进阶配置)

7)回复特别慢

按原文解释:主要由模型响应速度决定;可开启流式输出(默认已开启);超过 30 秒看日志是否模型调用出错。


8)配对码是什么?怎么用?

按原文:首次出于安全,机器人发配对码,管理员批准一次即可:

openclaw pairing approve feishu <配对码>

9)Lark(国际版)用户怎么配?

按原文,在配置里指定域名:

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

四、进阶配置参考(配置文件、群组策略、流式、多 Agent)

配置文件位置(原文)

  • ~/.openclaw/openclaw.json

基础配置示例(原文结构)

{"channels":{"feishu":{"enabled":true,"dmPolicy":"pairing","accounts":{"main":{"appId":"cli_xxxxxxxxx","appSecret":"你的AppSecret","botName":"我的AI助手"}}}}}

群组配置(原文三种典型)

默认:所有群允许,但必须 @。

指定群无需 @:

{"channels":{"feishu":{"groups":{"oc_你的群组ID":{"requireMention":false}}}}}

只允许特定用户在群里使用(allowlist):

{"channels":{"feishu":{"groupPolicy":"allowlist","groupAllowFrom":["ou_用户1","ou_用户2"]}}}

原文获取群组/用户 ID 的方式:给机器人发消息后看 openclaw logs --follow

流式输出(原文默认开启)

{"channels":{"feishu":{"streaming":true,"blockStreaming":true}}}

如要关闭:设 streaming: false

多 Agent 路由(原文 bindings 示例)

{"bindings":[{"agentId":"main","match":{"channel":"feishu","peer":{"kind":"dm","id":"ou_用户A"}}},{"agentId":"另一个agent","match":{"channel":"feishu","peer":{"kind":"group","id":"oc_某群组"}}}]}

访问控制策略(原文表述)

  • "pairing":默认,新用户配对码,管理员批准后可对话
  • "allowlist":仅白名单用户可对话
  • "open":所有人可对话
  • "disabled":禁止私聊

常用命令速查(原文)

  • openclaw gateway status:查看网关状态
  • openclaw gateway restart:重启网关
  • openclaw gateway install:安装为开机自启服务
  • openclaw logs --follow:实时日志
  • openclaw pairing list feishu:查看待授权配对
  • openclaw pairing approve feishu <CODE>:批准配对
  • openclaw plugins list:已安装插件列表

五、独立桥接模式(进阶用户才需要)

原文定位:适用于你需要进程隔离(桥接崩溃不影响网关)或有特殊定制需求。大多数用户用官方插件即可。

插件 vs 桥接(按原文对比逻辑复述)

  • 官方插件:openclaw plugins install,和网关同进程,维护随 OpenClaw 更新,适合日常
  • 独立桥接:git clone + npm install,独立进程,互不影响,但需自行维护,适合生产/隔离部署

快速启动(原文命令)

# 克隆项目git clone https://github.com/AlexAnys/feishu-openclaw.git cd feishu-openclaw # 安装依赖npminstall# 配置凭证mkdir -p ~/.clawdbot/secrets echo"你的AppSecret"> ~/.clawdbot/secrets/feishu_app_secret chmod600 ~/.clawdbot/secrets/feishu_app_secret # 启动FEISHU_APP_ID=cli_xxxxxxxxx node bridge.mjs 

开机自启(launchd)(原文命令)

# 生成服务配置node setup-service.mjs # 加载服务 launchctl load ~/Library/LaunchAgents/com.clawdbot.feishu-bridge.plist # 查看状态 launchctl list |grep feishu 

日志位置(原文)

  • ~/.clawdbot/logs/feishu-bridge.out.log(正常输出)
  • ~/.clawdbot/logs/feishu-bridge.err.log(错误日志)

调试模式(原文)

echo"FEISHU_BRIDGE_DEBUG=1"> .env tail -n 200 ~/.clawdbot/logs/feishu-bridge.err.log 

工作原理(原文表达复述)

飞书用户 ↔ 飞书云端 ↔(你的电脑上桥接脚本)↔ OpenClaw 网关
桥接通过飞书 WebSocket 长连接接收消息:不需要公网 IP、不需要域名、不需要内网穿透。


六、快问快答

  • 需要服务器吗? 不需要。飞书用 WebSocket 长连接,你的电脑直接连飞书云端,不需要公网 IP。
  • 电脑关机了怎么办? 机器人离线;开机后会自动重连(若配了开机自启)。要 24/7 在线可以用常开设备或云服务器。
  • 飞书免费版能用吗? 可以。自建应用与机器人功能对所有飞书版本开放。
  • 能同时接其它渠道吗? 可以。OpenClaw 支持多渠道,互不影响。
  • 用了官方插件后,这个项目还有用吗? 有:继续提供配置教程、迁移指南、排查与答疑。

如果你接下来想把这篇发到 GitHub README / 公众号 / 飞书文档,我可以在不改动事实与步骤的前提下,给你做两种“同源不同表达”的版本:

  • 极简版(一页纸):只保留命令、飞书侧必须点的两处、以及“没输入框/不回复/图片不可用”的最短排查
  • 面向小白版:每一步都配“你为什么要点这个/不点会出现什么症状”,但仍严格不超出原文内容

你希望用哪一种发布场景?(GitHub README 更适合极简版;公众号更适合小白解释版。)

Read more

【性能提升300%】:基于Python的多模态数据分块存储优化实践

第一章:【性能提升300%】:基于Python的多模态数据分块存储优化实践 在处理图像、文本与传感器数据等多模态数据时,传统单一存储结构常导致I/O瓶颈和内存浪费。通过引入分块存储策略与异步写入机制,结合Python中的HDF5与Zarr库,可显著提升数据读写效率。 设计高效的分块策略 合理的分块大小能平衡磁盘访问与内存占用。对于高分辨率图像与长序列文本,采用动态分块策略: * 图像数据:按 (64, 64, 3) 分块,适配常见卷积网络输入 * 文本序列:按 token 数量切分为长度为512的块 * 传感器数据:按时间窗口(如每秒100条)进行分段 使用Zarr实现压缩与并行访问 Zarr支持分层数组存储,并内置多种压缩算法。以下代码展示如何将多模态数据写入Zarr容器: # 导入必要库 import zarr import numpy as np # 创建根组 root = zarr.group() # 存储图像块,使用Blosc压缩 images = root.zeros('

By Ne0inhk
基于Python的医院运营数据可视化平台:设计、实现与应用(上)

基于Python的医院运营数据可视化平台:设计、实现与应用(上)

一、引言 1.1 研究目的与意义 在信息技术日新月异的当下,医疗行业正处于深刻的变革之中,逐渐朝着信息化、智能化方向大步迈进。医院每天都会产生海量的数据,涵盖患者信息、诊疗记录、药品库存、设备使用状况等多个关键领域。这些数据宛如一座蕴藏丰富的宝藏,若能加以科学有效的管理与分析,将为医院的运营管理提供强大的支持,成为提升医疗服务质量、优化资源配置的关键要素。然而,传统的数据处理方式,如过度依赖 Excel 表格和简单的统计工具,在面对如此庞大且复杂的数据时,显得力不从心,效率极为低下,难以满足医院日益增长的复杂分析需求。 基于此,本研究旨在构建一个基于 Python 的医院运营数据可视化平台,将 Python 语言的强大功能与数据可视化技术深度融合,为医院运营管理开辟全新的路径。Python 作为一种高级编程语言,以其简洁性、易读性以及丰富多样的扩展库,如 Pandas、Matplotlib 等,在数据处理和可视化领域展现出卓越的优势,能够高效地实现数据清洗、分析以及可视化图表的生成。 本研究具有重要的现实意义。对于医院管理而言,该平台能够极大地提高运营管理的效率。

By Ne0inhk

Python 爬虫实战:爬取音乐平台(网易云 / QQ 音乐)歌曲信息

前言 音乐平台汇聚了海量的歌曲资源,包含歌名、歌手、专辑、播放量、歌词等核心信息,这些数据在音乐趋势分析、个性化推荐研究、音乐版权管理等场景中具有重要价值。传统手动整理歌曲信息的方式效率极低,而基于 Python 的爬虫技术能够批量采集音乐平台的歌曲数据,大幅提升数据获取效率。本文以网易云音乐和 QQ 音乐两大主流平台为例,系统讲解歌曲信息爬取的技术方案、接口解析方法及数据结构化处理,为音乐数据分析师和开发者提供可落地的实战指南。 摘要 本文聚焦音乐平台歌曲信息的爬取实战,分别以网易云音乐网页版和QQ 音乐网页版为核心操作对象(可直接点击进入对应平台),从抓包分析接口、构造请求参数,到多维度歌曲信息提取、数据清洗与存储,完整实现歌名、歌手、专辑、播放量、时长等核心字段的采集。文中包含可直接运行的代码案例、接口参数说明表格及数据输出结果,兼顾技术深度与实操性,帮助读者掌握不同音乐平台歌曲数据爬虫开发的核心技术。 一、技术栈与原理概述 1.1 核心技术栈 < 技术 / 库功能说明

By Ne0inhk
详解如何从零用 Python复现类似 GPT-4o 的多模态模型

详解如何从零用 Python复现类似 GPT-4o 的多模态模型

🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页:https://lizheng.blog.ZEEKLOG.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创AI未来! 🚀 我们将逐步编写一个非常简单的类似 GPT-4o 的多模态架构,它可以处理文本、图像、视频和音频,并且能够根据文本提示生成图像。帮助你详细理解逐步实现的过程。 这里推荐一个非常棒学习网站,点击跳转学习 项目代码 以下是这个简单多模态模型将具备的功能: * 像语言模型(LLM)一样用文本聊天(使用 Transformer) * 用图像、视频和音频聊天(使用 Transformer + ResNet) * 根据文本提示生成图像(使用 Transformer + ResNet + 特征方法) 简单的 GPT-4o 架构 Tiny GPT-4o 架构 下文我们将实现以下内容: 1. 从头开始编写了自己的 BPE

By Ne0inhk