Tools
инструмент apply_patch
Применяйте изменения файлов с помощью структурированного формата патча. Это идеально подходит для правок в нескольких файлах
или нескольких фрагментах, когда один вызов edit был бы ненадёжным.
Инструмент принимает одну строку input, содержащую одну или несколько файловых операций:
*** Begin Patch*** Add File: path/to/file.txt+строка 1+строка 2*** Update File: src/app.ts@@ необязательный контекст изменения-старая строка+новая строка*** Delete File: obsolete.txt*** End PatchПараметры
input(обязательный): полное содержимое патча, включая*** Begin Patchи*** End Patch.
Примечания
- Пути в патче могут быть относительными (от каталога рабочей области) или абсолютными.
tools.exec.applyPatch.workspaceOnlyпо умолчанию имеет значениеtrue(в пределах рабочей области). Установите значениеfalse, только если намеренно хотите разрешитьapply_patchзапись или удаление за пределами каталога рабочей области.- Чтобы переименовать файлы, используйте
*** Move to:внутри фрагмента*** Update File:. *** End of Fileпри необходимости обозначает вставку только в конец файла.- По умолчанию включён для каждой модели. Установите
tools.exec.applyPatch.enabled: false, чтобы отключить его, или ограничьте его определёнными моделями с помощьюtools.exec.applyPatch.allowModels(принимает простые идентификаторы, такие какgpt-5.4, или полные идентификаторы, такие какopenai/gpt-5.4). - Конфигурация находится в
tools.exec.applyPatch.*.
Пример
{ "tool": "apply_patch", "input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"}Связанные материалы
Was this useful?