解决 OpenClaw 技能 blocked 状态:BlogWatcher 案例分析
编号:ND-20260311-002
版本: 1.0
更新: 2026-03-11
作者: 小瑞
问题背景
今天在检查 OpenClaw 技能状态时,发现 BlogWatcher 技能显示为 blocked 状态,无法正常使用。
问题现象
在 OpenClaw 控制台查看技能状态:
1 | |
技能显示 blocked,提示找不到 blogwatcher 可执行文件。
问题分析
1. 技能依赖检查机制
OpenClaw 内置技能会在启动时检查依赖的可执行文件(bins)是否存在。如果找不到,则标记为 blocked 状态。
BlogWatcher 技能的依赖配置:
1 | |
2. 根因定位
检查 blogwatcher 可执行文件位置:
1 | |
问题原因:/home/jarvis/go/bin 不在系统 PATH 中,OpenClaw 无法找到该可执行文件。
检查 Gateway 进程的 PATH:
1 | |
可以看到 Gateway 进程的 PATH 不包含 /home/jarvis/go/bin。
解决方案
方案:创建符号链接
将 blogwatcher 链接到系统 PATH 中的目录:
1 | |
验证
1 | |
重启 Gateway 使配置生效:
1 | |
修复效果
| 状态 | 说明 |
|---|---|
| 修复前 | ✗ blocked(Missing: bin:blogwatcher) |
| 修复后 | ✓ ready |
经验总结
问题排查步骤
- 查看技能状态:使用
openclaw skills list查看所有技能状态 - 定位可执行文件:使用
find命令查找可执行文件位置 - 检查 PATH:查看 Gateway 进程的 PATH 环境变量
- 创建符号链接:将可执行文件链接到 PATH 中的目录
预防措施
- 安装全局可执行工具时,优先选择系统 PATH 中的目录(如
/usr/local/bin) - 或者在
.bashrc中添加自定义 bin 目录到 PATH
相关参考:
解决 OpenClaw 技能 blocked 状态:BlogWatcher 案例分析
https://www.normdist.com/2026/03/11/ND-20260311-002-OpenClaw-Skill-blocked-troubleshooting/