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:
*** 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 PatchParametry
input(wymagany): Pełna zawartość łaty, włącznie z*** Begin Patchi*** 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.workspaceOnlyjesttrue(ograniczenie do obszaru roboczego). Ustaw ją nafalsetylko wtedy, gdy celowo chcesz, abyapply_patchzapisywało lub usuwało pliki poza katalogiem obszaru roboczego. - Aby zmieniać nazwy plików, użyj
*** Move to:we fragmencie*** Update File:. *** End of Fileoznacza 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 jakgpt-5.4, lub pełne identyfikatory, takie jakopenai/gpt-5.4). - Konfiguracja znajduje się w
tools.exec.applyPatch.*.
Przykład
{ "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?