Tools
Modalità elevata
Quando un agent viene eseguito dentro una sandbox, i suoi comandi exec sono confinati
all'ambiente sandbox. La modalità elevata consente all'agent di uscire ed eseguire invece comandi
fuori dalla sandbox, con gate di approvazione configurabili.
Direttive
Controlla la modalità elevata per sessione con comandi slash:
| Direttiva | Cosa fa |
|---|---|
/elevated on |
Esegue fuori dalla sandbox sul percorso host configurato, mantenendo le approvazioni |
/elevated ask |
Uguale a on (alias) |
/elevated full |
Esegue fuori dalla sandbox sul percorso host configurato e salta le approvazioni |
/elevated off |
Torna all'esecuzione confinata nella sandbox |
Disponibile anche come /elev on|off|ask|full.
Invia /elevated senza argomento per vedere il livello corrente.
Come funziona
Verifica la disponibilità
La modalità elevata deve essere abilitata nella configurazione e il mittente deve essere nell'allowlist:
{
tools: {
elevated: {
enabled: true,
allowFrom: {
discord: ["user-id-123"],
whatsapp: ["+15555550123"],
},
},
},
}
Imposta 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 run the deployment script
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 la destinazione exec configurata/di sessione è
node. In modalità full, le approvazioni exec vengono saltate. In modalità on/ask,
le regole di approvazione configurate continuano ad applicarsi.
Ordine di risoluzione
- Direttiva inline nel messaggio (si applica solo a quel messaggio)
- Override di sessione (impostato inviando un messaggio contenente solo la direttiva)
- Predefinito globale (
agents.defaults.elevatedDefaultnella configurazione)
Disponibilità e allowlist
- Gate globale:
tools.elevated.enabled(deve esseretrue) - Allowlist mittente:
tools.elevated.allowFromcon elenchi per canale - Gate per agent:
agents.list[].tools.elevated.enabled(può solo restringere ulteriormente) - Allowlist per agent:
agents.list[].tools.elevated.allowFrom(il mittente deve corrispondere sia a quella globale sia a quella per agent) - Fallback Discord: se
tools.elevated.allowFrom.discordviene omesso,channels.discord.allowFromviene usato come fallback - Tutti i gate devono passare; altrimenti la modalità elevata viene trattata come non disponibile
Formati delle voci allowlist:
| Prefisso | Corrisponde a |
|---|---|
| (nessuno) | ID mittente, E.164 o campo From |
name: |
Nome visualizzato del mittente |
username: |
Nome utente del mittente |
tag: |
Tag del mittente |
id:, from:, e164: |
Targeting esplicito dell'identità |
Cosa non controlla la modalità elevata
- Policy degli strumenti: se
execviene negato dalla policy degli strumenti, la modalità elevata non può ignorarla. - Policy di selezione dell'host: la modalità elevata non trasforma
autoin un override libero tra host. Usa le regole della destinazione exec configurata/di sessione, scegliendonodesolo quando la destinazione è giànode. - Separata da
/exec: la direttiva/execregola i valori predefiniti exec per sessione per i mittenti autorizzati e non richiede la modalità elevata.