Tools

ابزار apply_patch

تغییرات فایل را با استفاده از قالب وصلهٔ ساختاریافته اعمال کنید. این روش برای ویرایش‌های چندفایلی یا چندبخشی که در آن‌ها یک فراخوانی edit شکننده خواهد بود، ایدئال است.

این ابزار یک رشتهٔ input را می‌پذیرد که یک یا چند عملیات فایل را دربر می‌گیرد:

text
*** 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.* قرار دارد.

مثال

json
{  "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?
On this page

On this page