Tools
apply_patch ツール
構造化されたパッチ形式を使用してファイル変更を適用します。これは、単一の edit 呼び出しでは壊れやすくなる複数ファイルまたは複数ハンクの編集に最適です。
このツールは、1 つ以上のファイル操作をラップする単一の input 文字列を受け取ります。
*** 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パラメーター
input(必須):*** Begin Patchと*** End Patchを含む完全なパッチ内容。
注意事項
- パッチパスは相対パス(ワークスペースディレクトリから)と絶対パスに対応しています。
tools.exec.applyPatch.workspaceOnlyのデフォルトはtrue(ワークスペース内に限定)です。意図的にapply_patchでワークスペースディレクトリ外へ書き込みまたは削除したい場合にのみ、falseに設定してください。- ファイル名を変更するには、
*** Update File:ハンク内で*** Move to:を使用します。 *** End of Fileは、必要な場合に EOF のみの挿入を示します。- OpenAI および OpenAI Codex モデルではデフォルトで利用できます。無効にするには、
tools.exec.applyPatch.enabled: falseを設定します。 - 必要に応じて、モデル別に
tools.exec.applyPatch.allowModelsで制限できます。 - 設定は
tools.execの下にのみあります。
例
{ "tool": "apply_patch", "input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"}