Tools
ابزار apply_patch
تغییرات فایل را با استفاده از قالب وصلهٔ ساختاریافته اعمال کنید. این روش برای ویرایشهای چندفایلی
یا چندبخشی که در آنها یک فراخوانی edit شکننده خواهد بود، ایدئال است.
این ابزار یک رشتهٔ input واحد میپذیرد که یک یا چند عملیات فایل را در بر میگیرد:
*** Begin Patch*** Add File: path/to/file.txt+line 1+line 2*** Update File: src/app.ts@@ optional change context-old line+new line*** Delete File: obsolete.txt*** End Patchپارامترها
input(الزامی): محتوای کامل وصله، شامل*** Begin Patchو*** End Patch.
نکات
- مسیرهای وصله از مسیرهای نسبی (نسبت به پوشهٔ فضای کاری) و مسیرهای مطلق پشتیبانی میکنند.
- مقدار پیشفرض
tools.exec.applyPatch.workspaceOnlyبرابر باtrueاست (محدود به فضای کاری). آن را فقط زمانی رویfalseتنظیم کنید که عمداً میخواهیدapply_patchخارج از پوشهٔ فضای کاری بنویسد یا حذف کند. - برای تغییر نام فایلها، از
*** Move to:درون یک بخش*** Update File:استفاده کنید. - در صورت نیاز،
*** End of Fileدرج منحصراً در انتهای فایل را مشخص میکند. - این قابلیت بهطور پیشفرض برای همهٔ مدلها فعال است. برای غیرفعالکردن آن،
tools.exec.applyPatch.enabled: falseرا تنظیم کنید؛ یا با استفاده ازtools.exec.applyPatch.allowModelsآن را به مدلهای مشخصی محدود کنید (شناسههای خام مانندgpt-5.4یا شناسههای کامل مانندopenai/gpt-5.4را میپذیرد). - پیکربندی در
tools.exec.applyPatch.*قرار دارد.
مثال
{ "tool": "apply_patch", "input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"}مرتبط
Was this useful?