Tools

เครื่องมือ apply_patch

ใช้การเปลี่ยนแปลงไฟล์ด้วยรูปแบบแพตช์ที่มีโครงสร้าง วิธีนี้เหมาะสำหรับการแก้ไขหลายไฟล์ หรือหลายส่วน ซึ่งการเรียก edit เพียงครั้งเดียวอาจเปราะบางและเกิดข้อผิดพลาดได้ง่าย

เครื่องมือนี้รับสตริง input เพียงรายการเดียว ซึ่งครอบการดำเนินการกับไฟล์อย่างน้อยหนึ่งรายการ:

text
*** 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.*

ตัวอย่าง

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