SuperAPI AI 工具集

notebook-debug

测试与质量

查看项目

更新于 10-15 21:37

技能介绍

用途:检查或调试已执行的 .ipynb notebook,定位运行时错误,适用于 marimo、jupytext 或普通 Jupyter 创建的 notebook。若在 /ds 工作流中调试,先读 .planning/LEARNINGS.md 与 .planning/PLAN.md 获取上下文。

主要能力:把 notebook 执行导出为带输出的 ipynb,保留单元格输出、traceback、执行顺序与单元格 ID;用 jq 快速检查 traceback 与错误数量;用 Read 工具以内联方式查看失败单元格后的完整 traceback。

必要用法:导出 marimo 用 marimo export ipynb notebook.py -o marimo/notebook.ipynb --include-outputs;jupytext 转 ipynb 并执行用 jupytext --to notebook --output - script.py | papermill - output.ipynb;执行已有 ipynb 用 papermill input.ipynb output.ipynb。快速失败检查:jq -r '.cells[].outputs[]?.text[]?' notebook.ipynb | grep "Traceback";错误计数:jq '[.cells[].outputs[]? | select(.output_type == "error")] | length' notebook.ipynb;查找未执行单元格:jq '.cells[] | select(.execution_count == null) | .source[:50]' notebook.ipynb;提取全部错误:jq -r '.cells[].outputs[]? | select(.output_type == "error") | .traceback[]' notebook.ipynb。

限制与注意:执行器退出码为 0 不代表单元格成功,traceback 在单元格输出内;直接运行 .py 源文件会丢失单元格级输出与错误归属;grep 快速检查只读 outputs[].text,会漏掉 stderr 与结构化错误输出,需结合 Read 工具;失败下游单元格 execution_count 为 null,中间失败需逐格验证;报错单元格常非根因,需向上游追溯。声称成功前必须执行到 ipynb、检查 traceback、用 Read 查看、验证所有单元格有 execution_count 并检查输出。