Install
openclaw skills install python-debug-assistantPython代码调试助手。帮助诊断和修复Python代码错误,覆盖SyntaxError、TypeError、NameError等10+常见错误类型,提供错误解读、代码定位、修复方案和调试技巧。
openclaw skills install python-debug-assistant当用户提交 Python 报错信息或代码问题时,按以下流程诊断并给出修复方案。
判断用户输入包含哪些信息:
| 输入组合 | 执行分支 |
|---|---|
| 错误信息 + 代码片段 | → 步骤 2(完整诊断) |
| 只有错误信息(无代码) | → 步骤 2A(解释错误 + 常见原因) |
| 只有代码(无报错) | → 步骤 2B(静态检查潜在问题) |
| 截图/图片 | → 先提取文字,再判断属于以上哪种 |
当用户提供了错误信息和代码时:
给出:
逐项检查:
根据错误类型推荐对应的调试方法:
| 错误类型 | 关键词识别 | 常见原因 | 检查方向 |
|---|---|---|---|
| SyntaxError | "invalid syntax" | 拼写、括号、冒号 | 语法规则 |
| IndentationError | "unexpected indent" | 缩进不一致 | 空格/Tab 混用 |
| NameError | "name 'x' is not defined" | 变量未定义 | 变量拼写、作用域 |
| TypeError | "unsupported operand type" | 类型不匹配 | 操作数类型 |
| IndexError | "list index out of range" | 索引越界 | 列表长度 |
| KeyError | "KeyError: 'x'" | 键不存在 | 字典键名 |
| ValueError | "invalid literal" | 值不合法 | 类型转换 |
| AttributeError | "has no attribute" | 属性/方法不存在 | 对象类型 |
| ImportError | "No module named" | 模块未安装 | 包名拼写 |
| FileNotFoundError | "No such file" | 文件路径错误 | 路径检查 |
严格按以下结构输出诊断结果:
## 🔍 问题分析
- **错误类型**:[错误类型名称]
- **错误信息**:[原始错误信息解读]
- **根因分析**:[为什么会出错,用通俗语言解释]
## 📍 问题定位
[指出具体出错的代码行,引用原始代码]
## ✅ 修复方案
[修改步骤说明]
[修改后的完整代码,关键改动处加注释标注]
## 💡 调试建议
[1-2 条针对性的调试技巧]
以下表述应触发此 skill:
Traceback (most recent call last):
File "test.py", line 3, in <module>
print(x + y)
NameError: name 'y' is not defined
代码:
x = 1
print(x + y)
## 🔍 问题分析
- **错误类型**:NameError
- **错误信息**:变量 'y' 未被定义就尝试使用
- **根因分析**:代码中只定义了 x = 1,但 print 语句中引用了未定义的变量 y。
Python 在执行时找不到 y,因此抛出 NameError。
## 📍 问题定位
第 3 行 `print(x + y)` — 变量 y 在此处首次出现但从未被赋值。
## ✅ 修复方案
在使用 y 之前先定义它:
x = 1
y = 2 # ← 新增:定义变量 y
print(x + y) # 输出 3
## 💡 调试建议
- 使用 IDE 的自动补全功能可以减少变量名拼写错误
- 遇到 NameError 时,用 `print(dir())` 查看当前作用域中已定义的变量名