Tools
Modalità con privilegi elevati
Quando un agente viene eseguito all'interno di una sandbox, i suoi comandi exec sono confinati all'ambiente della sandbox. La modalità elevata consente invece all'agente di uscirne ed eseguire comandi al di fuori della sandbox, con controlli di approvazione configurabili.
Direttive
Controlla la modalità elevata per ogni sessione con i comandi slash:
| Direttiva | Funzione |
|---|---|
/elevated on |
Esegue al di fuori della sandbox nel percorso dell'host configurato, mantenendo le approvazioni |
/elevated ask |
Equivale a on (alias) |
/elevated full |
Esegue al di fuori della sandbox nel percorso dell'host configurato e ignora le approvazioni se la politica di approvazione per modalità/host è già permissiva |
/elevated off |
Ripristina l'esecuzione confinata alla sandbox |
Disponibile anche come /elev on|off|ask|full.
Invia /elevated senza argomenti per visualizzare il livello corrente.
Funzionamento
Verificare la disponibilità
La modalità elevata deve essere abilitata nella configurazione e il mittente deve essere nell'elenco degli elementi consentiti:
{ tools: { elevated: { enabled: true, allowFrom: { discord: ["user-id-123"], whatsapp: ["+15555550123"], }, }, },}Impostare il livello
Invia un messaggio contenente solo la direttiva per impostare il valore predefinito della sessione:
/elevated fullIn alternativa, usala all'interno del messaggio (si applica solo a quel messaggio):
/elevated on esegui lo script di distribuzioneI comandi vengono eseguiti al di fuori della sandbox
Quando la modalità elevata è attiva, le chiamate exec escono dalla sandbox. Per impostazione predefinita, l'host effettivo è
gateway, oppure node quando la destinazione exec configurata o della sessione è
node. In modalità full, le approvazioni di exec vengono ignorate quando la politica di approvazione
risolta per la modalità/l'host è già completamente permissiva (sicurezza full,
richiesta off); in caso contrario, continua ad applicarsi la normale politica di approvazione. In modalità
on/ask, si applicano sempre le regole di approvazione configurate.
Ordine di risoluzione
- Direttiva incorporata nel messaggio (si applica solo a quel messaggio)
- Sostituzione della sessione (impostata inviando un messaggio contenente solo la direttiva)
- Valore predefinito globale (
agents.defaults.elevatedDefaultnella configurazione)
Disponibilità ed elenchi degli elementi consentiti
- Controllo globale:
tools.elevated.enabled(deve esseretrue) - Elenco dei mittenti consentiti:
tools.elevated.allowFromcon elenchi per canale - Controllo per agente:
agents.list[].tools.elevated.enabled(può solo applicare ulteriori restrizioni; sia il controllo globale sia quello per agente devono esseretrue) - Elenco consentito per agente:
agents.list[].tools.elevated.allowFrom(il mittente deve corrispondere sia all'elenco globale sia a quello per agente) - Elenco consentito di riserva fornito dal canale: i Plugin del canale possono facoltativamente fornire un elenco consentito di riserva tramite un hook dell'adattatore SDK, utilizzato quando
tools.elevated.allowFrom.<provider>non è configurato. Attualmente nessun canale incluso implementa questo hook, quindi in pratica ogni provider necessita oggi di una voce esplicitatools.elevated.allowFrom.<provider>. - Tutti i controlli devono essere superati; in caso contrario, la modalità elevata viene considerata non disponibile
Formati delle voci dell'elenco consentito:
| Prefisso | Corrispondenza |
|---|---|
| (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: |
Selezione esplicita dell'identità |
Cosa non controlla la modalità elevata
- Politica degli strumenti: se
execè negato dalla politica degli strumenti, la modalità elevata non può ignorarla. - Politica di selezione dell'host: la modalità elevata non trasforma
autoin una sostituzione libera tra host. Utilizza le regole configurate o della sessione per la destinazioneexec, scegliendonodesolo quando la destinazione è giànode. - Separata da
/exec: la direttiva/execregola i valori predefiniti diexecper sessione (host, sicurezza, richiesta, node) per i mittenti autorizzati e non richiede la modalità elevata.
Correlati
Esecuzione dei comandi shell dall'agente.
Sistema di approvazione e di elenchi consentiti per exec.
Configurazione della sandbox a livello di Gateway.
Come si combinano i tre controlli durante una chiamata a uno strumento.