工具与技能 • 5 分钟阅读
apply_patch 工具
使用 apply_patch 工具应用多文件补丁
使用结构化补丁格式应用文件更改。这非常适合多文件
或多块编辑,单个 ''edit'' 调用可能不稳定。
该工具接受单个 ''input'' 字符串,包装一个或多个文件操作:
Terminal
*** Begin Patch *** Add File: path/to/file.txt +line 1 +line 2 *** Update File: src/app.ts @@ -old line +new line *** Delete File: obsolete.txt *** End Patch
Tutorial.step
参数
- ''input''(必需):完整补丁内容,包括 ''*** Begin Patch'' 和 ''*** End Patch''。
Tutorial.step
注意事项
- 路径相对于工作区根目录解析。
- 在 ''*** Update File:'' 块中使用 ''*** Update File:'' 来重命名文件。
- ''*** End of File'' 在需要时标记仅 EOF 插入。
- 实验性功能,默认禁用。通过 ''tools.exec.applyPatch.enabled'' 启用。
- 仅限 OpenAI(包括 OpenAI Codex)。可选通过模型限制
- ''tools.exec.applyPatch.allowModels''。
- 配置仅在 ''tools.exec'' 下。
Tutorial.step
示例
Json
'{'
"tool": "apply_patch",
"input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"
'}'