OpenClawSkills
GitHub
工具与技能 • 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"
'}'