重要提示:所有模型版本的工具版本字符串都可以在这里找到:https://platform.claude.com/docs/en/agents-and-tools/tool-use/text-editor-tool(在新标签页中打开)
Claude 自带一个无需您从零开始创建的内置工具:文本编辑工具。该工具赋予 Claude 像在标准文本编辑器中一样处理文件和目录的能力。
文本编辑工具能做什么
文本编辑工具为 Claude 提供了一整套全面的文件操作能力:
- 查看文件或目录内容
- 查看文件中特定范围的行
- 替换文件中的文本
- 创建新文件
- 在文件的特定行插入文本

这极大地扩展了 Claude 的能力,基本上赋予了它开箱即用地充当软件工程师的能力。
理解实现要求
事情在这里会稍微有点令人困惑:虽然工具的模式(schema)已内置于 Claude 中,但您仍然需要提供实际的实现。可以这样理解——Claude 知道如何请求文件操作,但您需要编写实际执行这些操作的代码。

当您使用自定义工具时,通常需要同时编写 JSON 模式和函数实现。而对于文本编辑工具,Claude 提供了模式相关的知识,但您必须编写函数来处理 Claude 发出的创建文件、读取目录、替换文本等请求。
模式版本
使用文本编辑工具时,您确实需要包含一个小的模式存根(schema stub),具体的模式取决于您所使用的 Claude 模型:
def get_text_edit_schema(model):
if model.startswith("claude-haiku-4-5"):
return {
"type": "text_editor_20250728",
"name": "str_replace_based_edit_tool",
}
Claude 会自动将这个小的模式展开为一个更大、更详细的规范,其中包含所有可用的参数和操作。
实际示例
让我们来看看文本编辑工具的实际运行效果。当您要求 Claude 处理文件时,它会使用该工具按需读取、修改和创建文件。
例如,如果您要求 Claude"打开 ./main.py 文件并总结其内容",Claude 将会:
- 使用文本编辑工具查看该文件
- 读取内容
- 向您提供摘要
您还可以进一步要求 Claude 修改文件。例如:"打开 ./main.py 文件,编写一个计算 pi 值到小数点后第 5 位的函数。然后创建一个 ./test.py 文件来测试你的实现。"
Claude 将会:
- 查看现有的 main.py 文件
- 用包含 pi 计算函数的新实现替换其内容
- 创建一个包含适当单元测试的新 test.py 文件
为什么要使用文本编辑工具?
您可能会好奇,既然现代代码编辑器已经内置了 AI 助手,为什么还需要这个工具。在以下场景中,文本编辑工具会变得非常有价值:
- 您正在构建需要以编程方式编辑文件的应用程序
- 您所处的环境无法访问功能齐全的代码编辑器
- 您希望将文件编辑能力直接集成到由 Claude 驱动的应用程序中
本质上,文本编辑工具让您能够在自己的应用程序中复现高级 AI 驱动代码编辑器的大部分功能,赋予 Claude 真正编码助手的能力,使其能够读取、写入和修改您文件系统上的文件。