Tools

narzędzie apply_patch

Wprowadzaj zmiany w plikach za pomocą ustrukturyzowanego formatu łaty. Jest to idealne rozwiązanie w przypadku edycji wielu plików lub wielu fragmentów, gdy pojedyncze wywołanie edit byłoby zawodne.

Narzędzie przyjmuje pojedynczy ciąg input, który obejmuje co najmniej jedną operację na plikach:

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

Parametry

  • input (wymagany): Pełna zawartość łaty, włącznie z *** Begin Patch i *** End Patch.

Uwagi

  • Ścieżki w łacie mogą być względne (względem katalogu obszaru roboczego) lub bezwzględne.
  • Domyślną wartością tools.exec.applyPatch.workspaceOnly jest true (ograniczenie do obszaru roboczego). Ustaw ją na false tylko wtedy, gdy celowo chcesz, aby apply_patch zapisywało lub usuwało pliki poza katalogiem obszaru roboczego.
  • Aby zmieniać nazwy plików, użyj *** Move to: we fragmencie *** Update File:.
  • *** End of File oznacza wstawienie wyłącznie na końcu pliku, gdy jest to potrzebne.
  • Funkcja jest domyślnie włączona dla każdego modelu. Ustaw tools.exec.applyPatch.enabled: false, aby ją wyłączyć, lub ogranicz ją do określonych modeli za pomocą tools.exec.applyPatch.allowModels (przyjmuje nieprzetworzone identyfikatory, takie jak gpt-5.4, lub pełne identyfikatory, takie jak openai/gpt-5.4).
  • Konfiguracja znajduje się w tools.exec.applyPatch.*.

Przykład

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

Powiązane

Was this useful?
On this page

On this page