Встроенные инструменты

Инструмент 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 отмечает вставку только в конец файла, когда это необходимо.
  • Экспериментальный инструмент, по умолчанию отключён. Включите с помощью 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"
}

ИнструментыBrave Search