Tools

strumento apply_patch

Applica le modifiche ai file usando un formato di patch strutturato. È ideale per modifiche su più file o con più blocchi, per le quali una singola chiamata edit sarebbe fragile.

Lo strumento accetta un'unica stringa input che racchiude una o più operazioni sui file:

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

Parametri

  • input (obbligatorio): contenuto completo della patch, inclusi *** Begin Patch e *** End Patch.

Note

  • I percorsi della patch supportano percorsi relativi (dalla directory dell'area di lavoro) e percorsi assoluti.
  • Il valore predefinito di tools.exec.applyPatch.workspaceOnly è true (limitato all'area di lavoro). Impostalo su false solo se desideri intenzionalmente che apply_patch scriva o elimini elementi al di fuori della directory dell'area di lavoro.
  • Usa *** Move to: all'interno di un blocco *** Update File: per rinominare i file.
  • *** End of File contrassegna, quando necessario, un inserimento esclusivamente alla fine del file.
  • È abilitato per impostazione predefinita per ogni modello. Imposta tools.exec.applyPatch.enabled: false per disabilitarlo oppure limitalo a modelli specifici con tools.exec.applyPatch.allowModels (accetta ID non qualificati come gpt-5.4 o ID completi come openai/gpt-5.4).
  • La configurazione si trova in tools.exec.applyPatch.*.

Esempio

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

Contenuti correlati

Was this useful?
On this page

On this page