โมเดลสิทธิ์

Clew ควบคุมการดำเนินการเครื่องมือผ่านระบบสิทธิ์แบบหลายชั้นพร้อมหลายโหมด, กฎอนุญาต/ปฏิเสธ, และการตรวจสอบเฉพาะเครื่องมือ

โหมดสิทธิ์

กำหนดใน src/types/permissions.ts เจ็ดโหมดที่ผู้ใช้เข้าถึงได้:

โหมดพฤติกรรม
defaultถามก่อนดำเนินการเครื่องมือที่ละเอียดอ่อน (read/write/bash/network) ค่าเริ่มต้นที่ปลอดภัย
askถามก่อนทุกการดำเนินการเครื่องมือ
planชอบโหมดวางแผน — AI ต้องนำเสนอแผนก่อนดำเนินการ
autoอนุมัติอัตโนมัติสำหรับการกระทำความเสี่ยงต่ำ ถามสำหรับการดำเนินการเสี่ยง
acceptEditsอนุมัติอัตโนมัติสำหรับการแก้ไขไฟล์ มีประโยชน์สำหรับการพัฒนาที่รวดเร็ว
bypassPermissionsข้ามการขอสิทธิ์ทั้งหมด ใช้ใน sandbox ที่เชื่อถือได้เท่านั้น
dontAskไม่ถาม — ปฏิเสธอัตโนมัติทุกอย่างที่ต้องขอสิทธิ์

กฎสิทธิ์

กฎอนุญาต/ปฏิเสธแบบละเอียดควบคุมเครื่องมือและอาร์กิวเมนต์เฉพาะ:

/permissions     # เปิดตัวจัดการกฎสิทธิ์แบบโต้ตอบ

กฎสามารถกำหนดเป้าหมายเครื่องมือเฉพาะด้วยการจับคู่รูปแบบ:

  • Bash(git *) — อนุญาต/ปฏิเสธคำสั่ง git โดยเฉพาะ
  • Edit — อนุญาต/ปฏิเสธการแก้ไขไฟล์ทั้งหมด
  • Bash(rm *) — เตือน/บล็อกคำสั่ง shell ที่เป็นอันตราย

แนวทางปฏิบัติด้านความปลอดภัย

  • โหมดค่าเริ่มต้น สำหรับการพัฒนาประจำวัน
  • โหมดวางแผน สำหรับโครงสร้างพื้นฐานการผลิตหรือโค้ดที่ไม่คุ้นเคย
  • โหมดข้าม เฉพาะใน worktrees ที่ใช้แล้วทิ้งหรือ Docker sandboxes
  • ใช้กฎอนุญาต/ปฏิเสธเพื่ออนุญาตรูปแบบที่ปลอดภัยขณะบล็อกรูปแบบอันตราย