# โมเดลสิทธิ์

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
- ใช้กฎอนุญาต/ปฏิเสธเพื่ออนุญาตรูปแบบที่ปลอดภัยขณะบล็อกรูปแบบอันตราย