Tools
инструмент 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.
Примечания
- Пути в патче поддерживают относительные пути (от каталога рабочей области) и абсолютные пути.
tools.exec.applyPatch.workspaceOnlyпо умолчанию имеет значениеtrue(в пределах рабочей области). Устанавливайтеfalseтолько если намеренно хотите, чтобыapply_patchзаписывал/удалял файлы за пределами каталога рабочей области.- Используйте
*** Move to:внутри фрагмента*** Update File:, чтобы переименовывать файлы. *** End of Fileпри необходимости помечает вставку только в конец файла.- Доступно по умолчанию для моделей OpenAI и OpenAI Codex. Установите
tools.exec.applyPatch.enabled: false, чтобы отключить это. - При необходимости ограничьте по модели через
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"}Связанное
Was this useful?