Tools

herramienta apply_patch

Aplica cambios en archivos mediante un formato de parche estructurado. Esto es ideal para ediciones en varios archivos o con varios fragmentos, donde una única llamada a edit sería frágil.

La herramienta acepta una sola cadena input que contiene 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.
  • El valor predeterminado de tools.exec.applyPatch.workspaceOnly es true (limitado al espacio de trabajo). Establécelo en false solo si quieres intencionadamente que apply_patch escriba o 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 únicamente al final del archivo cuando sea necesario.
  • Está 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 identificadores sin prefijo como gpt-5.4 o identificadores completos como openai/gpt-5.4).
  • La configuración se encuentra 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