Tool apply_patch

Áp dụng các thay đổi lên file bằng định dạng patch có cấu trúc. Cái này rất hữu ích khi các bạn cần chỉnh sửa nhiều file hoặc nhiều đoạn code, mà dùng lệnh edit đơn lẻ thì dễ bị lỗi.

Tool này nhận vào một chuỗi input chứa một hoặc nhiều thao tác trên file:

*** Begin Patch
*** Add File: path/to/file.txt
+line 1
+line 2
*** Update File: src/app.ts
@@
-old line
+new line
*** Delete File: obsolete.txt
*** End Patch

Tham số

  • input (bắt buộc): Toàn bộ nội dung patch bao gồm *** Begin Patch*** End Patch.

Lưu ý

  • Đường dẫn file được tính từ thư mục gốc của workspace.
  • Dùng *** Move to: trong khối *** Update File: để đổi tên file.
  • *** End of File đánh dấu vị trí chèn ở cuối file khi cần.
  • Đây là tính năng thử nghiệm và mặc định bị tắt. Bật lên bằng cách set tools.exec.applyPatch.enabled.
  • Chỉ dùng được với OpenAI (bao gồm OpenAI Codex). Các bạn có thể giới hạn theo model bằng config tools.exec.applyPatch.allowModels.
  • Config chỉ nằm trong tools.exec.

Ví dụ

{
  "tool": "apply_patch",
  "input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"
}