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 を含む完全なパッチ内容。

注意事項

  • パスはワークスペースルートからの相対パスで解決されます。
  • ファイル名変更には *** 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"
}