正文内容
命令行黑底白字。报错信息一行行往上滚。日志输出像瀑布一样往下掉。
你盯着屏幕,只想知道一件事:我的Skill到底哪里挂了?
别猜了。一行命令,让它自己告诉你。
翻车现场
有个开发者,写了个文件统计Skill。功能不复杂——读文件夹,数文件类型,生成Markdown报告。
写完装上,跑起来。报错。
他打开日志,翻啊翻。看到一行:Error: EACCES: permission denied, open '/root/.openclaw/workspace/report.md'
权限问题。他改了目录权限,再跑。又报错。
日志里写着:TypeError: Cannot read property 'length' of undefined
他挠头了。undefined?哪里来的undefined?
后来一个朋友告诉他:你猜个屁,让AI自己查。
他在OpenClaw群里@了机器人,发了一句:
/debug my-file-stats-skill
然后端起咖啡喝了一口。咖啡还没咽下去,机器人回了一条长长的分析:
[DEBUG] Skill: my-file-stats-skill
[1/3] 检查语法... ✅ 通过
[2/3] 检查依赖... ❌ 失败
原因:缺少 'fs' 模块导入
文件:index.js 第3行
建议:添加 const fs = require('fs')
[3/3] 检查权限... ⚠️ 需注意
当前运行用户: root
建议创建专用账户运行OpenClaw
他一看,好家伙。原来开头忘了导入fs模块,后面那个undefined就是fs.readdirSync报的错。一分钟,修完,跑通。
那个朋友后来把这事写进了 Skill调试神器 的帖子里,评论区好几个人留言:“原来还能这么玩?”
它到底怎么查的
OpenClaw官方提供了几条核心调试命令,我捡三条最管用的说。
第一条:openclaw logs --filter skills
看运行日志,只筛Skills相关的。报错信息、调用链路、返回值,全在这里。
执行完这条,日志会输出类似:
[2026-04-11T14:23:01.123Z] INFO 技能调用: my-file-stats-skill [2026-04-11T14:23:01.125Z] ERROR 执行失败: TypeError: Cannot read property 'length' of undefined [2026-04-11T14:23:01.126Z] DEBUG 堆栈: at readDirectory (/home/ubuntu/.openclaw/workspace/skills/my-file-stats-skill/index.js:23:14)
堆栈信息直接告诉你:哪个文件的第几行出事了。比你自己一行行翻代码快十倍。
第二条:openclaw skill list
看当前装了哪些Skill,每个是什么状态——激活、禁用、报错、缺依赖。
执行后显示:
已安装技能: - tavily-search (已激活) - skill-vetter (已激活) - my-file-stats-skill (错误: 缺少依赖 fs) - code-interpreter (已激活)
一目了然。那个红色的“错误”字眼,就是你要找的。
第三条:openclaw init --check
检查环境配置、依赖项、权限设置。很多“Skill突然不跑了”的问题,不是Skill本身坏了,是环境变了——Node版本升级了、Python依赖丢了、目录权限改了。
跑这条,它会扫一遍,告诉你哪里不对劲。
有人写了个更狠的
有个开发者做了个Skill,叫@weiping/openclaw-superpowers,里面有个systematic-debugging技能,专门用来调试。
用法很简单。你在OpenClaw里说一句:“systematic-debugging,我的文件统计Skill报错了。”
它会自动:
- 读取你的Skill代码
- 分析报错日志
- 提取关键信息
- 给出修复建议
不用你翻日志,不用你猜原因。它帮你把事干了。
另一个叫@itzhouq/openclaw-new-agent的Skill更贴心,每次修改配置前自动备份。你改错了?cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup,一键回滚。不怕改崩。
我踩过的坑,你跳过
坑一:看日志不筛,被淹没
openclaw logs不加--filter skills,输出的是所有系统日志,信息量巨大。加个筛选,世界清静了。
坑二:改了Skill不重启
改完代码,Skill不会自动生效。得跑openclaw gateway restart。有人忘了这一步,改了三遍还在报错,气得拍桌子。
坑三:依赖没装全
很多Skill有外部依赖——axios、cheerio、puppeteer。装完Skill,看一眼README,缺什么装什么。npm install -g,别漏。
从今天开始,别再猜了
调试不是玄学。是有工具、有流程、有方法的事。
OpenClaw给了你一套调试工具箱:logs看现场、skill list看状态、init --check看环境。
社区给了你更多:自动备份、自动分析、自动修复。
你需要做的,只是学会用它们。
下次Skill挂了,别挠头。开终端,敲命令,让AI自己告诉你它怎么了。
毕竟,它比你更清楚自己哪里疼。