Vai al contenuto principale

Modalità elevata

Quando un agente viene eseguito all’interno di una sandbox, i suoi comandi exec sono confinati all’ambiente sandbox. La modalità elevata consente all’agente di uscire dalla sandbox ed eseguire comandi all’esterno, con controlli di approvazione configurabili.
La modalità elevata cambia comportamento solo quando l’agente è in sandbox. Per gli agenti non in sandbox, exec viene già eseguito sull’host.

Direttive

Controlla la modalità elevata per sessione con i comandi slash:
DirettivaCosa fa
/elevated onEsegue fuori dalla sandbox sul percorso host configurato, mantenendo le approvazioni
/elevated askUguale a on (alias)
/elevated fullEsegue fuori dalla sandbox sul percorso host configurato e salta le approvazioni
/elevated offTorna all’esecuzione confinata nella sandbox
Disponibile anche come /elev on|off|ask|full. Invia /elevated senza argomento per vedere il livello corrente.

Come funziona

1

Controllare la disponibilità

La modalità elevata deve essere abilitata nella configurazione e il mittente deve essere nella allowlist:
{
  tools: {
    elevated: {
      enabled: true,
      allowFrom: {
        discord: ["user-id-123"],
        whatsapp: ["+15555550123"],
      },
    },
  },
}
2

Impostare il livello

Invia un messaggio contenente solo la direttiva per impostare il valore predefinito della sessione:
/elevated full
Oppure usala inline (si applica solo a quel messaggio):
/elevated on esegui lo script di deploy
3

I comandi vengono eseguiti fuori dalla sandbox

Con la modalità elevata attiva, le chiamate exec escono dalla sandbox. L’host effettivo è gateway per impostazione predefinita, oppure node quando il target exec configurato/di sessione è node. In modalità full, le approvazioni exec vengono saltate. In modalità on/ask, continuano ad applicarsi le regole di approvazione configurate.

Ordine di risoluzione

  1. Direttiva inline nel messaggio (si applica solo a quel messaggio)
  2. Override di sessione (impostato inviando un messaggio contenente solo una direttiva)
  3. Valore predefinito globale (agents.defaults.elevatedDefault nella configurazione)

Disponibilità e allowlist

  • Controllo globale: tools.elevated.enabled (deve essere true)
  • Allowlist del mittente: tools.elevated.allowFrom con elenchi per canale
  • Controllo per agente: agents.list[].tools.elevated.enabled (può solo restringere ulteriormente)
  • Allowlist per agente: agents.list[].tools.elevated.allowFrom (il mittente deve corrispondere sia a quella globale sia a quella per agente)
  • Fallback Discord: se tools.elevated.allowFrom.discord viene omesso, come fallback viene usato channels.discord.allowFrom
  • Tutti i controlli devono essere superati; altrimenti la modalità elevata è considerata non disponibile
Formati delle voci allowlist:
PrefissoCorrisponde a
(nessuno)ID mittente, E.164 o campo From
name:Nome visualizzato del mittente
username:Username del mittente
tag:Tag del mittente
id:, from:, e164:Targeting esplicito dell’identità

Cosa la modalità elevata non controlla

  • Policy dello strumento: se exec è negato dalla policy dello strumento, la modalità elevata non può aggirarla
  • Policy di selezione dell’host: la modalità elevata non trasforma auto in un override libero tra host. Usa le regole del target exec configurato/di sessione, scegliendo node solo quando il target è già node.
  • Separata da /exec: la direttiva /exec regola i valori predefiniti di exec per sessione per i mittenti autorizzati e non richiede la modalità elevata

Correlati