Tools 工具组
NotebookEditTool:编辑 Notebook
这个工具做什么
NotebookEditTool 专门处理 Jupyter Notebook。
Claude Code 没把 .ipynb 当成普通 JSON 文本暴力改,而是单独做了一个工具。
关键源码
它在工具池里和普通文件编辑工具并列:
FileEditTool,
FileWriteTool,
NotebookEditTool,
这说明 Anthropic 很清楚:Notebook 是一种特殊文档,不适合直接套用文本编辑逻辑。
调用链
加载图表中...
实现重点
Notebook 的麻烦点在于:
- 既有代码单元,也有文本单元
- 结构是 JSON,但语义是“文档 + 代码”
- 粗暴字符串替换很容易破坏文件
所以单独拆工具是合理做法。
它和相邻工具的关系
FileReadTool:负责把 notebook 读取成可理解内容FileEditTool:普通文本文件走这里,Notebook 不走