Tools

инструмент apply_patch

Применяйте изменения файлов с помощью структурированного формата патча. Это идеально подходит для правок в нескольких файлах или нескольких фрагментах, когда один вызов edit был бы ненадёжным.

Инструмент принимает одну строку input, содержащую одну или несколько файловых операций:

text
*** 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.*.

Пример

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"}

Связанные материалы

Was this useful?
On this page

On this page