最近在给 OpenClaw 配置飞书插件时,遇到一个很迷惑的问题:
已经执行了:
openclaw pairing approve feishu Z6JZJL7Y
也成功提示:
Approved feishu sender ou_xxx
重启 gateway:
openclaw gateway restart
但是在飞书里依然收到:
OpenClaw: access not configured.
Your Feishu user id: ou_xxx
Pairing code: QDTRHUC8
Ask the bot owner to approve with:
openclaw pairing approve feishu QDTRHUC8
看起来像是没有授权成功。
其实,这不是权限问题。
而是 插件加载冲突问题。
一、问题现象
启动日志中会看到类似:
duplicate plugin id detected; later plugin may be overridden
并且还会出现:
plugins.allow is empty; discovered non-bundled plugins may auto-load
关键点就在:
duplicate plugin id detected
二、根本原因分析
OpenClaw 的插件系统是:
- 每个插件通过
plugin id识别 - id 必须唯一
- 插件状态绑定在插件实例上
而我的环境里居然存在两个 feishu 插件:
~/.openclaw/extensions/feishu
和
/usr/local/lib/node_modules/openclaw/extensions/feishu
(你的路径可能在 nvm 目录)
也就是说:
feishu(id=feishu) x 2
OpenClaw 启动时会提示:
later plugin may be overridden
意思是:后加载的插件会覆盖前面的。
结果就变成:
- approve 时操作的是 A 插件实例
- gateway 实际运行的是 B 插件实例
授权信息写进了 A
实际跑的是 B
所以飞书端一直提示:
access not configured
本质上是批准给了“影分身”。
三、正确解决方案
1️⃣ 删除重复插件
推荐保留 npm 全局安装版本,删除本地扩展版本:
rm -rf ~/.openclaw/extensions/feishu
2️⃣ 重启服务
openclaw gateway restart
3️⃣ 重新进行 pairing
在飞书里获取新的 pairing code:
openclaw pairing approve feishu XXXXXXXX
四、生产环境建议(强烈推荐)
在配置文件中显式指定允许加载的插件:
plugins:
allow:
- feishu
这样可以:
- 防止自动加载未知插件
- 避免 id 冲突
- 避免状态混乱
- 提升安全性
五、如何确认修复成功?
重启后确认:
✅ 不再出现 duplicate plugin id
✅ 不再出现 plugins.allow is empty
✅ 飞书不再提示 access not configured
六、总结
如果 OpenClaw 配置飞书后:
- approve 成功
- 重启成功
- 但飞书仍提示 access not configured
99% 不是权限问题。
而是:
同一个 plugin id 被加载了两次。
删掉一个,重新 approve,一切正常。