Tools
Mode dengan hak akses tinggi
Saat agen berjalan di dalam sandbox, perintah exec-nya dibatasi pada lingkungan sandbox. Mode dengan hak istimewa lebih tinggi memungkinkan agen keluar dan menjalankan perintah di luar sandbox, dengan gerbang persetujuan yang dapat dikonfigurasi.
Direktif
Kendalikan mode dengan hak istimewa lebih tinggi per sesi menggunakan perintah garis miring:
| Direktif | Fungsinya |
|---|---|
/elevated on |
Jalankan di luar sandbox pada jalur host yang dikonfigurasi, tetap gunakan persetujuan |
/elevated ask |
Sama seperti on (alias) |
/elevated full |
Jalankan di luar sandbox pada jalur host yang dikonfigurasi dan lewati persetujuan jika kebijakan persetujuan mode/host sudah mengizinkan sepenuhnya |
/elevated off |
Kembali ke eksekusi yang dibatasi sandbox |
Juga tersedia sebagai /elev on|off|ask|full.
Kirim /elevated tanpa argumen untuk melihat tingkat saat ini.
Cara kerjanya
Periksa ketersediaan
Mode dengan hak istimewa lebih tinggi harus diaktifkan dalam konfigurasi dan pengirim harus berada dalam daftar izin:
{ tools: { elevated: { enabled: true, allowFrom: { discord: ["user-id-123"], whatsapp: ["+15555550123"], }, }, },}Atur tingkat
Kirim pesan yang hanya berisi direktif untuk mengatur nilai bawaan sesi:
/elevated fullAtau gunakan secara sebaris (hanya berlaku untuk pesan tersebut):
/elevated on run the deployment scriptPerintah dijalankan di luar sandbox
Saat mode dengan hak istimewa lebih tinggi aktif, panggilan exec keluar dari sandbox. Host efektif secara bawaan adalah
gateway, atau node jika target exec yang dikonfigurasi/ditetapkan untuk sesi adalah
node. Dalam mode full, persetujuan exec dilewati jika kebijakan persetujuan mode/host exec yang ditetapkan
sudah sepenuhnya permisif (keamanan full,
ask off); jika tidak, kebijakan persetujuan normal tetap berlaku. Dalam mode
on/ask, aturan persetujuan yang dikonfigurasi selalu berlaku.
Urutan resolusi
- Direktif sebaris pada pesan (hanya berlaku untuk pesan tersebut)
- Penggantian sesi (diatur dengan mengirim pesan yang hanya berisi direktif)
- Nilai bawaan global (
agents.defaults.elevatedDefaultdalam konfigurasi)
Ketersediaan dan daftar izin
- Gerbang global:
tools.elevated.enabled(harustrue) - Daftar izin pengirim:
tools.elevated.allowFromdengan daftar per kanal - Gerbang per agen:
agents.list[].tools.elevated.enabled(hanya dapat membatasi lebih lanjut; gerbang global dan per agen harus sama-samatrue) - Daftar izin per agen:
agents.list[].tools.elevated.allowFrom(pengirim harus cocok dengan daftar global + per agen) - Daftar izin cadangan yang disediakan kanal: Plugin kanal secara opsional dapat menyediakan daftar izin cadangan melalui hook adaptor SDK, yang digunakan saat
tools.elevated.allowFrom.<provider>tidak dikonfigurasi. Saat ini tidak ada kanal bawaan yang mengimplementasikan hook ini, sehingga dalam praktiknya setiap penyedia saat ini memerlukan entritools.elevated.allowFrom.<provider>secara eksplisit. - Semua gerbang harus lolos; jika tidak, mode dengan hak istimewa lebih tinggi dianggap tidak tersedia
Format entri daftar izin:
| Awalan | Yang dicocokkan |
|---|---|
| (tidak ada) | ID pengirim, E.164, atau bidang From |
name: |
Nama tampilan pengirim |
username: |
Nama pengguna pengirim |
tag: |
Tag pengirim |
id:, from:, e164: |
Penargetan identitas secara eksplisit |
Hal yang tidak dikendalikan oleh mode dengan hak istimewa lebih tinggi
- Kebijakan alat: jika
execditolak oleh kebijakan alat, mode dengan hak istimewa lebih tinggi tidak dapat mengesampingkannya. - Kebijakan pemilihan host: mode dengan hak istimewa lebih tinggi tidak mengubah
automenjadi penggantian lintas host secara bebas. Mode ini menggunakan aturan target exec yang dikonfigurasi/ditetapkan untuk sesi dan hanya memilihnodejika targetnya memang sudahnode. - Terpisah dari
/exec: direktif/execmenyesuaikan nilai bawaan exec per sesi (host, keamanan, ask, node) untuk pengirim yang berwenang dan tidak memerlukan mode dengan hak istimewa lebih tinggi.