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?