Инструмент apply_patch
Применение изменений файлов с использованием структурированного формата патча. Это идеально подходит для многофайловых или многофрагментных правок, где один вызов edit был бы ненадежным.
Инструмент принимает одну строку input, которая оборачивает одну или несколько операций с файлами:
*** 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
Параметры
- input (обязательно): Полное содержимое патча, включая *** Begin Patch и *** End Patch.
Примечания
- Пути разрешаются относительно корня рабочего пространства.
- Используйте *** Move to: внутри фрагмента *** Update File: для переименования файлов.
- *** End of File отмечает вставку только EOF при необходимости.
- Экспериментальный и отключен по умолчанию. Включите с помощью tools.exec.applyPatch.enabled.
- Только для OpenAI (включая OpenAI Codex). Опционально ограничьте по модели через tools.exec.applyPatch.allowModels.
- Конфигурация находится только под tools.exec.
Пример
{
"tool": "apply_patch",
"input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"
}