OpenClaw 飞书插件问题排查与解决过程
OpenClaw 飞书插件问题排查与解决过程
问题现象
运行 openclaw status 时,飞书插件加载失败:
[plugins] feishu failed to load: Error: Cannot find module '@sinclair/typebox'
Channels 列表中没有显示 Feishu 通道。
排查过程
1. 发现依赖缺失
飞书插件需要以下依赖:
-
@larksuiteoapi/node-sdk– 飞书官方 SDK -
@sinclair/typebox– 类型验证库 -
zod– 数据验证库 -
axios– HTTP 客户端
2. 发现插件冲突
检查发现存在两个飞书插件目录:
-
~/.openclaw/extensions/feishu– 用户安装的社区版本 -
OpenClaw 官方自带版本
日志报错:duplicate plugin id detected
3. 配置文件缺失
plugins.allow 和 channels.feishu 配置不完整。
解决方案
步骤 1:删除重复插件
rm -rf ~/.openclaw/extensions/feishu
步骤 2:安装官方插件依赖
cd /root/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/extensions/feishunpm install --legacy-peer-deps
安装成功后显示:added 51 packages
步骤 3:配置飞书通道
openclaw config set plugins.allow '["qqbot","wecom","ddingtalk","adp-openclaw","feishu"]'openclaw config set channels.feishu.enabled trueopenclaw config set channels.feishu.appId "cli_xxx"openclaw config set channels.feishu.appSecret "your_secret"openclaw config set channels.feishu.domain "feishu"
步骤 4:重启 Gateway
openclaw gateway restart
步骤 5:验证结果
openclaw status
根本原因分析
经过深入排查,发现这个问题的根本原因有三个层面:
1. OpenClaw 官方打包问题
OpenClaw 在发布时,飞书扩展目录 extensions/feishu/node_modules/只包含了一个空的 .bin 子目录,没有包含实际的依赖包:
extensions/feishu/node_modules/└── .bin/ # 只有这个空目录,缺少实际依赖
但 package.json 声明了需要以下依赖:
-
@larksuiteoapi/node-sdk -
@sinclair/typebox -
zod -
axios
这意味着官方打包时漏掉了这些依赖。
2. pnpm workspace 协议不兼容
package.json 的 devDependencies 中写了:
"devDependencies":{"openclaw":"workspace:*"}
这是 pnpm 的 workspace 协议,npm 不认识这个语法,导致直接运行 npm install 会报错:
npm error Unsupported URL Type "workspace:": workspace:*
解决方法是移除这行配置后再安装。
3. 插件版本冲突
用户之前可能手动安装过社区版飞书插件,存在于 ~/.openclaw/extensions/feishu 目录,与 OpenClaw 官方自带的版本产生冲突,日志中出现:
duplicate plugin id detected; later plugin may be overridden
问题总结
简单来说,就是 OpenClaw 官方打包时漏掉了飞书插件的依赖,导致用户升级后飞书无法加载。
建议 OpenClaw 官方在发布时:
-
预装扩展依赖,或在安装脚本中自动处理依赖安装 -
避免使用 pnpm workspace 协议,改用 npm 兼容的写法
参考信息
-
OpenClaw 版本:2026.2.21-2 -
飞书插件版本:2026.2.21 -
系统:Linux 6.6.117-45.1.oc9.x86_64 -
Node.js:v22.22.0 -
解决时间:2026-02-22
夜雨聆风
