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