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позначає вставлення лише в EOF, коли це потрібно.- Доступний за замовчуванням для моделей 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"
}