Tools
ابزار apply_patch
تغییرات فایل را با استفاده از قالب وصلهٔ ساختاریافته اعمال کنید. این روش برای ویرایشهای چندفایلی
یا چندبخشی که در آنها یک فراخوانی edit شکننده خواهد بود، ایدئال است.
این ابزار یک رشتهٔ input را میپذیرد که یک یا چند عملیات فایل را دربر میگیرد:
*** Begin Patch*** Add File: path/to/file.txt+خط ۱+خط ۲*** Update File: src/app.ts@@ زمینهٔ اختیاری تغییر-خط قدیمی+خط جدید*** 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?