Tools
інструмент apply_patch
Застосовуйте зміни до файлів за допомогою структурованого формату латки. Це ідеально підходить для редагування кількох файлів
або кількох фрагментів, коли один виклик edit був би ненадійним.
Інструмент приймає один рядок input, що охоплює одну або кілька операцій із файлами:
*** Begin Patch*** Add File: path/to/file.txt+line 1+line 2*** Update File: src/app.ts@@ optional change context-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: 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?