Konfigurasikan guardrail
Panduan ini menunjukkan cara mengkonfigurasi guardrail: peraturan yang menentukan sama ada tindakan sesuatu ejen dijalankan, meminta kelulusan dahulu, atau ditolak.
Guardrail merangkumi tiga belas kelas kesan yang diisytiharkan oleh setiap alat yang mengubah keadaan. Ia dikuatkuasakan di sisi pelayan pada titik alat itu dipanggil, tidak pernah melalui arahan di dalam prompt.
Tetapkan keputusan untuk kelas tindakan
Bahagian bertajuk “Tetapkan keputusan untuk kelas tindakan”- Pergi ke Tetapan → Ruang kerja → Kebenaran ejen
- Pilih skop dengan kawalan bersegmen: Ruang kerja, Ejen (kemudian pilih ejen itu), atau Ruang (kemudian pilih ruang itu)
- Pada baris kelas tindakan itu, pilih Benarkan, Tanya dahulu atau Tolak
- Untuk membuang peraturan yang anda tetapkan, tekan butang set semula yang muncul di hujung baris itu (Kosongkan ke diwarisi) — keputusannya kembali kepada skop yang lebih luas
Setiap baris menunjukkan keputusan berkesan sebagai teg status dan lencana yang
menyatakan dari mana ia datang: Skop ini, Diwarisi atau Lalai
terbina. Matriks ini dileraikan pada modus Ejen (chat), jadi Praset modus
tidak pernah muncul di sini — gunakan prob Bagaimana jika? dengan modus baca
sahaja dipilih untuk melihat lapisan itu.
Menulis peraturan memerlukan peranan admin. Membaca matriks itu tidak.
Titik semak: tetapkan Push ke remote kepada Tolak pada skop ruang kerja,
kemudian jalankan prob Bagaimana jika? di bawah pada git push origin main.
Hasilnya berbunyi deny dengan sumber workspace.
Fahami cara keputusan dileraikan
Bahagian bertajuk “Fahami cara keputusan dileraikan”Peleraian mengutamakan kekhususan dahulu, kemudian keketatan:
- Peraturan Ruang, kemudian ejen, kemudian ruang kerja. Skop pertama yang mempunyai peraturan sepadan yang memutuskan, dan peleraian berhenti
- Jika tiada peraturan sepadan, praset modus terpakai — modus baca sahaja (pelan, semakan, orkestrasi) menolak sebelas daripada tiga belas kelas itu
- Jika modus tidak menentukan apa-apa, lalai terbina terpakai
Dalam satu skop, peraturan perintah dileraikan mengikut prefiks padanan terpanjang, dan konflik yang sama kekhususannya dileraikan secara paling ketat — tolak mengalahkan tanya dahulu, yang mengalahkan benarkan. Tindakan yang mengisytiharkan beberapa kelas dileraikan satu demi satu secara bebas, kemudian digabungkan secara paling ketat.
Keputusan Tanya dahulu memunculkan satu prompt kelulusan yang merangkumi
setiap kelas yang dileraikan menjadi prompt. Tanpa pelulus yang bersambung,
ia ditolak, untuk perintah shell mahupun panggilan alat harness. Itu memang
disengajakan: larian tanpa get lebih buruk daripada larian yang ditolak.
Kelas tindakan dan lalai terbina
Bahagian bertajuk “Kelas tindakan dan lalai terbina”| Kelas tindakan | Lalai terbina |
|---|---|
| Padam fail | Tanya dahulu |
| Tulis di luar worktree | Benarkan |
| Cipta commit | Benarkan |
| Push ke remote | Tanya dahulu |
| Buka pull request | Tanya dahulu |
| Terbitkan semakan atau cantuman | Tanya dahulu |
| Tulis ke penjejak luaran | Tanya dahulu |
| Akses rangkaian | Benarkan |
| Baca rahsia | Benarkan |
| Pasang pakej | Benarkan |
| Jalankan proses | Benarkan |
| Ubah struktur ruang kerja | Benarkan |
| Kawal persekitaran terasing (stesen) | Benarkan |
Taksonomi ini tertutup. Alat baharu yang dikeluarkan tanpa mengisytiharkan kelasnya akan gagal dalam ujian ratchet di CI, jadi tiada apa-apa yang tiba dengan himpunan kesan yang kosong secara senyap.
Uji peraturan dengan prob Bagaimana jika?
Bahagian bertajuk “Uji peraturan dengan prob Bagaimana jika?”Sebelum mengubah sesuatu peraturan, semak bagaimana polisi semasa sudah meleraikannya.
- Pada halaman yang sama, tatal ke Bagaimana jika?
- Pilih Tindakan (salah satu daripada tiga belas kelas itu)
- Secara pilihan, isi Perintah (contohnya
git push origin main), Ejen, Ruang dan Modus - Baca hasilnya: keputusan, sebabnya dan Sumber:
Prob itu menjalankan peleraian yang sama seperti yang digunakan oleh laluan penguatkuasaan, terhadap peraturan langsung anda, jadi jawapannya tepat. Jika ia memeranjatkan anda, ubah sesuatu peraturan dalam matriks di atas dan uji semula.
Tetapkan dail autonomi sesuatu ruang
Bahagian bertajuk “Tetapkan dail autonomi sesuatu ruang”Dail ini adalah bagi setiap ejen bagi setiap ruang, dan ia bergabung dengan peraturan dan bukan menggantikannya.
- Buka ruang itu
- Buka Urus peserta dari pengepala ruang
- Di bawah Autonomi pada baris ejen, pilih satu tahap:
| Tahap | Kesan |
|---|---|
| Lalai | Tiada tetapan ruang — berkelakuan seperti Bertindak dengan kelulusan |
| Cadang sahaja | Setiap alat berget ditolak terus, dengan mesej yang memberitahu ejen supaya mencadangkan tindakan itu sebagai gantinya |
| Bertindak dengan kelulusan | Tindakan berisiko terhenti pada get kelulusan fail-closed |
| Bertindak bebas | Pra-keluluskan apa-apa sahaja yang tidak dileraikan kepada tolak keras |
Dail ini hanya menjangkau harness terbina. Penyesuai Claude Code menjalankan alatnya sendiri di luar get ini.
Ketahui tempat guardrail tidak menjangkau
Bahagian bertajuk “Ketahui tempat guardrail tidak menjangkau”Jadual Di mana peraturan dikuatkuasakan di bahagian bawah halaman yang sama ialah versi dalam aplikasi bagi perkara ini: bagi setiap kelas kesan, ia menyatakan sama ada setiap pelari menangkapnya pada get polisi, menyerahkannya kepada kotak pasir, atau tidak dapat memintasnya sama sekali.
- Penyesuai Claude Code hanya sebahagiannya berget untuk panggilan alatnya
sendiri. Claude Code dilancarkan dengan
--dangerously-skip-permissions, jadi panggilan baca, tulis dan editnya tidak pernah melalui guardrail. Perintah bashnya sampai kepadanya melalui hook yang mengelaskan baris perintah, dan pushnya melalui gerbang push seperti mana-mana ejen. Permukaan alat MCP yang dipanggilnya kembali dan perintah shell yang dilancarkan oleh Control Center untuk memulakannya juga berget. - Kata kerja keluaran sesuatu modus sendiri (
submit_plan,propose_orchestration) dipakukan dan tidak pernah boleh ditolak — jika tidak, sesuatu modus akan secara strukturnya tidak mampu menghasilkan satu-satunya hasil serahannya. - Sama ada kotak pasir menyokong peraturan ini bergantung pada hos. Di tempat
cc_servermenemui backend, ia membalut CLI Claude Code dan alatbashharness, jadi peraturan yang anda tidak tulis pun masih mempunyai asas OS di bawahnya. Pada Windows tiada asas itu dan pada Linux atau WSL2 tanpabwrapdansocatjuga tiada — di sana, guardrail serta permukaan alat modus merupakan keseluruhan penguatkuasaannya, bukan lapisan keduanya. Periksa anda berada dalam kes yang mana dengan Konfigurasikan polisi kotak pasir.