CLI
La riga di comando di beeuni, il suo modello di autenticazione, il ciclo di sviluppo e tutti i comandi.
L’interfaccia a riga di comando (CLI) di beeuni controlla Beeuni da un terminale, sul tuo laptop o in una sandbox di sessione. Questa pagina illustra il ciclo di sviluppo quotidiano, poi elenca tutti i comandi e i flag stabili.
Installazione
curl -fsSL https://beeuni.ai/install | bash
Il programma di installazione scarica un binario precompilato per macOS e Linux. Windows non è supportato.
| Comando | Effetto |
|---|---|
beeuni update |
Esegue di nuovo lo script di installazione e scarica il binario più recente. |
beeuni uninstall [-y|--yes] [--keep-auth] [--keep-home] |
Rimuove il binario, lo shim /usr/local/bin e il token memorizzato. --keep-auth conserva il token. --keep-home conserva ~/.beeuni. |
beeuni version |
Stampa la versione della CLI. |
Modello di autenticazione
Beeuni memorizza l’autenticazione per host, non globalmente. Un host è un endpoint API di Beeuni. Usa cloud per connetterti a Beeuni.
Il file di configurazione si trova in ~/.config/beeuni/config.json, con modalità 0600. Puoi modificarne il percorso con BEEUNI_CONFIG_FILE.
La CLI segue una gerarchia: host → account → progetto → sessione. Accedi a un host, scegli un account al suo interno, scegli un progetto nell’account e apri sessioni nel progetto. beeuni hosts login esegue in ordine i primi tre passaggi: ti fa accedere, sceglie l’account e imposta un progetto predefinito.
Ogni token inizia con beeuni_pat_. Un token utente, ottenuto con beeuni login, consente di vedere tutti gli account e i progetti di cui fai parte. Un token di progetto viene creato automaticamente per una sandbox di sessione ed è limitato a un solo progetto. Vedi Ambito del token.
Il ciclo di sviluppo
Questo ciclo presuppone che la CLI sia installata e che tu abbia eseguito beeuni login. Per la configurazione, vedi Avvio rapido.
Collega un repository
Avvia un nuovo progetto oppure collega a un progetto una cartella di un repository esistente.
Per creare un nuovo progetto:
beeuni init my-app
cd my-appbeeuni init crea una directory di progetto con lo starter generico. Il suo
beeuni.yaml dichiara beeuni_version: 2 ed esegue l’harness del runtime predefinito.
Per collegare un repository clonato esistente a un progetto già creato:
beeuni projects link <project-id>Questo comando scrive .beeuni/link.json nella directory corrente. Beeuni legge questo file per individuare il progetto a ogni comando eseguito da questa cartella. Se intendi eseguire prima beeuni ship, salta questo passaggio. Se non esiste alcun progetto, il comando ne collega uno nuovo.
Pubblica il tuo codice
beeuni shipbeeuni ship esegue il lint di beeuni.yaml, crea un commit delle modifiche locali, invia il tuo branch e chiede eventuali segreti o connessioni mancanti. Eseguilo ogni volta che vuoi portare le modifiche locali nel progetto cloud. La prima esecuzione crea anche il progetto cloud e il repository, se non ne hai ancora collegato uno.
Avvia e collegati alle sessioni
Avvia una sessione con un prompt:
beeuni sessions new --prompt "Build the login page" --waitOgni sessione viene eseguita nella propria sandbox e nel proprio branch. --wait resta in attesa finché la sessione non è pronta.
Collegati a una sessione dal terminale:
beeuni connectSenza un ID di sessione, beeuni connect (alias: attach) apre un selettore di sessione per il progetto associato: le sessioni in esecuzione si collegano subito, quelle interrotte vengono prima avviate e + New session avvia una nuova sandbox. Poi apre l’interfaccia TUI completa del runtime predefinito collegata a quella sessione. Passa un ID per saltare il selettore:
beeuni connect <session-id>.
La CLI gestisce per te il binario opencode: al primo collegamento scarica la versione esatta in esecuzione sul server della sessione e la memorizza nella cache in ~/.beeuni/opencode/<version>/, così la TUI e il server usano sempre la stessa versione. Imposta
BEEUNI_OPENCODE_BIN per forzare l’uso di un tuo binario.
Una sessione con l’harness pi non ha un server del runtime predefinito.
beeuni connect restituisce il codice di uscita 1 in questo caso, con il messaggio This session's runtime does not support attaching a terminal client.
Per una chat testuale più leggera, invece della TUI completa, esegui:
beeuni sessions chatSi apre una chat interattiva con la sessione più recente. Aggiungi un ID per selezionare una sessione specifica: beeuni sessions chat <id>.
Per usare dal terminale l’intero prodotto — l’elenco delle sessioni, la trascrizione e il compositore, una shell nella sandbox e le schermate File, Revisione, App, Personalizza e Account — esegui il client terminale sperimentale:
beeuni tui # or: beeuni t, or beeunit
beeunit --project <id> --new --terminal # new session + sandbox shell, one commandAccede usando l’host a cui sei già connesso. Vedi la pagina della TUI.
Per aprire una shell diretta nella sandbox, senza agenti, esegui:
beeuni sessions shellPuoi elencare in qualsiasi momento le sessioni in esecuzione:
beeuni sessions lsEsamina con richieste di modifica
Un agente apre una richiesta di modifica (CR) quando la sessione ha commit pronti per l’unione. Puoi elencarle, esaminarle e unirle dalla CLI.
beeuni cr ls
beeuni cr diff 1
beeuni cr merge 1beeuni cr ls elenca le richieste di modifica del progetto collegato. beeuni cr diff <cr> mostra la patch unificata. beeuni cr merge <cr> la unisce al branch predefinito del progetto. Accetta un numero di CR o il suo ID completo.
Riferimento
Comandi di autenticazione
| Comando | Effetto |
|---|---|
beeuni login [--host <name>] [--api <url>] [--token <pat>] [--account <slug>] [--no-project] |
Accede all’host attivo o a quello specificato. Per impostazione predefinita apre un browser; --token esegue l’accesso senza interfaccia grafica. --no-project salta la scelta del progetto predefinito. |
beeuni logout [--host <name>] |
Rimuove il token dell’host attivo o di quello specificato. |
beeuni whoami [--host <name>] [--json] [--token-only] |
Stampa l’utente connesso e l’account attivo. |
beeuni token [--host <name>] |
Scorciatoia per beeuni whoami --token-only. |
beeuni hosts login / hosts logout / hosts whoami sono le forme canoniche. login / logout / whoami sono scorciatoie che agiscono sull’host attivo.
Host
| Comando | Effetto |
|---|---|
beeuni hosts ls [--json] |
Elenca tutti gli host e il relativo stato di autenticazione. |
beeuni hosts login [<name>] [--token <pat>] [--api <url>] [--account <slug>] [--no-project] |
Accede a un host. Se il nome non è noto, registra prima l’host. |
beeuni hosts logout [<name>] |
Rimuove il token di un host. |
beeuni hosts use <name> |
Cambia l’host attivo. |
beeuni hosts add <name> --url <url> [--dashboard-url <url>] [--login] |
Registra un nuovo host. --login esegue subito l’accesso. |
beeuni hosts rm <name> [--force] |
Rimuove un host. |
beeuni hosts info [<name>] [--json] |
Mostra i dettagli di un host. |
beeuni hosts current [--json] |
Stampa il nome dell’host attivo. |
L’URL di un host remoto che inizia con http:// viene convertito in https://. La CLI non invia mai token a un host remoto tramite HTTP non cifrato. localhost fa eccezione.
Account
| Comando | Effetto |
|---|---|
beeuni accounts ls [--json] |
Elenca gli account di cui fai parte sull’host attivo. |
beeuni accounts use [<slug-or-id>] |
Cambia l’account attivo. |
beeuni accounts current [--json] |
Stampa l’account attivo. |
beeuni accounts info [<slug-or-id>] [--json] |
Mostra un account. |
Membri
Chi fa parte dell’account e quale ruolo ricopre nell’account. I ruoli sono owner,
admin e member. Proprietari e amministratori hanno implicitamente il ruolo Manager in ogni progetto, quindi member è l’unico ruolo a cui vengono assegnate autorizzazioni per singolo progetto.
| Comando | Effetto |
|---|---|
beeuni members ls [--json] |
Elenca i membri, i ruoli e il numero di progetti. |
beeuni members invite <email> --role admin|member [--project <id>:<role>] |
Invita tramite email. Un utente Beeuni esistente viene aggiunto subito; chiunque altro riceve via email un link di invito. --project può essere ripetuta e viene applicata quando l’invito è accettato. Richiede member.invite. |
beeuni members set-role <user|email> --role owner|admin|member |
Modifica il ruolo nell’account. Richiede member.update; solo il proprietario può assegnare il ruolo owner. |
beeuni members rm <user|email> [-y|--yes] |
Rimuove un membro e revoca i suoi token. Richiede member.remove. |
beeuni members super-admin <user|email> on|off |
Concede o revoca l’esenzione super-admin. Richiede member.super_admin.grant. |
beeuni members invites ls [--json] |
Elenca gli inviti in sospeso che hai inviato. |
beeuni members invites cancel <invite-id> |
Annulla un invito in sospeso. |
beeuni members invites resend <invite-id> |
Invia di nuovo l’email e aggiorna la scadenza di 14 giorni. |
Un <user> è un ID utente o l’email di una persona già presente nell’account.
Opzioni: --account <id>, --host <name>, --json, -y.
Gruppi
Un gruppo di account è un insieme di persone a cui assegni un ruolo una sola volta. Associa un gruppo a un ambito con beeuni access grant --group <id> --role <key>; revoca con beeuni access revoke <assignment-id>.
| Comando | Effetto |
|---|---|
beeuni groups ls [--json] |
Elenca i gruppi con il numero di membri e progetti. |
beeuni groups create <name> [--description <t>] |
Crea un gruppo. |
beeuni groups set <group> [--name <n>] [--description <t>|--no-description] |
Rinomina un gruppo o ne modifica la descrizione. |
beeuni groups rm <group> [-y|--yes] |
Elimina un gruppo. Le relative autorizzazioni vengono eliminate con esso. |
beeuni groups members <group> [--json] |
Elenca i membri di un gruppo. |
beeuni groups add <group> <user>... |
Aggiunge una o più persone. |
beeuni groups remove <group> <user> |
Rimuove una persona. |
beeuni groups projects <group> [--json] |
Mostra a quali progetti ha accesso il gruppo e con quale ruolo. |
Un <group> è un ID di gruppo o il suo nome esatto. Per le operazioni di lettura serve group.read.
Per create, set e add serve group.update o group.members.manage, oltre all’autorizzazione enterprise rbac. rm e remove servono per la pulizia e non sono mai soggetti a limitazioni di autorizzazione.
Token
Credenziali non interattive per l’account. Per le operazioni di lettura serve token.read. Ogni membro dell’account può creare e revocare le proprie chiavi personali (token.personal.create, token.personal.revoke); una chiave personale agisce come te e non ha mai più ruoli dei tuoi. Per gli account di servizio e le chiavi di altre persone servono token.create / token.revoke (owner e admin).
| Comando | Effetto |
|---|---|
beeuni tokens ls [--mine] [--json] |
Elenca le chiavi API personali dell’account. --mine limita l’elenco a quelle che hai creato. |
beeuni tokens new <name> [--expires <when>] [--project <id>] |
Crea una chiave. Il segreto viene mostrato una sola volta. --project la associa a un solo progetto, da cui non potrà mai uscire. |
beeuni tokens rm <token-id> [-y|--yes] |
Revoca immediatamente una chiave. |
beeuni tokens apps ls [--json] |
Elenca le app collegate: le app e i client MCP che hai approvato con Sign in with Beeuni, in tutti gli account. |
beeuni tokens apps rm <client-id> [-y|--yes] [--json] |
Revoca un’app collegata: i suoi token smettono subito di funzionare e l’app dovrà chiederti di nuovo l’autorizzazione. |
beeuni tokens service-accounts ls [--json] |
Elenca gli account di servizio. |
beeuni tokens service-accounts new <name> [--description <t>] [--expires <when>] |
Crea un account di servizio. Il token bearer viene mostrato una sola volta. |
beeuni tokens service-accounts disable <id> |
Disabilita un account di servizio: non può più autorizzare operazioni. Per ripristinarlo, eliminalo e ricrealo. |
beeuni tokens service-accounts rm <id> [-y|--yes] |
Elimina definitivamente un account di servizio. |
Una chiave API personale agisce come te e smette di funzionare quando termina la tua appartenenza. Un account di servizio agisce per conto proprio e non eredita alcun accesso: un account nuovo non dispone di autorizzazioni. Concedigliene una con beeuni access grant --service-account <id> --role <key>.
--expires <when> accetta una data ISO-8601 o una durata futura: 30d, 12h, 6w, 1y.
Fatturazione
Leggi il piano, i crediti e le spese dell’account attivo. Sola lettura: per modificare i piani, ricaricare il saldo e gestire i metodi di pagamento, usa la dashboard.
| Comando | Effetto |
|---|---|
beeuni billing status [--json] |
Piano, crediti, postazioni e abbonamento. |
beeuni billing transactions [--limit <n>] [--offset <n>] [--type <a,b>] [--json] |
Registro dei crediti, dal più recente. Numero predefinito di risultati per pagina: 50. |
beeuni billing transactions --summary|--breakdown|--usage [--days <n>] |
Crediti in entrata/uscita, ripartizione del saldo (in scadenza/senza scadenza/giornaliero) o riepilogo dell’utilizzo dei crediti. --days definisce l’intervallo per --summary e --usage; il valore predefinito è 30. |
beeuni billing costs [--since <iso>] [--until <iso>] [--json] |
Spesa dell’account in un intervallo, con ripartizione per modello. Intervallo predefinito: 30 giorni, semiaperto [from, to) UTC. |
beeuni billing costs --by project|session [--sort <k>] [--limit <n>] [--offset <n>] [--csv <file>] |
Raggruppa le spese per progetto o sessione. --sort accetta total_desc (predefinito), total_asc, recent o name_asc (solo --by project). Per --csv serve --by. |
Filtri: --project <id>, --session <id> e --owner <id> (sessioni, con --by session). Opzioni: --account <id>, --host <name>, --json.
Progetti
Un comando individua «il progetto» in quest’ordine:
- Il flag
--project. - La variabile d’ambiente
BEEUNI_PROJECT_ID. .beeuni/link.jsonnella directory di lavoro esatta.- Il valore predefinito globale impostato da
beeuni projects use.
| Comando | Effetto |
|---|---|
beeuni projects ls [--all] [--query <text>] [--json] |
Elenca i progetti dell’account attivo. --all include tutti gli account di cui fai parte. --query (alias -q) filtra per nome, ID o repository. |
beeuni projects info [<id>] [--json] |
Mostra un progetto. Predefinito: il progetto collegato o quello predefinito. |
beeuni projects use [<id>] |
Imposta il progetto predefinito globale. Se il progetto si trova in un altro account, passa a quell’account. |
beeuni projects unset |
Cancella il progetto predefinito globale. |
beeuni projects link [<id>] |
Collega la directory corrente a un progetto. Scrive .beeuni/link.json. |
beeuni projects unlink |
Rimuove .beeuni/link.json. |
beeuni projects open [<id>] |
Apre nel browser la pagina della dashboard di un progetto. |
beeuni projects clone [<id>] [dir] |
Clona il repository di un progetto tramite il proxy Git autenticato di Beeuni. |
beeuni projects rm [<id>] [-y|--yes] |
Elimina un progetto e il relativo repository Git gestito da Beeuni. I repository collegati autonomamente non vengono mai modificati. |
beeuni projects set [<id>] [--name <n>] [--branch <b>] [--manifest <path>] [--json] |
Aggiorna le impostazioni di un progetto. Vengono scritti solo i campi specificati. Se non specifichi alcun campo, esce da 2. Alias: update. |
beeuni projects set [<id>] --icon <emoji>|--no-icon|--glyph <name>:<color>|--no-glyph |
Imposta o rimuove l’icona del progetto. |
beeuni projects rename [<id>] <name> |
Alias di beeuni projects set --name <name>. |
beeuni projects features [ls] [--json] |
Elenca tutti i flag delle funzionalità con chiave, stato, origine e livello di stabilità. |
beeuni projects features enable|disable|reset <flag> |
Imposta l’override del progetto su attivo o disattivo, oppure lo cancella affinché il flag segua il valore predefinito della piattaforma. |
beeuni projects cli-tokens ls [--json] |
Elenca i token CLI del progetto. |
beeuni projects cli-tokens new [--name <name>] [--expires-at <iso>] |
Crea un token CLI associato al progetto. Il segreto viene mostrato una sola volta. |
beeuni projects cli-tokens rm <token-id> [-y|--yes] |
Revoca un token CLI del progetto. |
beeuni projects upgrade [<id>] [--json] |
Avvia la sessione dell’agente che migra un beeuni.toml v1 a un beeuni.yaml v2 e apre una richiesta di modifica. |
Un progetto mostra una sola icona: scrivendo --icon si cancella il glifo e scrivendo --glyph si cancella l’emoji; non è consentito specificarli entrambi. Colori dei glifi: grey, red, orange, yellow, lime, blue, purple, magenta. Per set e features serve project.settings.write. Un flag che la piattaforma contrassegna come non disponibile resta disattivato, indipendentemente dall’override del progetto.
Un token CLI del progetto è associato a un solo progetto: l’API lo rifiuta ovunque altro. Un ambiente sandbox di sessione usa il proprio BEEUNI_TOKEN associato alla sessione. Per cli-tokens ls serve l’accesso in lettura al progetto; per new e rm serve project.credentials.issue. Un token associato a una sessione non può creare né revocare token del progetto (403), indipendentemente dal fatto che il progetto dichiari degli agenti. Un token CLI del progetto segue le regole PAT dell’account: se l’account richiede una scadenza, specifica --expires-at; una scadenza oltre la durata massima restituisce 400.
beeuni projects upgrade richiede l’accesso in scrittura al progetto. L’agente predefinito aggiorna la versione di riferimento del marketplace, riscrive il manifesto, esegue beeuni validate e apre una richiesta di modifica. Non esegue mai il merge: la differenza viene revisionata da una persona.
Struttura iniziale del progetto
beeuni init [project-name] [options] crea una nuova directory di progetto. Il modello iniziale genera un beeuni.yaml v2, agents/, skills/, memory/ e harnesses/opencode/. Il comando può configurare il rilevamento degli strumenti di programmazione locali senza modificare il runtime predefinito. Il comando non scrive .beeuni/link.json. beeuni ship o beeuni projects link creano quel file.
| Flag | Significato |
|---|---|
--name <project> |
Nome del progetto. |
--primary <agent> |
Agente principale. |
--agents <csv> |
Integrazioni degli agenti di programmazione locali da configurare. |
--force |
Configura la directory corrente senza creare una nuova struttura iniziale. |
--overwrite |
Sovrascrive i file esistenti. |
--no-git |
Salta l’inizializzazione di Git. |
-y, --yes |
Non richiede conferma. |
La selezione degli strumenti di programmazione locali non modifica il runtime predefinito.
beeuni init non include un selettore di marketplace. Per aggiungere una competenza dal marketplace, chiedi all’agente di importarla avviando una sessione.
Pubblicazione
beeuni ship prepara, esegue il commit e invia il branch corrente al repository Git del progetto. Eseguilo una volta per creare il progetto. Eseguilo di nuovo in qualsiasi momento per sincronizzare le modifiche. Alias: beeuni deploy.
A ogni esecuzione:
- Esegue i controlli
beeuni validate:beeuni.yamlunito a ogni file elencato inimports:, ai Dockerfile delle sandbox, al collegamento degli agenti e alle dimensioni del repository (salta con--no-verify). Un errore interrompe la pubblicazione. Un avviso non la interrompe mai. - Esegue il commit di eventuali modifiche non salvate nell’albero di lavoro (salta con
--no-commit). - Chiede eventuali secret
envmancanti (salta con--no-env). - Esegue il push del branch corrente sul branch remoto con lo stesso nome.
- Connette tutti i connettori dichiarati che richiedono ancora l’autenticazione (salta con
--no-connect).
Un origin GitHub esistente viene collegato tramite l’app GitHub di Beeuni. Qualsiasi altro origin esistente viene registrato così com’è. Se non è presente alcun origin, viene creato un repository Git gestito da Beeuni.
| Opzione | Effetto |
|---|---|
--name <project> |
Nome visualizzato per un nuovo progetto. |
--account <id|slug> |
Account in cui creare il progetto (solo al primo ship). |
--origin <managed|git-url> |
Sovrascrive la scelta dell’origine dedotta. |
--github-token <pat> |
Collega un’origine GitHub con questo token invece che con l’app GitHub. |
-m, --message <text> |
Messaggio di commit. |
--no-commit / --no-verify / --no-env / --no-connect |
Salta quel passaggio. |
-y, --yes |
Non chiedere conferma. |
-n, --dry-run |
Mostra cosa accadrebbe senza apportare modifiche. |
--project <id> / --host <name> |
Scegli un progetto o un host non predefinito. |
App
Apps ospita siti statici, server, processi e database. Ogni App ha un URL stabile. Una release contiene codice e configurazione; una distribuzione fallita non sostituisce la release attiva.
beeuni apps list
beeuni apps show main
beeuni apps connect main
beeuni apps launch --template convex --slug main
beeuni apps deploy dist --type static --spa
beeuni apps machines main
beeuni apps volumes main
Collega le App con uses e gli esempi di beeuni apps connect. Non inserire credenziali amministrative nel codice client.
Le risorse attive consumano crediti dell’account. Controlla Billing e Usage. Apps non ha un budget mensile separato.
Sessioni
Ogni sessione viene eseguita in una sandbox sul proprio branch.
| Comando | Effetto |
|---|---|
beeuni sessions ls [--mine|--shared|--automated] [--search <q>] [--label <label>]... [--json] |
Elenca le sessioni. --label può essere ripetuto; una sessione deve avere tutte le etichette specificate. La colonna LABELS viene visualizzata se una delle sessioni elencate ha delle etichette. |
beeuni sessions status [--all] [--json] |
Tutte le sessioni e cosa sta facendo in questo momento il relativo agente. Alias: overview, ps. |
beeuni sessions info <id> [--json] |
Vista dettagliata: stato, branch, agente, URL della sandbox. |
beeuni sessions new [--prompt "<text>"] [--agent <name>] [--model <id>] [--wait] [--connect] [--json] |
Avvia una sessione. --connect apre l’interfaccia TUI del runtime predefinito quando è pronta (implica --wait); in un terminale interattivo, se non è specificato, la CLI chiede se connettersi dopo la creazione. --model <id> sostituisce il modello predefinito del progetto; un modello che usa una chiave API o un abbonamento ChatGPT usa tutte le chiavi che puoi usare per quel modello, alternandole. --wait attende finché non è in esecuzione (fino a ~5 minuti). Usa --secret <id> o --no-secrets per limitare l’accesso ai Secret. Questi flag per i Secret richiedono un token backend. Usa --connector <alias>=<authorization-id> o --no-connectors per impostare l’accesso ai Connector. Usa --require-connector <alias> per richiedere un’autorizzazione prima del provisioning. I flag di ambito possono essere ripetuti. Usa --context <key>=<value> per il contesto runtime non segreto. --label <label> (ripetibile) classifica la sessione; --meta <key>=<value> (ripetibile) memorizza una stringa nei metadati. |
beeuni sessions chat [<id>] [--prompt "<text>"] [--queue | --steer] [--new] [--agent <name>] [--json] |
Comunica con l’agente di una sessione. Interattivo per impostazione predefinita. Alias: talk. È disponibile anche beeuni chat di primo livello. --queue è solo per un singolo messaggio: salva il prompt nella casella di posta persistente della sessione e termina non appena viene salvato, senza passarlo al runtime. --steer lo salva allo stesso modo e il turno in corso lo legge al passaggio successivo, senza interrompersi. Se non è in corso alcun turno, ne avvia uno. Una sessione che non può essere guidata lo esegue come --queue. |
beeuni sessions connect [<id>] [-- <opencode args>] |
Collega l’interfaccia TUI del runtime predefinito al server del runtime predefinito della sessione. Disponibile anche al primo livello: beeuni connect / beeuni attach. Se non si specifica un ID, apre un selettore di sessioni (in esecuzione, arrestata con riavvio o nuova). La CLI scarica automaticamente il binario opencode della versione corrispondente (cache: ~/.beeuni/opencode/<version>/; sostituzione: BEEUNI_OPENCODE_BIN). Una sessione pi non ha un server opencode: il comando termina con 1 e indica invece beeuni sessions shell e beeuni sessions chat. |
beeuni tui [--host <name>] [--project <id>] [--session <id>] [--new] [--agent <name>] [--terminal] [--no-sidebar] [--mouse] [--install] [--uninstall] |
Sperimentale. Apri il client terminale Beeuni: sessioni, trascrizione, compositore, shell sandbox, Files, Review, Apps, Customize e Account. Alias beeuni t e beeunit. --new crea una sessione nel progetto all’avvio (--agent seleziona l’agente), --terminal apre la shell sandbox già selezionata, --no-sidebar avvia senza barra laterale (Alt+B la mostra o nasconde), --mouse cede il controllo del mouse all’app (disattivato per impostazione predefinita, così continuano a funzionare la selezione, la copia e i clic sui link del terminale). La TUI è un binario separato di ~80 MB; al primo avvio chiede conferma, poi installa beeuni-tui della versione corrispondente in ~/.beeuni/tui/<version>/; gli aggiornamenti successivi della CLI lo aggiornano senza chiedere e riutilizzano il binario se non è cambiato. --install lo installa senza chiedere, --uninstall lo rimuove. Usa l’host attivo, a meno che --host non ne indichi un altro; se non è stato effettuato l’accesso a nessun host, apre la propria schermata di accesso. ? mostra tutte le associazioni di tasti. Vedi /docs/cli#sessions. |
beeuni sessions shell [<id>] [--new] |
Apri un terminale interattivo puro nella sandbox, senza agente. Si ricollega al terminale esistente della sessione; --new ne avvia sempre uno nuovo. Alias: terminal, ssh. |
beeuni sessions shell <id> ls [--json] |
Elenca i terminali della sessione: ID, stato, comando. Non richiede un TTY. |
beeuni sessions shell <id> kill <pty-id> |
Termina un terminale. La shell di base viene riavviata al collegamento successivo; ciò che è in esecuzione al suo interno no. |
beeuni sessions forward <id> --port <sandbox>[:<local>] |
Inoltra una porta della sandbox al tuo computer, come in VS Code, così http://localhost:3000 stampato da un agente funziona nel tuo browser. --port può essere ripetuto; se non si specifica una porta locale, viene usato lo stesso numero se disponibile, altrimenti la successiva porta libera; :0 richiede una porta effimera assegnata dal sistema operativo. Vengono inoltrati sia HTTP sia WebSocket (il ricaricamento automatico del server di sviluppo funziona). Stampa una riga ⇄ localhost:N → sandbox:M per ogni inoltro e resta in primo piano finché non premi Ctrl+C. Non avvia una sessione arrestata: stampa invece la soluzione beeuni sessions restart. Alias: ports. |
beeuni sessions log [<id>] [--limit <n>] [--json] |
Stampa i messaggi recenti in sola lettura. Una sessione in esecuzione viene letta in tempo reale; una sessione arrestata viene letta dalla trascrizione salvata al termine di ogni turno, quindi non viene mai riattivata solo per leggerla. La fonte è indicata su stderr, perciò l’output di --json rimane invariato. Alias: messages, history. |
beeuni sessions attachments <id> [--download <attachment-id>|--all] [--out <dir>] [--json] |
Elenca e scarica i file salvati di una sessione: quelli allegati dagli utenti e le copie dei file mostrati dall’agente. Funziona anche se la sessione è arrestata: né l’elenco né i file richiedono la sandbox. I download non sovrascrivono i file esistenti; un nome già in uso diventa name (1).ext. |
beeuni sessions pending <id> [--json] |
Elenca le richieste aperte di autorizzazione agli strumenti o le domande. Alias: prompts. |
beeuni sessions approve <id> [<req-id>] [--always] [--reject] [--message "<text>"] |
Risponde a una richiesta di autorizzazione. |
beeuni sessions answer <id> [<req-id>] [--option <v>]... [--text "<text>"] [--reject] |
Risponde a una domanda. |
beeuni sessions digest [--since <7d>] [--json] |
Panoramica compatta per rivedere più sessioni. La trascrizione di una sessione arrestata proviene dalla copia salvata ed è contrassegnata con saved (e partial se la copia non arriva al primo messaggio). Alias: review, summary. |
beeuni sessions scope <id> [scope options] [--json] |
Legge o sostituisce l’accesso a Secret e Connector. Alias: access. Usa --secret <id>, --no-secrets o --inherit-secrets per i Secret. Usa --connector <alias>=<authorization-id> o --no-connectors per le associazioni ai Connector. Usa --require-connector <alias> o --no-required-connectors per i Connector obbligatori. Le categorie indicate sostituiscono i valori attuali. Le categorie omesse rimangono invariate. Le modifiche si applicano al prompt successivo. I valori Secret rimossi restano nel contesto esistente se la sessione li aveva già letti. |
beeuni sessions preview <id> [port] [--port <n>] [--list] [--json] |
Stampa un URL di anteprima cliccabile per una porta della sandbox. Porta predefinita: 3000. --list stampa invece i candidati specificati. |
beeuni sessions restart <id> |
Riavvia la sandbox della sessione. |
beeuni sessions rename <id> <name> |
Imposta il nome di una sessione. Passa "" per cancellarlo. |
beeuni sessions update [<id>] [--label <l>]... [--unlabel <l>]... [--clear-labels] [--meta <key>=<value>]... [--unmeta <key>]... [--json] |
Modifica le etichette e i metadati di una sessione. --label aggiunge, --unlabel rimuove, --clear-labels svuota prima l’elenco; --meta imposta una chiave stringa, --unmeta rimuove una chiave. Se non si specifica un ID, aggiorna $BEEUNI_SESSION_ID, consentendo a un agente di etichettare la sessione in cui è in esecuzione. Alias: label. |
beeuni sessions rm <id>... |
Arresta ed elimina una o più sessioni. |
beeuni sessions open <id> |
Apre nel browser la pagina del dashboard di una sessione. |
beeuni sessions stop <id> [--json] |
Mette in pausa una sessione. La sandbox si arresta senza essere rimossa e il disco viene conservato. Alias: pause. Richiede project.session.stop. |
beeuni sessions start <id> [--wait] [--json] |
Riattiva una sessione: crea una sandbox se manca, riprende quella arrestata e risolve il runtime. È idempotente. Alias: wake. --wait attende finché non è pronta (fino a ~5 min) e termina con 1 se la sessione finisce in stato di errore o arrestata. |
beeuni sessions warm [--exclude <id>] [--json] |
Crea in anticipo la sessione che stai per usare, così la sandbox è già pronta. Riutilizza una sessione warm esistente e inutilizzata. Una sessione warm resta nascosta da sessions ls fino al primo prompt. |
beeuni sessions model <id> <model-id> [--json] |
Cambia il modello usato da una sessione durante la sessione. Se la sandbox è attiva, viene reindirizzata e il runtime si riavvia, terminando il turno in corso; se la sessione è arrestata, il valore viene salvato per il prossimo avvio. Una sessione senza chiavi selezionate per il provider del nuovo modello riceve tutte le chiavi che puoi usare con quel provider. |
beeuni sessions compact <id> [--json] |
Riassume la conversazione finora e continua dal riepilogo. Una sessione il cui runtime non elenca session.compact esce con 1 come motivo. |
beeuni sessions queue <id> [ls] [--json] |
Elenca i prompt ancora in attesa nella casella di posta persistente della sessione. |
beeuni sessions queue <id> rm <prompt-id> |
Elimina un prompt in coda. L’operazione viene rifiutata (409) una volta che un passaggio del modello ha iniziato a rispondervi. |
beeuni sessions queue <id> now <prompt-id> |
Esegui per primo un prompt in coda: rimettilo in coda prima degli altri e rilascia il blocco della sessione. |
beeuni sessions queue <id> hold|release |
Blocca tutti i prompt in coda — ciò che scrive il pulsante Stop — oppure rilascia il blocco. |
beeuni sessions approvals <id> [ls] [--json] |
Elenca le chiamate ai connettori soggette a policy per cui questa sessione attende l’intervento umano. |
beeuni sessions approvals <id> approve|deny <execution-id> |
Consenti l’esecuzione di una chiamata a un connettore soggetta a policy oppure rifiutala. L’agente ne viene informato e continua senza di essa. |
beeuni sessions files <id> <subcommand> [--json] |
Leggi e modifica l’area di lavoro attiva della sandbox: ls [<path>], status, find <query>, write <path>, touch <path>, mkdir <path>, mv <from> <to>, rm <path>. |
beeuni sessions share <id> [--mode private|project|members] [--member <id|email>] [--group <id>] [--show] [--json] |
Imposta chi, all’interno di Beeuni, può aprire questa sessione. Se non si specifica --mode, mostra l’impostazione corrente senza modificarla. --member e --group possono essere ripetuti. |
beeuni sessions links <id> ls [--json] |
Elenca tutti i link pubblici mai creati per la sessione, dal più recente al meno recente. |
beeuni sessions links <id> create [options] |
Crea un link pubblico senza autenticazione per una porta di anteprima o un file dell’area di lavoro. |
beeuni sessions links <id> revoke <share-id> |
Disattiva un link pubblico. |
sessions queue richiede project.session.start, lo stesso permesso necessario per inviare un messaggio. Un prompt in coda resta disponibile anche dopo la chiusura del terminale e viene consegnato quando la sessione è in grado di riceverlo. Inseriscine uno con beeuni sessions chat <id> -p "…" --queue oppure orienta il turno in corso con --steer. sessions queue ls mostra DELIVERY di ogni prompt (steer, queue o interrupt) e, per un prompt di reindirizzamento eseguito come queue, il motivo: unsupported (la sessione non può ricevere messaggi durante un turno), not_prompter (è in corso il turno di un altro membro) o turn_ended.
sessions approvals sono persistenti: a differenza di sessions pending, sopravvivono al riavvio della sandbox. Per usarli serve project.members.manage oppure essere la persona che ha avviato la sessione. Un agente non può mai risolvere una propria approvazione.
sessions attachments legge l’archivio privato di file della sessione, non la sua area di lavoro. I file vi vengono salvati al momento dell’invio e tutti i file mostrati dall’agente vi vengono salvati al termine del turno.
sessions files legge l’albero di lavoro che l’agente sta modificando in quel momento, prima che venga eseguito un commit; beeuni files legge invece il repository con i commit. I percorsi vengono risolti in /workspace, a meno che non inizino con /workspace, /tmp, /home o /opt. Il comando riattiva la sandbox se è inattiva. Opzioni: --from <local path> (write legge questo file invece di stdin), --content (find cerca nei contenuti con ripgrep invece che nei nomi dei file), --limit <N> (limite di nomi file find) e -y per saltare la conferma rm.
sessions share è soggetto al controllo del proprietario: l’API rifiuta la richiesta di un responsabile di progetto che non abbia già accesso in lettura alla sessione. Una sessione condivisa viene eseguita solo con chiavi del provider condivise con l’intero progetto: un modello che usava le tue chiavi personali passa alle chiavi del progetto per quel provider; se nesbeeuni chiave del progetto consente di eseguirlo, la condivisione viene rifiutata (409 SHARED_SESSION_NEEDS_PROJECT_KEY).
Opzioni di sessions links create: --port <n> (predefinito 3000; 22, 8000 e le porte di opencode vengono rifiutate), --path <p> (predefinito /), --preview <id> (un candidato specifico — web, vite, dev-server, api-docs — invece di --port/--path), --file <path> (condividi un file dell’area di lavoro invece di un’anteprima; sempre in sola lettura), --mode view\|interactive (predefinito view; interactive consente scritture e websocket ed è ignorato per --file), --label <text> e --expires <iso>. Per creare un link serve il proprietario della sessione, perché il link non richiede accesso; per elencare e revocare i link è sufficiente anche un responsabile di progetto.
All’interno di una sandbox, BEEUNI_SESSION_ID è l’id della propria sessione.
Richieste di modifica
Una richiesta di modifica (CR) unisce un branch a un altro su qualsiasi hosting Git. È l’unico modo in cui un agente può portare il lavoro svolto nella sessione nel branch predefinito. Vedi Richieste di modifica.
| Comando | Effetto |
|---|---|
beeuni cr ls [--status open|merged|closed|all] [--project <id>] |
Elenca le CR. Valore predefinito: --status open. |
beeuni cr show <cr> [--project <id>] |
Mostra una CR, inclusa l’anteprima dell’unione. Alias: info. |
beeuni cr diff <cr> [--no-color] [--json] |
Stampa il diff unificato di una CR. |
beeuni cr open --title "<text>" [--description "<text>"] [--head <ref>] [--session <id>] [--base <ref>] |
Apre una CR. Alias: new, create. All’interno di una sandbox, --head e --session vengono impostati automaticamente. --base è il branch predefinito del progetto. |
beeuni cr merge <cr> [--message "<text>"] |
Unisce una CR aperta. Usa il fast-forward quando possibile, altrimenti un’unione a tre vie. |
beeuni cr close <cr> |
Chiude una CR aperta senza unirla. |
beeuni cr reopen <cr> |
Riapre una CR chiusa. Le CR unite non possono più essere modificate. |
beeuni cr merge-preview <cr> [--json] |
Indica se la CR può essere unita ed elenca tutti i percorsi in conflitto. Alias: preview. |
beeuni cr request-changes <cr> --message "<text>" |
Chiede all’agente che ha aperto la CR di modificarla. Alias: changes. |
beeuni cr version-diff --from <ver> --into <ver> [--json] |
Riassume una versione rispetto a un’altra prima di aprire una CR. |
request-changes registra la nota sulla CR e la invia alla sessione di origine, riavviando la sandbox se è inattiva. Richiede project.review.act, lo stesso permesso specifico usato dal Review Center, non gitops.push.
<cr> accetta un numero specifico del progetto (3) oppure l’id completo. All’interno di una sandbox, la CLI legge automaticamente il token: non serve accedere né usare un link.
Revisione
La casella di revisione del progetto contiene tutto ciò che attende una decisione umana: richieste di modifica, chiamate a strumenti dei connettori bloccate da una policy in attesa di approvazione, nonché output, decisioni e batch inviati dagli agenti per l’approvazione. Rispecchia il Review Center della dashboard. È attiva per tutti i progetti; project.review.read e project.review.act controllano la lettura e l’esecuzione delle azioni.
| Comando | Effetto |
|---|---|
beeuni review ls [--segment <s>] [--kind <k>] [--json] |
Elenca gli elementi in attesa. Valore predefinito: tutti i segmenti. |
beeuni review show <item-id> [--json] |
Mostra per intero un elemento. |
beeuni review act <item-id> <verdict> [--message <text>] |
Decide l’esito di un elemento. --message include la nota. |
beeuni review bulk <verdict> <id> [<id> …] |
Decide l’esito di più elementi nativi con una sola chiamata. |
beeuni review submit --kind <k> --title <t> [options] |
Invia un output, una decisione o un batch per la revisione. |
Esiti: approve, reject, changes, answer, dismiss. Segmenti: needs_you, waiting, done. Tipi: change, approval, output, decision, batch.
L’effetto dell’esito dipende dall’id dell’elemento. Per cr:<id>, approve esegue l’unione della modifica, reject la chiude e changes invia la nota all’agente che l’ha aperta (è richiesto --message). Per call:<id>, approve consente l’esecuzione della chiamata allo strumento e reject la rifiuta; un’approvazione del connettore non ammette altri esiti: prima esamina gli argomenti con beeuni review show. Per tutti gli altri id viene usato l’endpoint nativo delle azioni, che accetta ogni esito.
bulk agisce solo sugli id nativi. Le approvazioni dei connettori richiedono di esaminare i relativi parametri e le richieste di modifica richiedono di visualizzare il diff: entrambe vengono segnalate e ignorate, come avviene con la selezione multipla nella dashboard.
Opzioni di submit: --kind output\|decision\|batch (obbligatorio), --title <text> (obbligatorio), --summary <text>, --risk none\|low\|medium\|high (valore predefinito none), --detail <json> (un oggetto JSON), --agent <name> e --session <id> (ignorato se non si riferisce a una sessione di questo progetto).
Per leggere serve project.review.read, per esprimere un verdetto serve project.review.act e submit richiede project.review.submit.
Segreti
Valori cifrati archiviati nel progetto. Per impostazione predefinita, all’avvio un segreto viene iniettato come variabile d’ambiente in chiaro in ogni sandbox di sessione (esposizione tramite ambiente). La consegna vincolata — in cui la sandbox conserva un riferimento e Beeuni sostituisce il valore reale al di fuori di essa (esposizione vincolata in uscita e beeuni secrets call) — è sperimentale. Attiva il flag di funzionalità secrets_egress (Settings → Feature flags) per usarla; se il flag è disattivato, beeuni secrets delivery … egress restituisce 403 feature_disabled. Vedi Secrets.
| Comando | Effetto |
|---|---|
beeuni secrets ls |
Elenca i segreti per identificatore e specifica del manifest env, indicando chi può usare ciascun valore. Segnala i valori obbligatori mancanti. |
beeuni secrets set NAME=VALUE ... [--identifier <id>] [--scope runtime|connector] [--only-me] |
Crea o aggiorna uno o più segreti. NAME=- legge il valore da stdin. --scope connector conserva il valore lato server per il gateway del connettore. --only-me rende il nuovo valore utilizzabile solo da te. |
beeuni secrets share IDENTIFIER --user <email|id|me> --group <id> --agent <name> | --everyone |
Imposta chi può usare il valore. Le persone vi accedono direttamente o nelle proprie sessioni private; un agente può farlo in ognuna delle sue sessioni, incluse quelle avviate da trigger. Vedi Who can use a secret. |
beeuni secrets request NAME ... [--scope runtime|connector] [--expires <min>] |
Crea un link che consente a una persona di inserire un valore che non possiedi. |
beeuni secrets unset NAME ... |
Rimuove i segreti. |
beeuni secrets grant IDENTIFIER --agent <name> |
Consente a un agente di ricevere questo segreto: aggiunge l’identificatore all’elenco secrets dell’agente in beeuni.yaml, aggiungendo la voce dell’agente se il manifest non la contiene. |
grant serve a correggere una riga che ls segnala come non recapitabile. Può solo ampliare l’elenco di un agente; per restringerlo o sostituirlo, riscrivi l’intero insieme con beeuni agents scope. There is no secrets revoke — l’API non ha un endpoint per rimuovere un singolo identificatore da un’autorizzazione. La prima autorizzazione concessa in un progetto senza agenti avvia la governance: da quel momento, un agente non elencato nel manifest non riceve i segreti del progetto e il comando lo segnala quando accade.
Env
| Comando | Effetto |
|---|---|
beeuni env pull [--out <path>] [--force] |
Scrive uno scheletro .env — solo nomi. I valori non lasciano mai il cloud. |
beeuni env push --from <path> |
Carica ogni NAME=VALUE da un file dotenv come segreto. |
Agents
Impostazioni del modello per agente nel progetto collegato.
| Comando | Effetto |
|---|---|
beeuni agents ls [--json] |
Mostra il modello fissato per ogni agente e il valore predefinito di riserva. Alias: models. |
beeuni agents model <agent> <provider/model> |
Fissa un modello per un agente. |
beeuni agents model <agent> --clear |
Rimuove il modello fissato: l’agente torna a seguire il valore predefinito. |
beeuni agents default <agent> |
Imposta questo agente come predefinito del progetto. |
beeuni agents default --show [--json] |
Stampa l’agente predefinito corrente. |
beeuni agents scope <agent> [--secrets all|none|A,B] [--connectors all|none|a,b] [--apps all|none|a,b] [--require-connector <slug>] |
Sostituisce l’insieme di segreti, connettori e Beeuni Apps che l’agente può usare. --apps accetta gli slug delle App e richiede un beeuni.yaml v2; l’agente deve avere anche project.app.read. --require-connector può essere ripetuto e deve essere risolto prima dell’avvio di una sessione. |
beeuni agents scope <agent> --show [--json] |
Stampa l’ambito corrente dell’agente. |
beeuni agents config <agent> [--json] |
Stampa il blocco di configurazione completo dell’agente. |
beeuni agents config <agent> --file <path> |
Sostituisce il blocco con il contenuto di un file JSON. - legge da stdin. |
beeuni agents config <agent> --set <key>=<value> ... |
Modifica singole chiavi con notazione a punti, applicando le modifiche. Ripetibile, ad es. behavior.model=glm-5.3-flash, enabled=false, connectors=["slack"]. |
Ogni opzione di ambito sostituisce i valori; nesbeeuni li unisce. Un valore --set viene interpretato come JSON se è valido, altrimenti viene mantenuto come stringa. I modelli fissati e scope si applicano immediatamente, senza commit di beeuni.yaml; default e config eseguono il commit su beeuni.yaml nel ramo predefinito del progetto. scope richiede project.agent.write, così come default e config.
Tools
Gli strumenti disponibili nelle sessioni del progetto, letti dal file locale beeuni.yaml e dai relativi import. Esegui dalla radice del progetto. Vedi Tools.
| Comando | Effetto |
|---|---|
beeuni tools ls [--json] |
Elenca ogni strumento disponibile nelle sessioni: nome, tipo (beeuni, beeuni (overridden), project) e origine (beeuni:<name> o il percorso del modulo). Elenca anche gli strumenti Beeuni rimossi dal progetto. --json stampa { manifest, tools_key, tools, removed }. |
beeuni tools eject <name> [--force] |
Copia lo strumento Beeuni <name> in tools/<name>.ts e imposta tools.<name>: tools/<name>.ts in beeuni.yaml, nel file che lo dichiara. La riga modificata termina con # ejected from beeuni:<name>; tutti gli altri commenti restano invariati. Se non è presente la chiave tools:, elenca anche gli altri quattro strumenti Beeuni, così l’espulsione non rimuove nulla. Si rifiuta di procedere se esiste tools/<name>.ts o se lo strumento punta già a un altro modulo, a meno che non sia specificato --force. Rifiuta un nome che non corrisponde a uno strumento Beeuni. |
Se non è presente la chiave tools:, ogni sessione riceve tutti e cinque gli strumenti Beeuni (web_search,
image_search, scrape_webpage, memory, show). Se è presente la chiave tools:,
le sessioni ricevono solo gli strumenti Beeuni elencati. Per rimuovere uno strumento Beeuni, elimina la relativa riga sotto tools:, poi esegui beeuni validate. Per limitare gli strumenti di un singolo agente, usa agents.<name>.tools. Codici di uscita: 0 completato, 1 operazione rifiutata (un file esiste, oppure un manifest o un import non è analizzabile), 2 manifest mancante, opzione sconosciuta o nome che non corrisponde a uno strumento Beeuni.
Models
Quali modelli offre il progetto e quale usa all’avvio. Stessa schermata di Customize → Models nel dashboard. Un progetto memorizza solo le eccezioni al valore predefinito del catalogo (il modello più recente di ogni famiglia). L’abilitazione è solo visiva: determina cosa mostrano i selettori, non cosa fornisce il gateway.
| Comando | Effetto |
|---|---|
beeuni models ls [--json] |
Elenca tutti i modelli utilizzabili: stato, origine, modalità di pagamento (VIA: Beeuni, chiave API o ChatGPT — personale, condivisa con te o condivisa con il progetto), provider. |
beeuni models enable <model-id>... |
Rende disponibili questi modelli. |
beeuni models disable <model-id>... |
Smette di offrire questi modelli. Il modello predefinito del progetto viene rifiutato con 409: cambia prima il valore predefinito. |
beeuni models reset |
Rimuove tutte le eccezioni e ripristina i valori predefiniti del catalogo. |
beeuni models default [--json] |
Stampa la catena dei valori predefiniti (progetto → account → piattaforma) e il risultato della risoluzione. |
beeuni models default <model-id> [--account] |
Imposta il valore predefinito del progetto o quello dell’intero account con --account. |
beeuni models default --clear [--account] |
Cancella il valore predefinito del progetto o dell’account. |
Gli ID modello sono ID wire del gateway — un ID gestito semplice (glm-5.3-flash) o un provider/model BYOK. Copiane uno da beeuni models ls --json. I modelli fissati per agente sono in beeuni agents model <agent> <model-id>. Le modifiche richiedono
project.model.write.
Channels
Gestisce la connessione del progetto a una piattaforma di chat. I token sono archiviati cifrati nei segreti del progetto e risolti lato server: non vengono mai iniettati nella sandbox.
| Comando | Effetto |
|---|---|
beeuni channels status [--json] |
Mostra la connessione corrente. |
beeuni channels connect [--wait] [--timeout <sec>] |
Connette in un solo passaggio: stampa un link di installazione. --wait verifica finché l’installazione non viene completata. |
beeuni channels connect --manual [--bot-token <token>] [--signing-secret <secret>] |
Modalità di app personalizzata: salva direttamente un token bot e un segreto di firma. |
beeuni channels disconnect [--platform slack|teams] |
Rimuove la connessione del progetto: quella Slack oppure quella Teams con --platform teams. |
beeuni channels manifest |
Stampa il JSON del manifest dell’app per la modalità con app personalizzata. |
beeuni channels email status [--json] |
Gestisce la casella di posta e la modalità di consegna di un connettore email. |
beeuni channels email connect [options] |
Crea una casella di posta gestita oppure collega una casella AgentMail esistente. |
beeuni channels email disconnect |
Rimuove la connessione alla casella di posta. |
beeuni channels email policy [--allow <email|@domain>] [--allow-regex <re>] [--allow-all] |
Sostituisce l’elenco di chi può inviare email all’agente. |
beeuni channels bindings [ls] [--json] |
Elenca tutti i canali associati e l’agente, il modello e la policy di accesso a cui ciascuno viene risolto. |
beeuni channels bind <bindingId> [--agent <name>|--no-agent] [--model <id>|--no-model] [--policy <p>] |
Modifica un’associazione. --policy accetta owner_approval, owner_only o project_open. |
--platform slack|teams seleziona la piattaforma; predefinita: slack. Teams
connect stampa l’URL di consenso amministrativo Microsoft; concedendo il consenso a livello di tenant,
l’app viene pubblicata automaticamente nel catalogo di Teams. Vedi Connettori.
Il canale email è basato su AgentMail e richiede il flag della funzionalità agentmail_email.
Opzioni email connect: --connector <slug> (predefinita beeuni_email),
--api-key <k> (usa la tua chiave AgentMail; - legge da stdin),
--display-name <n> (nome mittente per le email in uscita; per impostazione predefinita, il nome del progetto),
--username <u> e --domain <d> (una nuova casella gestita) e
--inbox-id <id> con --email <addr> (collega una casella esistente: entrambi sono
obbligatori). --allow è ripetibile e attiva la modalità con restrizioni; un
valore senza @ o con @ iniziale viene interpretato come dominio.
--allow-all cancella l’elenco e consente nuovamente tutti i mittenti.
Le scritture email e bind richiedono project.connector.write.
Connettori
Connettori che un agente usa come strumenti. add, rm e policy set modificano il file locale beeuni.yaml; esegui beeuni ship per applicare le modifiche, a meno che tu non passi --apply per modificare immediatamente il progetto cloud.
| Comando | Effetto |
|---|---|
beeuni connectors ls [--json] |
Elenca i connettori e il loro stato. |
beeuni connectors show <slug> [--json] |
Mostra gli strumenti di un connettore. |
beeuni connectors add <slug> --provider <p> [options] [--apply] |
Aggiunge un connettore. |
beeuni connectors rm <slug> [--apply] |
Rimuove un connettore. |
beeuni connectors rename <slug> <name> |
Imposta il nome visualizzato di un connettore. |
beeuni connectors sync |
Riconcilia il catalogo con il file beeuni.yaml incluso. |
beeuni connectors credential <slug> [value] |
Imposta le credenziali di un connettore. |
beeuni connectors connect <slug> |
Avvia una procedura di connessione in un clic. |
beeuni connectors link <slug> [--expires <min>] |
Crea un link di connessione condivisibile per una persona. |
beeuni connectors types [--connector <a,b>] [--out <file>] |
Scrive i tipi TypeScript per ogni azione invocabile: un file declare module '@beeuni/sdk' che definisce i tipi degli argomenti connectors.callAction(slug, action, args) e di output. I connettori gestiti non pubblicano schemi di output, quindi il risultato è unknown. Senza --out, stampa su stdout. |
beeuni connectors accounts <slug> [--default <label|id>] [--json] |
Elenca gli account con cui possono essere eseguite le chiamate e l’identità usata per ciascuna connessione. --default ne imposta uno. |
beeuni connectors connections ls [--all] [--json] |
Elenca le connessioni con etichetta, CONNECTED AS, proprietario, WHO CAN USE (owner only, everyone o le etichette di concessione, con (not you) quando la connessione è elencata solo per gestirla), stato e valore predefinito. |
beeuni connectors connections rename <id> <label…> |
Rinomina una connessione. Cambia solo l’etichetta; non è necessaria una nuova autorizzazione. |
beeuni connectors connections share <id> [--group <id>]… [--user <email|id>]… [--everyone] |
Condivide il tuo account privato: diventa un account condiviso che solo quella persona può usare (--everyone: l’intero progetto). Richiede il diritto di gestire le connessioni del progetto. |
beeuni connectors apps [<query>] [--category <c>] [--cursor <c>] [--limit <n>] [--json] |
Cerca nel catalogo dei toolkit gestiti, gli slug accettati da add --provider composio --app <slug>. Alias: beeuni connectors toolkits. Aggiungi --pipedream per il catalogo legacy. |
beeuni connectors catalog [<query>] [--cursor <c>] [--json] |
Esplora il catalogo dei connettori diretti. Richiede il flag connectors_api_discover. |
beeuni connectors catalog show <id> [--json] |
Mostra le interfacce di un record del catalogo. |
beeuni connectors sensitive <slug> on|off |
Sottopone ad approvazione anche le letture di questo connettore: ogni chiamata richiede quindi l’approvazione. Si applica subito. |
beeuni connectors owner <slug> project|user |
Chi autorizza: una connessione del progetto oppure l’account di ciascun membro. Si applica subito. |
beeuni connectors authorize <slug> [--status] [--scope "<a b>"] [--client-id <id>] [--client-secret <s>] [--success-redirect <url>] [--error-redirect <url>] [--json] |
Configura OAuth 2.1 per un connettore dall’inizio alla fine: individua i metadati di autorizzazione del server, registra Beeuni come client (RFC 7591) se supportato dal server e stampa l’URL da approvare. --status mostra invece il risultato. |
beeuni connectors authorize <slug> --device |
Come sopra, usando il flusso OAuth 2.0 per dispositivi (RFC 8628): stampa un codice e un URL, poi controlla finché la richiesta non viene approvata, rifiutata o scade. |
beeuni connectors policy ls [--json] |
Mostra i criteri di esecuzione validi per l’intero progetto. Alias: show. |
beeuni connectors policy set --default <risk|allow_all> [--apply] |
Imposta la modalità di esecuzione predefinita in beeuni.yaml. --apply la imposta subito. |
beeuni connectors policy add <match> <allow|ask|block> [--condition <k=v>] |
Aggiunge una regola valida per l’intero progetto. Si applica subito. --condition la restringe a un argomento corrispondente ed è ripetibile; k!=v nega la corrispondenza e k è un percorso con punti negli argomenti della chiamata. |
beeuni connectors policy rm <match> |
Rimuove una regola valida per l’intero progetto. Si applica subito. |
beeuni connectors policy <slug> ls|set <match> <allow|ask|block>|rm <match>|clear |
Gestisce le regole per le chiamate agli strumenti di un connettore. |
policy ls, show, set, add e rm sono comandi che agiscono sull’intero progetto: perciò, un connettore che ha lo stesso nome di uno di questi verbi va indicato come policy <slug> ls. Un <match> è il nome di uno strumento, un glob (send_*) o un /regex/.
Opzioni add: --name <label>, --provider <pipedream\|mcp\|openapi\|postman\|graphql\|http>, --app <slug>, --url <url>, --transport <http\|sse>, --endpoint <url>, --base-url <url>, --spec <url\|path>, --auth-type <none\|bearer\|basic\|custom>, --credential shared.
Sandbox
Gestisce le immagini sandbox del progetto. Un modello definisce un’immagine o un Dockerfile e le risorse; una build crea lo snapshot da cui vengono avviate le sessioni.
| Comando | Effetto |
|---|---|
beeuni sandboxes ls [--json] |
Elenca i modelli e lo stato attuale del provider. |
beeuni sandboxes builds [--json] |
Registro delle build recenti. |
beeuni sandboxes health [--json] |
Stato di disponibilità del modello principale. |
beeuni sandboxes add <slug> (--image <i>|--dockerfile <p>) [options] |
Crea un modello personalizzato e avvia una build. |
beeuni sandboxes update <slug> [options] |
Aggiorna un modello. |
beeuni sandboxes build <slug> |
Avvia una nuova build. |
beeuni sandboxes rebuild <slug> |
Forza una nuova build: elimina prima lo snapshot esistente. |
beeuni sandboxes rm <slug> |
Elimina un modello. |
beeuni sandboxes fix |
Avvia una sessione con il registro dell’ultima build non riuscita, per correggere il problema. |
beeuni sandboxes provider [--json] |
Mostra il provider sandbox fissato per il progetto e i provider disponibili su questo host. |
beeuni sandboxes provider <name> [--timeout <sec>] |
Fissa tutte le nuove sessioni a un provider. Se la destinazione richiede prima la creazione dello snapshot, l’API risponde con una preparazione e il comando ne attende il completamento. Valore predefinito di --timeout: 600s. |
beeuni sandboxes provider --clear |
Rimuove il vincolo e usa il valore predefinito della piattaforma. Alias: --unpin. |
beeuni sandboxes provider status [--json] |
Mostra la transizione più recente del provider e la relativa cronologia. Alias: transition. |
Fissare un provider richiede project.settings.write.
Opzioni add/update: --name <label>, --cpu <n>, --memory <n> (GiB), --disk <n> (GiB).
Backend
I database sono App con volumi persistenti. Gestiscili e collegali tramite Apps.
Marketplace
Esplora il marketplace di Beeuni e installa un elemento in un progetto.
| Comando | Effetto |
|---|---|
beeuni marketplace search [query] |
Cerca elementi nel marketplace. |
beeuni marketplace list |
Elenca gli elementi del marketplace. |
beeuni marketplace show <id-or-name> |
Mostra un elemento del marketplace. |
beeuni marketplace install <id-or-name> |
Avvia una sessione dell’agente che importa l’elemento. |
Opzioni: --query <text>, --type <type>, --source <source>, --host <name>, --project <id>, --json.
L’installazione è gestita dall’agente: avvia una sessione del progetto che clona l’elemento, lo legge, integra ciò che è compatibile e apre una richiesta di modifica. Non esiste alcun meccanismo deterministico per installare, aggiornare o rimuovere elementi.
Competenze di sistema
Le competenze di sistema di Beeuni sono il riferimento operativo della piattaforma per persone e agenti. Coprono sessioni, sandbox, il runtime predefinito, connettori, memoria e canali. Questa pagina pubblica è il punto di ingresso; la CLI autenticata legge le competenze dall’host in esecuzione. Usa beeuni system-skills list per scoprire le competenze disponibili, poi get quella necessaria. L’API le fornisce in tempo reale, quindi corrispondono alla versione dell’host distribuita. Non considerare aggiornata una copia locale.
| Comando | Effetto |
|---|---|
beeuni system-skills list |
Elenca le competenze di sistema di Beeuni. Sottocomando predefinito. |
beeuni system-skills get <name> [--full] |
Stampa SKILL.md corrente di una competenza. --full aggiunge i file a cui fa riferimento. |
beeuni system-skills path [name] |
Stampa la directory su disco di una competenza in questo progetto. |
Opzioni: --host <name>, --json.
beeuni skills è un alias permanente dello stesso comando. Accedi prima all’host con beeuni login; l’API delle competenze richiede l’autenticazione. Usa --host <name> quando lavori con un altro host. Una pagina di documentazione pubblica non può sostituire queste istruzioni aggiornate e specifiche dell’host.
Questo elenco contiene sempre le competenze di sistema, mai un insieme misto. Le competenze facoltative si trovano nel marketplace: beeuni marketplace list --type skill. Per la sintassi dei comandi, usa beeuni <command> --help; per il riferimento completo della piattaforma, leggi beeuni system-skills get beeuni-system --full.
Connettore
L’interfaccia dell’agente nella sandbox per ogni connettore. Ogni chiamata viene verificata, risolta e sottoposta ad audit lato server; la CLI non conserva mai credenziali di terze parti. Autenticazione: BEEUNI_TOKEN. L’output è JSON.
| Comando | Effetto |
|---|---|
beeuni connectors discover "<intent>" |
Cerca strumenti in base all’intento espresso in linguaggio naturale. |
beeuni connectors show <connector>.<action> |
Mostra lo schema di input di un’azione. |
beeuni connectors call <connector>.<action> '<json-args>' |
Esegue uno strumento. Una chiamata soggetta a controllo restituisce immediatamente il suo approval_url autenticato. Il server riprende la sessione dopo una decisione di approvazione o rifiuto. Passa gli argomenti di grandi dimensioni come @file.json o - (stdin). |
beeuni connectors call <connector>.<action> '<json-args>' --reason "<text>" |
Descrive all’approvatore umano cosa fa la chiamata quando una policy la mette in attesa. La scheda di approvazione mostra questa descrizione dell’agente accanto agli argomenti. |
beeuni connectors call <connector>.<action> @args.json --attach <file> |
Prepara un file e aggiunge il relativo riferimento all’array degli allegati dell’azione. Il gateway scrive i byte nell’elemento degli allegati del provider. --attach ripete l’operazione; --attach-path <a.b.c> indica l’array. Vedi Allegare file. |
beeuni connectors call <connector>.<action> '<json-args>' --out <file> |
Scrive il risultato JSON completo in <file> e stampa solo un riepilogo: saved_to, bytes e shape (chiavi, lunghezze degli array, pageInfo). Vedi Risultati di grandi dimensioni. |
beeuni connectors upload <file> --connector <slug> |
Prepara un file. Stampa ref, {"$beeuni_attachment":"<id>"}, da inserire negli argomenti della chiamata. |
beeuni connectors add <slug> --provider pipedream --app <app> |
Aggiunge immediatamente un connettore, quindi lo connette. |
beeuni connectors rm <slug> |
Rimuove un connettore dal progetto. |
beeuni connectors connect <slug> [--owner me|project] [--label <name>] |
Genera un link di connessione per una persona. --label suggerisce un nome per un nuovo account, ad esempio un secondo account Gmail. |
File
Vista in sola lettura del repository git del progetto. Opera sul branch predefinito, a meno che --ref non specifichi un altro branch, tag o commit.
| Comando | Efeito |
|---|---|
beeuni files ls [<path>] |
Lista recursivamente os arquivos em um caminho. A lista para em 1.000 arquivos e informa isso; restrinja-a com um caminho ou use files search. |
beeuni files cat <path> |
Exibe o conteúdo de um arquivo. |
beeuni files search <query> [--content] |
Pesquisa nomes de arquivos ou o conteúdo dos arquivos com --content. |
beeuni files history <path> |
Histórico de commits de um arquivo. |
beeuni files branches |
Lista as branches. |
beeuni files commits [--path <p>] |
Lista os commits em --ref. |
beeuni files show <sha> |
Exibe um commit e os arquivos alterados. |
beeuni files diff <sha> [--path <p>] |
Exibe o patch unificado de um commit. |
beeuni files compare <from> <into> |
Resume o diff entre duas referências. |
beeuni files download -o <out.zip> |
Baixa o repositório ou a subárvore --path em --ref como um arquivo zip. Alias: archive. |
Opções para todos os subcomandos: --ref <ref>, --path <p>, --limit <n>, --json.
download também aceita -o, --out <file>, que é obrigatório.
Todos os subcomandos precisam de project.file.read. Além disso, download recusa qualquer
subárvore que inclua um agente ou uma skill fora do seu escopo — não é possível filtrar um zip durante a transmissão —, então, nesse caso, arquive um --path mais restrito.
Gatilhos
Um gatilho inicia uma sessão com base em um agendamento, webhook, evento de app ou monitor (experimental). add, rm, enable e disable editam o manifesto local — execute beeuni ship para aplicar. pause/resume alternam um controle separado no servidor. Consulte Gatilhos.
| Comando | Efeito |
|---|---|
beeuni triggers ls [--json] |
Lista os gatilhos e o estado de execução. |
beeuni triggers add <slug> [options] [--apply] |
Adiciona um gatilho ao manifesto. --apply o cria agora no projeto na nuvem: faz commit em beeuni.yaml em main e reconcilia. |
beeuni triggers set <slug> [options] |
Altera um gatilho ativo. Só as flags informadas são gravadas. Sempre aplica as alterações imediatamente — não há versão local. Alias: update. |
beeuni triggers rm <slug> [--apply] |
Remove um gatilho de beeuni.yaml ou do projeto na nuvem imediatamente com --apply. |
beeuni triggers info <slug> [--json] |
Exibe um gatilho. |
beeuni triggers events --connector <slug> [--json] |
Lista os eventos oferecidos por um conector, com as configurações de cada evento. |
beeuni triggers fire <slug> |
Dispara um gatilho manualmente e aguarda o resultado da execução: uma execução com falha termina com código diferente de zero e exibe o erro; a sessão nova criada pelo disparo é limpa (uma execução enfileirada em uma sessão existente permanece). --wait <dur> limita o tempo de espera (padrão: 90s; 0 retorna assim que o disparo é aceito). |
beeuni triggers enable <slug> [--apply] / disable <slug> [--apply] |
Ativa ou desativa um gatilho. |
beeuni triggers pause / resume |
Desativa ou reativa todos os gatilhos do projeto no servidor. |
Opções de add: --type <cron\|webhook\|event\|monitor> (padrão cron), --prompt <text> (obrigatório), --agent <name>, --cron <expr> (6 campos, por exemplo "0 0 9 * * 1-5"), --run-at <iso> (executa uma vez neste instante, em vez de usar um cron), --timezone <tz> (padrão: UTC), --secret-env <NAME>, --name <label>, --disabled.
Opções exclusivas para gatilhos ativos — válidas em add --apply e em todos os set: --model <provider/model>, --session-mode <fresh\|keyed\|pinned\|reuse>, --session-key <tmpl> (agrupa uma sessão por chave, por exemplo "{{ body.data.chat_jid }}"; implica keyed), --session-id <id> (a sessão em que um gatilho pinned faz loops; deve ser uma sessão deste projeto), --session-access <private\|project\|members> (padrão private), --member <uuid> e --group <uuid> (podem ser repetidas; cada uma implica members), e --filter <path=value> (pode ser repetida; todas precisam corresponder, por exemplo --filter body.type=push).
set aceita todas as opções exclusivas para gatilhos ativos, além de --name, --prompt, --cron, --run-at, --timezone, --secret-env, --agent e --enabled true|false. --cron e --run-at são exclusivas: definir uma limpa a outra. Os campos do monitor só podem ser adicionados.
Lembretes
Um lembrete envia um novo prompt para uma sessão mais tarde, uma vez ou de forma recorrente. Ele é armazenado no banco de dados, não em beeuni.yaml. Dentro de uma sessão, --session tem como padrão $BEEUNI_SESSION_ID. Consulte Lembretes.
| Comando | Efeito |
|---|---|
beeuni remind "<text>" [schedule] |
Cria um lembrete. Equivale a beeuni reminders add. |
beeuni reminders add "<text>" [schedule] |
Cria um lembrete. Exibe o id e o próximo disparo. |
beeuni reminders ls [--json] |
Lista os lembretes da sessão. |
beeuni reminders pause <id> / resume <id> |
Desativa ou ativa um lembrete. resume o reativa a partir de agora. |
beeuni reminders rm <id> |
Exclui um lembrete. Aliases: stop, delete. |
Opções de agendamento: --in <duration> ou --at <iso> (primeiro disparo; se usado sozinho, dispara uma vez), --every <duration> (recorrência, mínimo de 5m), --cron "<expr>" com --timezone <tz>. Outras opções: --name <label>, --session <id> (um prefixo exclusivo funciona), --project <id>, --host <name>, --json.
Opções de evento (--type event): --connector <slug> e --event <TYPE> (ambas obrigatórias), --config key=value (repetível, valores de string) e --config-json '{...}' (valores tipados). set aceita as mesmas flags. Um gatilho de evento rejeita --cron, --run-at, --timezone, --secret-env e as opções de monitor. O prompt lê {{ event.data.<field> }}; consulte Gatilhos de eventos de app.
Opções de monitor (--type monitor): --run <cmd> (comando relativo ao repositório a ser monitorado; obrigatório), --mode <poll\|stream> (obrigatório; poll executa novamente em --interval, stream mantém o comando em execução), --interval <dur> (somente mode=poll, mínimo de 30s, por exemplo 60s, 5m) e --expect-event-within <dur> (watchdog de silêncio; se nenhum evento ocorrer dentro do intervalo, dispara um evento de ciclo de vida; mínimo de 5m, por exemplo 24h). Um monitor é um comando do repositório que a plataforma executa 24 horas por dia, 7 dias por semana, e cada linha de stdout dispara o gatilho. É experimental: a plataforma executa monitores somente onde a feature flag monitors está ativada.
Acesso
A interface de linha de comando da tabela única de concessões. Cada linha é uma atribuição: um
principal, uma função, um escopo e, opcionalmente, um objeto específico. Consulte
Contas e acesso para entender o modelo. Funções da conta:
owner, admin, member. Funções do projeto: manager, member.
| Comando | Efeito |
|---|---|
beeuni access assignments [--project <id>|--account|--all] [--json] |
Lista as atribuições em um projeto, na conta ou em todos os lugares. |
beeuni access grant --user <id|email>|--group <id>|--service-account <id> --role <key|id> [opts] |
Cria uma atribuição. Exibe o id da atribuição. |
beeuni access revoke <assignment-id> |
Revoga uma atribuição. |
Opções de concessão: --project <id> (padrão: o projeto vinculado), --account (a conta inteira), --agent <name> (restringe a concessão a um agente — uma atribuição a objeto), --connection <id> (restringe o uso de uma conta de conector compartilhada; a primeira concessão limita a conta aos seus beneficiários, e revogar a última a libera novamente para todo o projeto), --everyone (concede acesso a todos que têm acesso ao projeto; recebe um --agent ou um --connection, nunca uma função) e --expires <iso> (timestamp de revogação automática). --principal filtra uma lista e aceita user:<id>, group:<id>, service_account:<id>, project:<id> ou pending:<email>; um id sem prefixo é interpretado como usuário. Uma concessão para todos é exibida como everyone. A identidade de um agente é um service_account, então --service-account <id> é a forma de atribuir uma função a um agente. --user aceita um email e o resolve no diretório de membros da conta.
beeuni access grant --user alice@corp.com --role manager
beeuni access grant --user alice@corp.com --role admin --account
beeuni access grant --group 8f3c… --role member --project 1a2b…
beeuni access grant --user alice@corp.com --agent support-bot
beeuni access grant --everyone --agent support-bot
beeuni access grant --group 8f3c… --connection 2b7e…
beeuni access revoke 4d5e…
Os verbos de membros do projeto são uma visão de leitura das mesmas atribuições:
| Comando | Efeito |
|---|---|
beeuni access ls [--json] |
Lista as pessoas com acesso ao projeto, a função da conta e a função efetiva no projeto. |
beeuni access invite <email> --role <r> |
Convida alguém para o projeto. Cria uma atribuição pending. |
beeuni access grant <user-id> --role <r> |
Define a função de um usuário no projeto. |
beeuni access revoke <user-id> |
Remove o acesso de um usuário ao projeto. |
beeuni access pending [--json] |
Lista os convites pendentes. |
beeuni access resend <invite-id> |
Reenvia um e-mail de convite e renova sua validade por 14 dias. Também exibe o link. |
beeuni access cancel <invite-id> |
Cancela um convite pendente. |
beeuni access requests ls [--json] |
Lista as solicitações pendentes de pessoas que querem participar deste projeto. |
beeuni access requests approve <req-id> [--role <r>] |
Aprova uma solicitação, concedendo a função no projeto. Função padrão: member. |
beeuni access requests reject <req-id> |
Rejeita uma solicitação. Alias: deny. |
Todos os verbos nos dois blocos acima precisam de project.members.manage.
Uma pessoa, um grupo ou um agente recebe funções do Beeuni; além disso, um agente
carrega permissões do Beeuni em beeuni.yaml, e uma sessão só pode fazer o que ambos
permitem. Consulte Um vocabulário, duas vinculações.
Auditoria
Os comandos de auditoria leem o log centralizado de reconstrução. As listas de contas e projetos
são ordenadas da mais recente para a mais antiga. A linha do tempo de uma sessão é ordenada
por horário de criação (session_sequence só é definido nas linhas gravadas antes de 2026-10, que aparecem
primeiro). --all acompanha cada cursor de continuação. ls lista os últimos 90 dias; export retrocede 365 dias, e os eventos com mais de 90 dias vêm do arquivo (consulte Retenção de auditoria). A tabela mostra
junto a cada linha o título (EVENT, por exemplo, “Chave do gateway LLM revogada”) e seu
ACTION (gateway.key.revoke); --action filtra pelo prefixo da ação. Todas as ações e títulos: Ações do log de auditoria.
| Comando | Efeito |
|---|---|
beeuni audit ls [filters] [--all] [--json] |
Lista os eventos da conta. |
beeuni audit project <project-id> [filters] [--all] [--json] |
Lista os eventos de um projeto. |
beeuni audit session <session-id> --project <project-id> [--all] [--json] |
Reconstrói uma sessão em ordem. |
beeuni audit export [filters] --format csv|jsonl --out <file> |
Retoma cada página da exportação em um único arquivo. |
beeuni audit webhooks ls [--json] |
Lista os webhooks de auditoria da conta. |
beeuni audit webhooks add --name <n> --url <u> [--action-prefix <p>] |
Cria um. O segredo de assinatura é exibido uma única vez, e uma entrega de teste é enviada imediatamente. --action-prefix entrega somente ações com esse prefixo. |
beeuni audit webhooks enable <webhook-id> |
Retoma a entrega. |
beeuni audit webhooks disable <webhook-id> |
Pausa a entrega, mantendo o endpoint. |
beeuni audit webhooks rm <webhook-id> |
Exclui um webhook permanentemente. |
Os webhooks de auditoria transmitem o registro para um SIEM. Todos os verbos precisam de account.write;
add e enable também exigem o direito de uso enterprise. disable e rm
nunca exigem.
Filtros: --actor, --actor-type, --project, --session, --source,
--phase, --outcome, --action, --resource-type, --request-id,
--correlation-id, --query, --since, --until, --cursor e --limit.
As listas e exportações da conta exigem audit.read e o direito de uso auditAccess da conta.
As listas de todo o projeto exigem project.members.manage, pois podem incluir metadados de sessões privadas. A reconstrução de uma sessão exige
project.session.read e visibilidade dessa sessão.
Funções
Uma função é um conjunto nomeado de permissões. As funções do sistema (owner, admin, member
no escopo da conta; manager, member no escopo do projeto; além de agent-user, o
marcador carregado por uma atribuição de objeto) são referências somente leitura. Você pode criar e editar funções
personalizadas, que exigem o direito de uso enterprise rbac.
| Comando | Efeito |
|---|---|
beeuni roles ls [--json] |
Lista as funções, do sistema e personalizadas. |
beeuni roles show <role> [--json] |
Exibe as permissões e o uso de uma função. |
beeuni roles permissions <role> [--json] |
Lista as permissões de uma função. |
beeuni roles create <key> --name <n> [options] |
Cria uma função personalizada. |
beeuni roles edit <role> [--name <n>] [--desc <t>|--no-desc] |
Renomeia ou altera a descrição de uma função personalizada. A chave dela nunca muda. Exige role.update e não aceita funções do sistema. |
beeuni roles set-actions <role> --actions a,b |
Substitui as permissões de uma função personalizada. |
beeuni roles rm <role> |
Exclui uma função personalizada. |
beeuni roles export [--project <id>] [--out <file>] [--format toml|json] |
Exporta as funções e atribuições para um arquivo. |
beeuni roles import <file> |
Aplica um arquivo de funções e atribuições. |
Vincule uma função a um principal com beeuni access grant. Os verbos mais antigos beeuni roles assign / unassign / assignments ainda funcionam e gravam na mesma tabela,
mas beeuni access é o caminho documentado. beeuni roles actions foi substituído
por beeuni permissions ls.
Uma função personalizada apenas adiciona permissões. O Beeuni não tem regras de negação, portanto uma função não pode impedir que um gerente tenha uma permissão.
Permissões
O catálogo de permissões, como dados. Uma linha por ação final, com o escopo em que ela é
avaliada, se pode ser delegada e o que implica. As funções são criadas a partir dessas chaves — beeuni roles create --actions e beeuni roles set-actions usam
exatamente essas chaves. Alias: beeuni perms.
| Comando | Efeito |
|---|---|
beeuni permissions ls [--scope account|project] [--area <a>] [--json] |
Lista o catálogo. |
beeuni permissions show <action> [--json] |
Exibe todos os detalhes de uma ação. |
Concessões
Atribui um objeto do projeto a um principal — uma atribuição de objeto. Os segredos e
conectores ficam nos agentes; portanto, atribuir um agente a uma pessoa concede tudo o que
esse agente declara. Por padrão, o acesso a um agente é fechado: um membro só pode acessá-lo quando
uma atribuição o identifica pelo nome ou identifica um grupo ao qual pertence. beeuni access grant --agent <name> grava a mesma linha.
| Comando | Efeito |
|---|---|
beeuni grants ls [--json] |
Lista as atribuições de objetos e os agentes que podem ser atribuídos. |
beeuni grants assign <agent-name> --to <who> [--group] |
Atribui um agente a um usuário ou a um grupo com --group. |
beeuni grants revoke <grant-id> |
Revoga uma atribuição de objeto. |
Validação do manifesto
| Comando | Efeito |
|---|---|
beeuni validate [--file <path>] [--json] [--scopes] [--no-dockerfile-lint] |
Valida o manifesto em relação ao esquema canônico, analisa com lint cada Dockerfile da sandbox e a configuração dos agentes e verifica o tamanho do repositório. Resolve primeiro beeuni.yaml e, em seguida, beeuni.toml. Códigos de saída: 0 válido (pode haver avisos), 1 erros, 2 arquivo ausente. beeuni ship executa as mesmas verificações. |
beeuni schema [--version 1|2] [--url] |
Exibe o esquema JSON do manifesto. --url exibe o URL do esquema. |
Consulte Referência do manifesto.
Tamanho do repositório
Uma sessão cria a configuração do agente a partir de todos os arquivos rastreados pelo Git no commit base. Uma nova sessão obtém esses arquivos do próprio checkout, independentemente do tamanho. Uma sessão em execução recebe as alterações na branch base por meio do snapshot do projeto, que o Beeuni Cloud cria até 512 MiB compactados; acima disso, a sessão mantém a configuração em execução até o início de uma nova sessão. Todas as sessões também baixam todos os arquivos. beeuni validate contabiliza os arquivos armazenados pelo Git, além dos arquivos não rastreados que beeuni ship adicionará em seguida, e exibe um aviso quando um arquivo tiver 10 MiB ou mais ou o total ultrapassar 512 MiB. Um arquivo do Git LFS é contabilizado como seu ponteiro, pois a versão inclui apenas o ponteiro. O aviso indica os arquivos maiores. Ele nunca faz o comando falhar.
Para eliminar o aviso:
- Mova recursos estáticos grandes (vídeos, imagens, conjuntos de dados, pesos de modelos) para um armazenamento de objetos como S3, R2 ou GCS, ou para uma CDN, e baixe-os durante a execução.
- Adicione a saída da compilação (
dist/,out/) a.gitignore. - Para um caminho que precisa permanecer no Git, mas que nenhum agente lê, adicione
<path> export-ignorea.gitattributes. A versão o exclui, assim como a verificação; uma regra de diretório abrange tudo o que estiver dentro dele. O diretório de configuração do agente ebeeuni.yamlsempre são incluídos por inteiro.
Escopo do token
Ogni token inizia con beeuni_pat_. Un token utente è valido per tutti i progetti dei tuoi account. Un token di progetto è valido per un solo progetto e viene inserito automaticamente nelle sandbox di quel progetto. Consulta il riferimento completo alla famiglia di token in Runtime della sessione.
Codici di uscita
| Codice | Significato |
|---|---|
0 |
Operazione riuscita. |
1 |
Operazione non riuscita. I messaggi diagnostici vengono stampati su stderr. |
2 |
Flag non valido, sottocomando sconosciuto o argomento obbligatorio mancante. |