組み込みツール

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のみへの挿入を示します。
  • 実験的機能であり、デフォルトでは無効です。tools.exec.applyPatch.enabledで有効にしてください。
  • OpenAI専用(OpenAI Codexを含む)。オプションで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"
}

ツールBrave検索