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:
*** 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 PatchParametri
input(obbligatorio): contenuto completo della patch, inclusi*** Begin Patche*** 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 sufalsesolo se desideri intenzionalmente cheapply_patchscriva 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 Filecontrassegna, quando necessario, un inserimento esclusivamente alla fine del file.- È abilitato per impostazione predefinita per ogni modello. Imposta
tools.exec.applyPatch.enabled: falseper disabilitarlo oppure limitalo a modelli specifici contools.exec.applyPatch.allowModels(accetta ID non qualificati comegpt-5.4o ID completi comeopenai/gpt-5.4). - La configurazione si trova in
tools.exec.applyPatch.*.
Esempio
{ "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?