Tools
narzędzie apply_patch
Zastosuj zmiany w plikach przy użyciu ustrukturyzowanego formatu łaty. Jest to idealne w przypadku edycji obejmujących wiele plików
lub wiele fragmentów, gdzie pojedyncze wywołanie edit byłoby kruche.
Narzędzie przyjmuje pojedynczy ciąg input, który obejmuje jedną lub więcej operacji na plikach:
*** Begin Patch
*** Add File: path/to/file.txt
+line 1
+line 2
*** Update File: src/app.ts
@@
-old line
+new line
*** Delete File: obsolete.txt
*** End Patch
Parametry
input(wymagane): Pełna zawartość łaty, w tym*** Begin Patchi*** End Patch.
Uwagi
- Ścieżki łaty obsługują ścieżki względne (z katalogu obszaru roboczego) i ścieżki bezwzględne.
tools.exec.applyPatch.workspaceOnlydomyślnie ma wartośćtrue(ograniczone do obszaru roboczego). Ustaw ją nafalsetylko wtedy, gdy celowo chcesz, abyapply_patchzapisywało/usuwało poza katalogiem obszaru roboczego.- Użyj
*** Move to:w fragmencie*** Update File:, aby zmieniać nazwy plików. *** End of Fileoznacza wstawienie wyłącznie na końcu pliku, gdy jest potrzebne.- Domyślnie dostępne dla modeli OpenAI i OpenAI Codex. Ustaw
tools.exec.applyPatch.enabled: false, aby je wyłączyć. - Opcjonalnie ogranicz według modelu za pomocą
tools.exec.applyPatch.allowModels. - Konfiguracja znajduje się tylko w
tools.exec.
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"
}