Tools

herramienta apply_patch

Aplica cambios de archivos usando un formato de parche estructurado. Es ideal para ediciones de varios archivos o varios fragmentos donde una sola llamada a edit sería frágil.

La herramienta acepta una única cadena input que envuelve una o más operaciones de archivo:

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

Parámetros

  • input (obligatorio): Contenido completo del parche, incluidos *** Begin Patch y *** End Patch.

Notas

  • Las rutas del parche admiten rutas relativas (desde el directorio del espacio de trabajo) y rutas absolutas.
  • tools.exec.applyPatch.workspaceOnly tiene como valor predeterminado true (contenido dentro del espacio de trabajo). Establécelo en false solo si quieres intencionalmente que apply_patch escriba/elimine fuera del directorio del espacio de trabajo.
  • Usa *** Move to: dentro de un fragmento *** Update File: para cambiar el nombre de archivos.
  • *** End of File marca una inserción solo EOF cuando sea necesario.
  • Habilitado de forma predeterminada para todos los modelos. Establece tools.exec.applyPatch.enabled: false para deshabilitarlo, o restríngelo a modelos específicos con tools.exec.applyPatch.allowModels (acepta ids sin procesar como gpt-5.4 o ids completos como openai/gpt-5.4).
  • La configuración reside en tools.exec.applyPatch.*.

Ejemplo

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

Relacionado

Was this useful?
On this page

On this page