同名技能冲突由优先级覆盖导致,需按plugin→bundled→workspace→extra顺序排查;通过openclaw skills info定位来源,禁用高优声明、重命名自定义技能或锁定插件版本解决。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 OpenClaw 时发现同名技能未按预期执行,或某项自定义技能被意外替换、失效,则很可能是由于多个来源存在同名技能,触发了优先级覆盖机制。以下是解决此问题的步骤:
一、理解技能加载优先级顺序
OpenClaw 按固定层级从高到低加载技能,同名时后加载者覆盖先加载者。该机制确保高优先级位置的技能始终生效,但若配置不当,会导致低优先级技能“静默失效”。明确各层级路径及其加载顺序是排查冲突的前提。
1、Plugin Skills(插件附带技能):由启用插件通过 openclaw.plugin.json 声明,拥有最高优先级。
2、Bundled Skills(内置技能):随 OpenClaw 安装包分发,位于安装目录的 skills/ 子目录下,次高优先级。
3、Workspace Skills(工作区技能):存于当前项目根目录下的 .openclaw/skills/,按项目隔离,优先级高于 Extra。
4、Extra Skills(扩展技能):默认位于 ~/.openclaw/skills/,可通过 openclaw.json 中 skills.load.extraDirs 扩展多个路径,优先级最低。
二、检查当前生效的技能来源
运行诊断命令可直观查看某技能的实际加载路径与声明来源,避免凭经验误判。该操作不修改任何文件,仅输出元信息,是定位覆盖源头的关键第一步。
1、执行命令:openclaw skills info
2、观察输出中的 source 字段值,确认其属于 bundled、workspace、extra 或 plugin。
3、若 source 显示为 bundled,但您期望使用自定义版本,请继续排查 Workspace 或 Plugin 是否存在同名声明。
三、强制禁用高优先级同名技能
当插件或内置技能覆盖了您必须使用的 Workspace/Extra 技能时,可通过临时屏蔽高优先级来源实现“降权”,使低层技能重新获得执行权。此方法无需删除原始文件,安全可逆。
1、定位插件声明文件:进入对应插件目录,查找 openclaw.plugin.json。
2、编辑该文件,在 skills 数组中移除目标技能名,或将其整个 skills 字段设为空数组 []。
OpenClaw 跨平台配置备份与网关监控。自动备份 openclaw.json,每分钟检测 gateway 状态,宕机时自动恢复。支持 Linux/macOS/Windows。触发:配置备份、gateway 监控、自动恢复、看门狗、watchdog。
3、重启 OpenClaw 服务,使插件重载配置。
4、再次运行 openclaw skills info
四、重命名自定义技能规避冲突
若无法修改插件或内置技能(如无源码权限),最稳妥的方式是主动变更自定义技能名称,彻底绕过覆盖逻辑。该方法不依赖优先级调整,适用于所有部署环境,且兼容团队协作场景。
1、进入您的 Workspace 或 Extra 技能目录,找到目标技能文件夹(如 my_script)。
2、将文件夹重命名为唯一名称,例如添加项目前缀:projA_my_script 或时间戳后缀:my_script_v202603。
3、同步更新该技能内 SKILL.md 文件顶部的 name: 字段值,确保与新文件夹名一致。
4、在自然语言指令中,明确使用新名称调用技能,例如:“请执行 projA_my_script 处理当前日志”。
五、锁定技能版本防止自动覆盖
对于通过 ClawHub 安装的插件技能,其更新可能引入同名新技能并触发覆盖。启用版本锁定可冻结插件技能集,阻止后续升级带来的不可控变更。
1、查看已安装插件列表:openclaw plugins list。
2、对关键插件执行锁定命令:openclaw plugins pin
3、验证锁定状态:运行 openclaw plugins list,确认目标插件右侧显示 pinned 标识。
4、此后该插件的任何 update 或 reinstall 操作均不会更改其技能声明内容。









