解决 OpenClaw 飞书插件冲突导致的配对失败问题
问题现象
最近在使用 OpenClaw 进行飞书机器人配对时,执行命令:
bash
openclaw pairing approve feishu EWNDU58A
遇到了以下错误:
[openclaw] Failed to start CLI: Error: No pending pairing request found for code: EWNDU58A
同时,启动日志中反复出现警告:
Config warnings:\n- plugins.entries.feishu: plugin feishu: duplicate plugin id detected; later plugin may be overridden (C:\Users\sheng\.openclaw\extensions\feishu\index.ts)
虽然配对码看起来是正确的,但系统始终找不到对应的请求。
原因分析
这个问题的根本原因是 OpenClaw 环境中存在两个 ID 相同的飞书插件:
- 内置插件:OpenClaw 从 2026.2 版本开始已将飞书插件内置在核心代码中。
- 手动安装的插件副本 :位于用户目录下的
C:\Users\sheng\.openclaw\extensions\feishu\index.ts,可能是之前手动安装或自动遗留的旧版本。
当两个同名插件同时加载时,系统会发出 duplicate plugin id detected 警告,并导致插件注册状态混乱。批准命令 approve 可能将请求记录在了一个插件实例上,而实际处理消息的却是另一个插件,因此系统在检查配对码时无法找到对应的待处理请求,抛出 "No pending pairing request found" 错误。
解决步骤
1. 删除冲突的手动安装插件
打开文件资源管理器,导航到 OpenClaw 的扩展目录:
C:\Users\sheng\.openclaw\extensions\
找到 feishu 文件夹,将其整个删除。这是手动安装的插件副本,删除后系统将只使用内置的飞书插件。
2. 重启 OpenClaw 网关
为了使配置生效,必须重启网关进程。在命令行中执行:
bash
openclaw gateway restart
重启后观察日志,确认 duplicate plugin id detected 警告已消失。
3. 重新发起并批准配对
由于之前的配对请求可能因状态混乱而失效,需要在飞书机器人对话框中重新触发一次配对流程,获取一个新的配对码(例如 NEWCODE123)。
然后重新运行批准命令:
bash
openclaw pairing approve feishu NEWCODE123
4. 验证修复
- 检查启动日志,不再出现重复插件警告。
- 在飞书中向机器人发送消息,确认它能正常回复,不再提示
access not configured或其他错误。
预防建议
为了避免将来再次出现类似冲突,建议在 OpenClaw 配置文件中显式指定允许加载的插件列表。
打开配置文件(通常位于 ~/.openclaw/config.yaml 或 C:\Users\sheng\.openclaw\config.yaml),在 plugins 部分添加:
yaml
plugins:
allow:
- feishu
这样设置后,OpenClaw 只会加载你明确信任的插件,即使 extensions 目录下存在其他插件副本也不会被自动发现,从而避免重复加载。
总结
OpenClaw 的插件系统在同时存在内置和手动安装的相同插件时,会导致内部状态不一致,进而引发配对失败等奇怪问题。通过删除手动安装的插件副本、重启网关并重新配对,可以快速解决。配置插件白名单是一种长效的预防措施。
希望这篇文章能帮助遇到同样问题的朋友快速定位并解决 OpenClaw 飞书插件冲突问题。如果你有其他相关经验或疑问,欢迎交流讨论。