Install
openclaw skills install @elephantjohn/error-translatorThis skill should be used when the user pastes a technical error and wants to know what it means and how to fix it — including phrases like "这个报错什么意思", "怎么修", "为什么报错", "看不懂这个错误", "this error means what", "how do I fix this error", "debug this". It translates the error into plain language, lists likely causes, and gives an ordered troubleshooting path.
openclaw skills install @elephantjohn/error-translator把红字翻译成人话,告诉你先查什么。
例:NullPointerException → 「程序想用一个盒子里装的东西,但那个盒子是空的。」
按「5 分钟内能验证」→「需要改代码」→「需要改配置」→「需要查外部依赖」排序。
如果你无法确定根因 → 明确说「最可能是 X,但也可能是 Y,先试 X 成本低」。不要假装确定。
【人话】
[一句话,谁卡在哪]
【常见原因】
① [最可能] —— 一句话说明
② [次可能] —— 一句话说明
③ ……
【先查这个】
1. [最低成本的一步,5 分钟能验证]
2. [下一步]
3. ……
【不确定的】
[如果根因判断有多个可能,说明各自的验证方式]
AttributeError: 'NoneType' object has no attribute 'xxx'【人话】
程序以为某个东西存在,去取它的属性,结果发现它是空的。
【常见原因】
① 变量还没赋值就被用了 —— 最常见
② 函数返回了 None,但调用方当成对象用
③ 字典的 key 不存在,用了 .key 而不是 .get()
④ 异步操作还没完成就去读结果
【先查这个】
1. 把报错行贴出来,看这一行用了哪个变量
2. 在它前面加一行 print(type(变量)),看它到底是什么
3. 如果是 None,往上找它是在哪里被赋值的
【不确定的】
如果日志里没带完整堆栈,位置可能不准——请补一段完整 traceback。
ModuleNotFoundError: No module named 'xxx'【人话】
程序要调用一个零件,但这个零件没装。
【常见原因】
① 确实没装这个包
② 装在了另一个 Python 环境(conda 与 venv 混用)
③ 包名和导入名不一致(如 pip 装 python-dotenv,代码写 import dotenv)
④ 装的是开发依赖,生产环境没装
【先查这个】
1. 终端跑 pip list 搜关键词,看它在不在
2. 跑 import sys; print(sys.executable),和 pip 的环境对比
3. 查这个包的官方 import 名,确认拼写
【不确定的】
如果确认装了还是报错,八成是环境错位(原因②),优先查这个。