Langsung ke konten utama

Mode Elevated

Saat agen berjalan di dalam sandbox, perintah exec miliknya dibatasi pada lingkungan sandbox. Mode elevated memungkinkan agen keluar dari sandbox dan menjalankan perintah di luar sandbox, dengan gerbang persetujuan yang dapat dikonfigurasi.
Mode elevated hanya mengubah perilaku saat agen berada dalam kondisi disandbox. Untuk agen yang tidak disandbox, exec sudah berjalan di host.

Direktif

Kontrol mode elevated per sesi dengan perintah slash:
DirektifFungsinya
/elevated onJalankan di luar sandbox pada path host yang dikonfigurasi, tetap gunakan persetujuan
/elevated askSama seperti on (alias)
/elevated fullJalankan di luar sandbox pada path host yang dikonfigurasi dan lewati persetujuan
/elevated offKembali ke eksekusi yang dibatasi sandbox
Juga tersedia sebagai /elev on|off|ask|full. Kirim /elevated tanpa argumen untuk melihat level saat ini.

Cara kerjanya

1

Periksa ketersediaan

Elevated harus diaktifkan di konfigurasi dan pengirim harus ada di allowlist:
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["user-id-123"],
        whatsapp: ["+15555550123"],
      },
    },
  },
}
2

Tetapkan level

Kirim pesan yang hanya berisi direktif untuk menetapkan default sesi:
/elevated full
Atau gunakan secara inline (berlaku hanya untuk pesan itu):
/elevated on run the deployment script
3

Perintah dijalankan di luar sandbox

Saat elevated aktif, panggilan exec keluar dari sandbox. Host efektifnya secara default adalah gateway, atau node ketika target exec yang dikonfigurasi/per sesi adalah node. Dalam mode full, persetujuan exec dilewati. Dalam mode on/ask, aturan persetujuan yang dikonfigurasi tetap berlaku.

Urutan resolusi

  1. Direktif inline pada pesan (berlaku hanya untuk pesan itu)
  2. Override sesi (ditetapkan dengan mengirim pesan yang hanya berisi direktif)
  3. Default global (agents.defaults.elevatedDefault dalam konfigurasi)

Ketersediaan dan allowlist

  • Gerbang global: tools.elevated.enabled (harus true)
  • Allowlist pengirim: tools.elevated.allowFrom dengan daftar per channel
  • Gerbang per agen: agents.list[].tools.elevated.enabled (hanya dapat membatasi lebih lanjut)
  • Allowlist per agen: agents.list[].tools.elevated.allowFrom (pengirim harus cocok dengan global + per agen)
  • Fallback Discord: jika tools.elevated.allowFrom.discord dihilangkan, channels.discord.allowFrom digunakan sebagai fallback
  • Semua gerbang harus lolos; jika tidak, elevated dianggap tidak tersedia
Format entri allowlist:
PrefixCocok dengan
(tidak ada)ID pengirim, E.164, atau field From
name:Nama tampilan pengirim
username:Username pengirim
tag:Tag pengirim
id:, from:, e164:Penargetan identitas eksplisit

Yang tidak dikontrol oleh elevated

  • Kebijakan tool: jika exec ditolak oleh kebijakan tool, elevated tidak dapat menimpanya
  • Kebijakan pemilihan host: elevated tidak mengubah auto menjadi override lintas host bebas. Ia menggunakan aturan target exec yang dikonfigurasi/per sesi, memilih node hanya ketika targetnya sudah node.
  • Terpisah dari /exec: direktif /exec menyesuaikan default exec per sesi untuk pengirim yang berwenang dan tidak memerlukan mode elevated

Terkait