Aller au contenu
BeeuniBeeuni
Français
Esc
↑↓naviguer↵ouvrir⌘Japerçu
Sur cette page

CLI

La ligne de commande beeuni, son modèle d’authentification, la boucle de développement et chaque commande.

L’interface en ligne de commande (CLI) beeuni permet de contrôler Beeuni depuis un terminal — sur votre ordinateur ou dans un environnement de session isolé. Cette page présente le cycle de développement habituel, puis répertorie chaque commande stable et chaque option.

Installation

curl -fsSL https://beeuni.ai/install | bash

Le programme d’installation télécharge un binaire précompilé pour macOS et Linux. Windows n’est pas pris en charge.

Commande Effet
beeuni update Relancer le script d’installation et récupérer le dernier binaire.
beeuni uninstall [-y|--yes] [--keep-auth] [--keep-home] Supprimer le binaire, le shim /usr/local/bin et le jeton enregistré. --keep-auth conserve le jeton. --keep-home conserve ~/.beeuni.
beeuni version Afficher la version de la CLI.

Modèle d’authentification

Beeuni stocke l’authentification par hôte, et non de façon globale. Un hôte correspond à un point de terminaison de l’API Beeuni. Utilisez cloud pour vous connecter à Beeuni.

Le fichier de configuration se trouve à l’emplacement ~/.config/beeuni/config.json, avec le mode 0600. Remplacez son chemin avec BEEUNI_CONFIG_FILE.

La CLI suit une hiérarchie : hôte → compte → projet → session. Vous vous connectez à un hôte, choisissez un compte dans cet hôte, choisissez un projet dans ce compte, puis ouvrez des sessions dans ce projet. beeuni hosts login exécute les trois premières étapes dans l’ordre : il vous connecte, choisit le compte, puis définit un projet par défaut.

Tous les jetons commencent par beeuni_pat_. Un jeton utilisateur, obtenu avec beeuni login, donne accès à tous les comptes et projets auxquels vous appartenez. Un jeton de projet est créé automatiquement pour un environnement de session isolé et limité à un seul projet. Consultez Portée des jetons.

Le cycle de développement

Ce cycle suppose que la CLI est installée et que vous avez exécuté beeuni login. Consultez Démarrage rapide pour la configuration.

Associer un dépôt

Créez un projet ou associez-y un dossier de dépôt existant.

Pour créer un nouveau projet à partir d’un modèle :

beeuni init my-app
cd my-app

beeuni init crée un répertoire de projet avec le modèle généraliste. Son fichier beeuni.yaml déclare beeuni_version: 2 et lance le harness du moteur d’agent par défaut.

Pour associer un dépôt cloné existant à un projet que vous avez déjà créé :

beeuni projects link <project-id>

Cette commande écrit .beeuni/link.json dans le répertoire actuel. Beeuni lit ce fichier pour retrouver votre projet à chaque exécution d’une commande depuis ce dossier. Si vous comptez d’abord exécuter beeuni ship, ignorez cette étape. Cette commande associe un nouveau projet pour vous si aucun n’existe.

Envoyer votre code

beeuni ship

beeuni ship vérifie votre beeuni.yaml, valide les modifications locales, pousse votre branche et vous invite à fournir tout secret ou toute connexion manquants. Exécutez cette commande chaque fois que vous souhaitez envoyer vos modifications locales vers le projet cloud. Lors de la première exécution, elle crée aussi le projet cloud et le dépôt si vous n’en avez pas encore associé.

Lancer des sessions et s’y connecter

Démarrez une session avec une invite :

beeuni sessions new --prompt "Build the login page" --wait

Chaque session s’exécute dans son propre environnement isolé et sur sa propre branche. --wait attend que la session soit prête.

Connectez-vous à une session depuis votre terminal :

beeuni connect

Sans identifiant de session, beeuni connect (alias : attach) ouvre un sélecteur de session pour le projet associé — les sessions en cours s’ouvrent immédiatement, celles qui sont arrêtées démarrent d’abord, et + New session lance un nouvel environnement isolé — puis ouvre l’interface TUI complète du moteur d’agent par défaut connectée à cette session. Indiquez un identifiant pour ignorer le sélecteur : beeuni connect <session-id>.

La CLI gère le binaire opencode pour vous : lors de la première connexion, elle télécharge la version exacte utilisée par le serveur de la session et la met en cache dans ~/.beeuni/opencode/<version>/, afin que la TUI et le serveur utilisent toujours la même version. Définissez BEEUNI_OPENCODE_BIN pour utiliser votre propre binaire.

Une session utilisant le harness pi ne dispose pas de serveur du moteur d’agent par défaut. beeuni connect renvoie le code de sortie 1 pour cette session, avec le message This session's runtime does not support attaching a terminal client.

Pour une conversation plus légère, sous forme de lignes, plutôt que l’interface TUI complète, exécutez :

beeuni sessions chat

Cette commande ouvre une conversation interactive avec votre session la plus récente. Ajoutez un identifiant pour cibler une session précise : beeuni sessions chat <id>.

Pour utiliser l’ensemble du produit dans votre terminal — liste des sessions, transcription et zone de saisie, shell dans l’environnement isolé, ainsi que les écrans Files, Review, Apps, Customize et Account — lancez le client terminal expérimental :

beeuni tui        # or: beeuni t, or beeunit
beeunit --project <id> --new --terminal   # new session + sandbox shell, one command

Il se connecte à l’hôte que vous utilisez déjà. Consultez la page de la TUI.

Pour ouvrir un shell brut dans l’environnement isolé, sans agent, exécutez :

beeuni sessions shell

Affichez vos sessions en cours à tout moment :

beeuni sessions ls

Examiner les demandes de modification

Un agent ouvre une demande de modification (CR) lorsque sa session comporte des commits prêts à être fusionnés. Affichez, examinez et fusionnez-les depuis la CLI.

beeuni cr ls
beeuni cr diff 1
beeuni cr merge 1

beeuni cr ls affiche les demandes de modification du projet associé. beeuni cr diff <cr> affiche le correctif unifié. beeuni cr merge <cr> le fusionne dans la branche par défaut du projet. Indiquez le numéro de la CR ou son identifiant complet.

Référence

Commandes d’authentification

Commande Effet
beeuni login [--host <name>] [--api <url>] [--token <pat>] [--account <slug>] [--no-project] Se connecter à l’hôte actif ou à celui indiqué. Ouvre un navigateur par défaut ; --token permet de se connecter sans interface. --no-project ignore le choix du projet par défaut.
beeuni logout [--host <name>] Supprimer le jeton de l’hôte actif ou de celui indiqué.
beeuni whoami [--host <name>] [--json] [--token-only] Afficher l’utilisateur connecté et le compte actif.
beeuni token [--host <name>] Raccourci pour beeuni whoami --token-only.

beeuni hosts login / hosts logout / hosts whoami sont les formes canoniques. login / logout / whoami sont des raccourcis qui agissent sur l’hôte actif.

Hôtes

Commande Effet
beeuni hosts ls [--json] Lister tous les hôtes et leur état d’authentification.
beeuni hosts login [<name>] [--token <pat>] [--api <url>] [--account <slug>] [--no-project] Se connecter à un hôte. Si le nom est inconnu, l’hôte est d’abord enregistré.
beeuni hosts logout [<name>] Supprimer le jeton d’un hôte.
beeuni hosts use <name> Changer d’hôte actif.
beeuni hosts add <name> --url <url> [--dashboard-url <url>] [--login] Enregistrer un nouvel hôte. --login connecte ensuite à cet hôte.
beeuni hosts rm <name> [--force] Supprimer un hôte.
beeuni hosts info [<name>] [--json] Afficher les détails d’un hôte.
beeuni hosts current [--json] Afficher le nom de l’hôte actif.

L’URL d’un hôte distant qui commence par http:// est normalisée en https://. La CLI n’envoie jamais de jeton à un hôte distant via HTTP non chiffré. localhost fait exception.

Comptes

Commande Effet
beeuni accounts ls [--json] Lister les comptes auxquels vous appartenez sur l’hôte actif.
beeuni accounts use [<slug-or-id>] Changer de compte actif.
beeuni accounts current [--json] Afficher le compte actif.
beeuni accounts info [<slug-or-id>] [--json] Afficher un compte.

Membres

Qui appartient au compte et quel est son rôle dans celui-ci. Les rôles sont owner, admin et member. Les propriétaires et les administrateurs disposent implicitement du rôle Manager dans chaque projet. member est donc le seul rôle qui nécessite des autorisations propres à chaque projet.

Commande Effet
beeuni members ls [--json] Lister les membres, leurs rôles et le nombre de projets.
beeuni members invite <email> --role admin|member [--project <id>:<role>] Inviter par e-mail. Un utilisateur Beeuni existant est ajouté immédiatement ; toute autre personne reçoit un lien d’invitation par e-mail. --project peut être répété et s’applique lorsque l’invitation est acceptée. Nécessite member.invite.
beeuni members set-role <user|email> --role owner|admin|member Modifier le rôle d’un compte. Nécessite member.update ; le rôle owner est réservé au propriétaire.
beeuni members rm <user|email> [-y|--yes] Supprimer un membre et révoquer ses jetons. Nécessite member.remove.
beeuni members super-admin <user|email> on|off Accorder ou révoquer l’accès de contournement super-admin. Nécessite member.super_admin.grant.
beeuni members invites ls [--json] Lister les invitations en attente que vous avez envoyées.
beeuni members invites cancel <invite-id> Annuler une invitation en attente.
beeuni members invites resend <invite-id> Renvoyer l’e-mail et réinitialiser l’expiration de 14 jours.

Un <user> est un identifiant utilisateur ou l’adresse e-mail d’une personne déjà membre du compte. Options : --account <id>, --host <name>, --json, -y.

Groupes

Un groupe de comptes est un ensemble nommé de personnes auxquelles vous attribuez un rôle en une seule fois. Associez un groupe à une portée avec beeuni access grant --group <id> --role <key> ; révoquez cette association avec beeuni access revoke <assignment-id>.

Commande Effet
beeuni groups ls [--json] Liste les groupes avec le nombre de membres et de projets.
beeuni groups create <name> [--description <t>] Crée un groupe.
beeuni groups set <group> [--name <n>] [--description <t>|--no-description] Renomme ou modifie la description d’un groupe.
beeuni groups rm <group> [-y|--yes] Supprime un groupe. Ses autorisations sont également supprimées.
beeuni groups members <group> [--json] Liste les membres d’un groupe.
beeuni groups add <group> <user>... Ajoute une ou plusieurs personnes.
beeuni groups remove <group> <user> Retire une personne.
beeuni groups projects <group> [--json] Indique les projets accessibles au groupe et le rôle associé.

Un <group> est un identifiant de groupe ou son nom exact. Les lectures nécessitent group.read. create, set et add nécessitent group.update ou group.members.manage, ainsi que le droit rbac de l’entreprise. rm et remove servent au nettoyage et ne sont jamais soumis à des droits.

Jetons

Identifiants non interactifs du compte. Les lectures nécessitent token.read. Chaque membre du compte peut créer et révoquer ses propres clés personnelles (token.personal.create, token.personal.revoke) ; une clé personnelle agit en votre nom et ne possède jamais plus de vos propres rôles. Les comptes de service et les clés d’autres personnes nécessitent token.create / token.revoke (propriétaire et administrateur).

Commande Effet
beeuni tokens ls [--mine] [--json] Liste les clés API personnelles du compte. --mine limite la liste à celles que vous avez créées.
beeuni tokens new <name> [--expires <when>] [--project <id>] Crée une clé. Le secret n’est affiché qu’une fois. --project l’associe à un seul projet, qu’elle ne peut jamais quitter.
beeuni tokens rm <token-id> [-y|--yes] Révoque immédiatement une clé.
beeuni tokens apps ls [--json] Liste vos applications connectées : les applications et clients MCP que vous avez approuvés avec Sign in with Beeuni, pour tous les comptes.
beeuni tokens apps rm <client-id> [-y|--yes] [--json] Révoque une application connectée : ses jetons cessent immédiatement de fonctionner et elle doit vous redemander l’autorisation.
beeuni tokens service-accounts ls [--json] Liste les comptes de service.
beeuni tokens service-accounts new <name> [--description <t>] [--expires <when>] En crée un. Le bearer n’est affiché qu’une fois.
beeuni tokens service-accounts disable <id> Désactive un compte de service : il ne peut plus s’authentifier ; supprimez-le et recréez-le pour le réactiver.
beeuni tokens service-accounts rm <id> [-y|--yes] Supprime définitivement un compte de service.

Une clé API personnelle agit en votre nom et expire avec votre adhésion. Un compte de service agit en son propre nom et n’hérite d’aucun accès : un nouveau compte ne possède aucune autorisation. Accordez-lui-en une avec beeuni access grant --service-account <id> --role <key>. --expires <when> accepte une date ISO-8601 ou une durée à partir de maintenant : 30d, 12h, 6w, 1y.

Facturation

Lisez le forfait, les crédits et les dépenses du compte actif. Lecture seule : les changements de forfait, les recharges et les moyens de paiement se font dans le tableau de bord.

Commande Effet
beeuni billing status [--json] Forfait, crédits, sièges et abonnement.
beeuni billing transactions [--limit <n>] [--offset <n>] [--type <a,b>] [--json] Registre des crédits, du plus récent au plus ancien. Taille de page par défaut : 50.
beeuni billing transactions --summary|--breakdown|--usage [--days <n>] Crédits entrants/sortants, répartition du solde (expirants/non expirants/quotidiens) ou résumé de l’utilisation des crédits. --days définit la fenêtre pour --summary et --usage ; valeur par défaut : 30.
beeuni billing costs [--since <iso>] [--until <iso>] [--json] Dépenses du compte sur une période, avec ventilation par modèle. Fenêtre par défaut : 30 jours, demi-ouverte [from, to) UTC.
beeuni billing costs --by project|session [--sort <k>] [--limit <n>] [--offset <n>] [--csv <file>] Regroupe les dépenses par projet ou par session. --sort accepte total_desc (par défaut), total_asc, recent ou name_asc (--by project uniquement). --csv nécessite --by.

Filtres : --project <id>, --session <id> et --owner <id> (sessions, avec --by session). Options : --account <id>, --host <name>, --json.

Projets

Une commande détermine « le projet » dans cet ordre :

  1. L’option --project.
  2. La variable d’environnement BEEUNI_PROJECT_ID.
  3. .beeuni/link.json dans le répertoire de travail exact.
  4. La valeur par défaut globale définie par beeuni projects use.
Commande Effet
beeuni projects ls [--all] [--query <text>] [--json] Liste les projets du compte actif. --all couvre tous les comptes auxquels vous appartenez. --query (alias -q) filtre par nom, identifiant ou dépôt.
beeuni projects info [<id>] [--json] Affiche un projet. Par défaut : le projet associé ou le projet par défaut.
beeuni projects use [<id>] Définit le projet par défaut global. Change de compte actif si le projet se trouve ailleurs.
beeuni projects unset Efface le projet par défaut global.
beeuni projects link [<id>] Associe le répertoire actuel à un projet. Écrit .beeuni/link.json.
beeuni projects unlink Supprime .beeuni/link.json.
beeuni projects open [<id>] Ouvre la page du tableau de bord d’un projet dans votre navigateur.
beeuni projects clone [<id>] [dir] Clone le dépôt d’un projet via le proxy git Beeuni authentifié.
beeuni projects rm [<id>] [-y|--yes] Supprime un projet et son dépôt git géré par Beeuni. Les dépôts que vous avez connectés vous-même ne sont jamais modifiés.
beeuni projects set [<id>] [--name <n>] [--branch <b>] [--manifest <path>] [--json] Met à jour les paramètres d’un projet. Seuls les champs transmis sont écrits. Si aucun champ n’est transmis, quitte 2. Alias : update.
beeuni projects set [<id>] --icon <emoji>|--no-icon|--glyph <name>:<color>|--no-glyph Définit ou supprime l’icône du projet.
beeuni projects rename [<id>] <name> Alias de beeuni projects set --name <name>.
beeuni projects features [ls] [--json] Liste chaque indicateur de fonctionnalité avec sa clé, son état, son origine et sa stabilité.
beeuni projects features enable|disable|reset <flag> Active ou désactive la surcharge du projet, ou l’efface afin que l’indicateur suive la valeur par défaut de la plateforme.
beeuni projects cli-tokens ls [--json] Liste les jetons CLI du projet.
beeuni projects cli-tokens new [--name <name>] [--expires-at <iso>] Crée un jeton CLI limité au projet. Le secret n’est affiché qu’une fois.
beeuni projects cli-tokens rm <token-id> [-y|--yes] Révoque un jeton CLI du projet.
beeuni projects upgrade [<id>] [--json] Démarre la session de l’agent qui migre un beeuni.toml v1 vers un beeuni.yaml v2 et ouvre une demande de modification.

Un projet n’affiche qu’une seule icône : écrire --icon efface le glyphe et écrire --glyph efface l’emoji ; transmettre les deux est refusé. Couleurs des glyphes : grey, red, orange, yellow, lime, blue, purple, magenta. set et features nécessitent project.settings.write. Un indicateur que la plateforme marque comme indisponible reste désactivé, quelle que soit la surcharge du projet.

Un jeton CLI de projet est associé à un seul projet — l’API le rejette partout ailleurs. Un bac à sable de session utilise son BEEUNI_TOKEN associé à la session. cli-tokens ls nécessite l’accès en lecture au projet ; new et rm nécessitent project.credentials.issue. Un jeton associé à une session ne peut ni créer ni révoquer de jetons de projet (403), que le projet déclare ou non des agents. Un jeton CLI de projet suit la politique PAT du compte : lorsque le compte exige une expiration, transmettez --expires-at ; une expiration dépassant la durée de vie maximale renvoie 400.

beeuni projects upgrade nécessite l’accès en écriture au projet. L’agent par défaut actualise la référence du marketplace, réécrit le manifeste, exécute beeuni validate et ouvre une demande de modification. Il ne fusionne jamais les modifications : un humain examine le diff.

Structure du projet

beeuni init [project-name] [options] crée un nouveau répertoire de projet. Le modèle initial écrit un beeuni.yaml v2, agents/, skills/, memory/ et harnesses/opencode/. La commande peut configurer la détection des outils de codage locaux sans modifier le moteur d’agent par défaut. Elle n’écrit pas .beeuni/link.json. beeuni ship ou beeuni projects link créent ce fichier.

Option Signification
--name <project> Nom du projet.
--primary <agent> Agent principal.
--agents <csv> Intégrations d’agents de codage locaux à configurer.
--force Configure le répertoire actuel sur place au lieu d’en créer un nouveau.
--overwrite Écrase les fichiers existants.
--no-git Ignore l’initialisation de git.
-y, --yes Ne demande pas de confirmation.

La sélection de l’outil de codage local ne modifie pas le moteur d’agent par défaut.

beeuni init n’inclut pas de sélecteur de marketplace. Ajouter une compétence de marketplace est une importation d’agent : démarrez une session et demandez à l’agent d’en importer une.

Livraison

beeuni ship prépare, valide et pousse votre branche actuelle vers le dépôt git du projet. Exécutez-la une fois pour créer le projet, puis à nouveau à tout moment pour le synchroniser. Alias : beeuni deploy.

À chaque exécution :

  • Exécute les vérifications beeuni validate : beeuni.yaml fusionné avec tous les fichiers qu’il répertorie sous imports:, les Dockerfiles du bac à sable, le câblage de l’agent et la taille du dépôt (ignorer avec --no-verify). Une erreur bloque la publication. Un avertissement ne la bloque jamais.
  • Valide toute modification non validée de l’arborescence de travail (ignorer avec --no-commit).
  • Demande tout secret env manquant (ignorer avec --no-env).
  • Pousse la branche actuelle vers la branche distante du même nom.
  • Connecte tout connecteur déclaré qui nécessite encore une authentification (ignorer avec --no-connect).

Un origin GitHub existant est associé via l’application Beeuni GitHub. Tout autre origin existant est enregistré tel quel. Sans origin, un dépôt git Beeuni géré est créé.

Option Effet
--name <project> Nom d’affichage d’un nouveau projet.
--account <id|slug> Compte sous lequel créer le projet (uniquement lors de la première publication).
--origin <managed|git-url> Remplace le choix de source déduit automatiquement.
--github-token <pat> Associe une source GitHub avec ce jeton plutôt qu’avec l’application GitHub.
-m, --message <text> Message de commit.
--no-commit / --no-verify / --no-env / --no-connect Ignorer cette étape.
-y, --yes Ne pas demander de confirmation.
-n, --dry-run Afficher ce qui se passerait, sans rien modifier.
--project <id> / --host <name> Cibler un projet ou un hôte autre que celui par défaut.

Applications

Apps héberge des sites statiques, serveurs, tâches et bases de données. Chaque App possède une URL stable. Une version contient le code et la configuration ; un déploiement échoué ne remplace pas la version active.

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

Reliez les Apps avec uses et les exemples de beeuni apps connect. Ne placez pas les identifiants administratifs dans le code client.

Les ressources actives consomment les crédits du compte. Consultez Billing et Usage. Apps ne possède pas de budget mensuel distinct.

Apps

Sessions

Chaque session s’exécute dans un bac à sable sur sa propre branche.

Commande Effet
beeuni sessions ls [--mine|--shared|--automated] [--search <q>] [--label <label>]... [--json] Liste les sessions. --label peut être répété ; une session doit porter toutes les étiquettes indiquées. Une colonne LABELS apparaît si une session listée possède des étiquettes.
beeuni sessions status [--all] [--json] Toutes les sessions et l’activité actuelle de leur agent. Alias : overview, ps.
beeuni sessions info <id> [--json] Vue détaillée : état, branche, agent, URL du sandbox.
beeuni sessions new [--prompt "<text>"] [--agent <name>] [--model <id>] [--wait] [--connect] [--json] Démarre une session. --connect ouvre l’interface TUI du moteur d’agent par défaut dès qu’elle est prête (implique --wait) ; dans un terminal interactif sans cette option, l’interface demande si vous souhaitez vous connecter après la création. --model <id> remplace le modèle par défaut du projet ; un modèle utilisant une clé API ou un abonnement ChatGPT utilise toutes les clés disponibles pour ce modèle, qui alternent. --wait attend que la session soit en cours d’exécution (jusqu’à ~5 minutes). Utilisez --secret <id> ou --no-secrets pour limiter l’accès aux Secrets. Ces options Secret nécessitent un jeton de backend. Utilisez --connector <alias>=<authorization-id> ou --no-connectors pour définir l’accès aux Connectors. Utilisez --require-connector <alias> pour exiger une autorisation avant le provisionnement. Les options de portée peuvent être répétées. Utilisez --context <key>=<value> pour le contexte d’exécution non secret. --label <label> (répétable) catégorise la session ; --meta <key>=<value> (répétable) stocke une chaîne dans ses métadonnées.
beeuni sessions chat [<id>] [--prompt "<text>"] [--queue | --steer] [--new] [--agent <name>] [--json] Discute avec l’agent d’une session. Mode interactif par défaut. Alias : talk. La commande de premier niveau beeuni chat fonctionne aussi. --queue est réservé à un seul envoi : il stocke l’invite dans la boîte de réception persistante de la session et retourne dès qu’elle est enregistrée, au lieu de la transmettre à l’environnement d’exécution. --steer la stocke de la même façon, et le tour en cours la lit à l’étape suivante sans s’arrêter. Si aucun tour n’est en cours, il en démarre un. Une session qui ne peut pas être pilotée l’exécute comme --queue.
beeuni sessions connect [<id>] [-- <opencode args>] Ouvre l’interface TUI du moteur d’agent par défaut sur le serveur du moteur d’agent par défaut de la session. Également disponible au premier niveau : beeuni connect / beeuni attach. Sans identifiant, ouvre un sélecteur de session (en cours d’exécution, arrêtée avec redémarrage possible, ou nouvelle). L’interface télécharge automatiquement le binaire opencode correspondant à la version (cache : ~/.beeuni/opencode/<version>/ ; remplacement : BEEUNI_OPENCODE_BIN). Une session pi n’a pas de serveur opencode : la commande quitte avec le code 1 et indique plutôt beeuni sessions shell et beeuni sessions chat.
beeuni tui [--host <name>] [--project <id>] [--session <id>] [--new] [--agent <name>] [--terminal] [--no-sidebar] [--mouse] [--install] [--uninstall] Expérimental. Ouvre le client terminal Beeuni : sessions, transcription, zone de saisie, shell du sandbox, Files, Review, Apps, Customize et Account. Alias beeuni t et beeunit. --new crée une session dans le projet au démarrage (--agent choisit l’agent), --terminal ouvre le shell du sandbox avec le focus, --no-sidebar démarre sans la barre latérale (Alt+B l’affiche ou la masque), --mouse confie le contrôle de la souris à l’application (désactivé par défaut pour que la sélection, la copie et les clics sur les liens de votre terminal continuent de fonctionner). L’interface TUI est un binaire distinct d’environ 80 Mo ; au premier lancement, une confirmation est demandée, puis le binaire beeuni-tui correspondant à la version est installé dans ~/.beeuni/tui/<version>/ ; les mises à jour ultérieures de l’interface actualisent le binaire sans demander confirmation et réutilisent un binaire inchangé. --install effectue l’installation sans demander confirmation, --uninstall le supprime. Utilise l’hôte actif, sauf si --host en indique un autre ; si aucun hôte n’est connecté, l’interface ouvre son propre écran de connexion. ? affiche toutes les combinaisons de touches. Voir /docs/cli#sessions.
beeuni sessions shell [<id>] [--new] Ouvre un terminal interactif brut dans le sandbox, sans agent. Se rattache au terminal existant de la session ; --new en démarre toujours un nouveau. Alias : terminal, ssh.
beeuni sessions shell <id> ls [--json] Liste les terminaux de la session : identifiant, état, commande. Ne nécessite pas de TTY.
beeuni sessions shell <id> kill <pty-id> Ferme un terminal. Le shell ambiant est recréé au prochain rattachement ; les processus qui y sont exécutés ne le sont pas.
beeuni sessions forward <id> --port <sandbox>[:<local>] Transfère un port du sandbox vers votre machine, comme dans VS Code, afin que http://localhost:3000 imprimée par un agent fonctionne dans votre navigateur. --port peut être répétée ; si aucun port local n’est indiqué, le même numéro est utilisé s’il est libre, sinon le prochain port libre ; :0 demande un port éphémère attribué par le système d’exploitation. Le transfert prend en charge HTTP et WebSocket (le rechargement à chaud du serveur de développement fonctionne). Affiche une ligne ⇄ localhost:N → sandbox:M par transfert et reste au premier plan jusqu’à Ctrl+C. Ne démarre pas une session arrêtée : affiche plutôt la solution beeuni sessions restart. Alias : ports.
beeuni sessions log [<id>] [--limit <n>] [--json] Affiche les messages récents en lecture seule. Une session en cours d’exécution est lue en direct ; une session arrêtée est lue à partir de la transcription enregistrée à la fin de chaque tour. Elle n’est donc jamais réactivée uniquement pour être lue. La source est indiquée sur stderr, afin que la sortie --json reste inchangée. Alias : messages, history.
beeuni sessions attachments <id> [--download <attachment-id>|--all] [--out <dir>] [--json] Liste les fichiers stockés pour une session — pièces jointes des utilisateurs et copies des fichiers présentés par l’agent — et les télécharge. Fonctionne lorsque la session est arrêtée : ni la liste ni les fichiers ne nécessitent son sandbox. Les téléchargements n’écrasent jamais un fichier existant ; un nom déjà utilisé devient name (1).ext.
beeuni sessions pending <id> [--json] Liste les demandes d’autorisation d’outil ou les questions en attente. Alias : prompts.
beeuni sessions approve <id> [<req-id>] [--always] [--reject] [--message "<text>"] Répond à une demande d’autorisation.
beeuni sessions answer <id> [<req-id>] [--option <v>]... [--text "<text>"] [--reject] Répond à une question.
beeuni sessions digest [--since <7d>] [--json] Vue compacte pour examiner plusieurs sessions. La transcription d’une session arrêtée provient de sa copie enregistrée et porte la mention saved (et partial si cette copie ne remonte pas jusqu’au premier message). Alias : review, summary.
beeuni sessions scope <id> [scope options] [--json] Consulte ou remplace l’accès aux Secrets et aux Connectors. Alias : access. Utilisez --secret <id>, --no-secrets ou --inherit-secrets pour les Secrets. Utilisez --connector <alias>=<authorization-id> ou --no-connectors pour les associations de Connectors. Utilisez --require-connector <alias> ou --no-required-connectors pour les Connectors obligatoires. Les catégories indiquées remplacent leurs valeurs actuelles. Les catégories omises restent inchangées. Les modifications s’appliquent à la prochaine invite. Les valeurs de Secret supprimées restent dans le contexte existant si la session les a déjà lues.
beeuni sessions preview <id> [port] [--port <n>] [--list] [--json] Affiche une URL d’aperçu cliquable pour un port du sandbox. Port par défaut : 3000. --list affiche plutôt les candidats indiqués.
beeuni sessions restart <id> Redémarre le sandbox de la session.
beeuni sessions rename <id> <name> Définit le nom d’une session. Indiquez "" pour l’effacer.
beeuni sessions update [<id>] [--label <l>]... [--unlabel <l>]... [--clear-labels] [--meta <key>=<value>]... [--unmeta <key>]... [--json] Modifie les étiquettes et les métadonnées d’une session. --label ajoute, --unlabel supprime, --clear-labels vide d’abord la liste ; --meta définit une clé chaîne, --unmeta supprime une clé. Sans identifiant, modifie $BEEUNI_SESSION_ID, afin qu’un agent puisse étiqueter la session dans laquelle il s’exécute. Alias : label.
beeuni sessions rm <id>... Arrête et supprime une ou plusieurs sessions.
beeuni sessions open <id> Ouvre la page du tableau de bord d’une session dans votre navigateur.
beeuni sessions stop <id> [--json] Met une session en pause. Le sandbox s’arrête sur place et le disque est conservé. Alias : pause. Nécessite project.session.stop.
beeuni sessions start <id> [--wait] [--json] Réactive une session : provisionne un sandbox manquant, reprend une session arrêtée et résout son environnement d’exécution. L’opération est idempotente. Alias : wake. --wait attend que la session soit prête (jusqu’à ~5 min) et quitte avec le code 1 si la session finit en échec ou à l’arrêt.
beeuni sessions warm [--exclude <id>] [--json] Crée à l’avance la session que vous allez utiliser, afin que le sandbox soit déjà démarré. Réutilise une session préchauffée existante et inutilisée. Une session préchauffée reste masquée dans sessions ls jusqu’à sa première invite.
beeuni sessions model <id> <model-id> [--json] Modifie le modèle utilisé par une session en cours. Un sandbox actif est redirigé vers le nouveau modèle et son environnement d’exécution redémarre, ce qui met fin au tour en cours ; une session arrêtée enregistre la valeur pour son prochain démarrage. Une session pour laquelle aucune clé n’est sélectionnée chez le fournisseur du nouveau modèle reçoit toutes les clés disponibles pour ce fournisseur.
beeuni sessions compact <id> [--json] Résumer la conversation jusqu’ici et continuer à partir du résumé. Une session dont l’environnement d’exécution ne répertorie pas session.compact se termine avec 1 comme motif.
beeuni sessions queue <id> [ls] [--json] Lister les invites encore en attente dans la boîte de réception persistante de la session.
beeuni sessions queue <id> rm <prompt-id> Supprimer une invite mise en file d’attente. Refusé (409) dès qu’une étape du modèle a commencé à y répondre.
beeuni sessions queue <id> now <prompt-id> Exécuter ensuite une invite en attente : la remettre en file avant les autres selon la règle de priorité et lever la suspension de la session.
beeuni sessions queue <id> hold|release Suspendre toutes les invites en attente — ce que fait le bouton Stop — ou lever la suspension.
beeuni sessions approvals <id> [ls] [--json] Lister les appels de connecteur soumis à approbation et en attente d’un humain dans cette session.
beeuni sessions approvals <id> approve|deny <execution-id> Autoriser l’exécution d’un appel de connecteur soumis à approbation, ou le refuser. L’agent en est informé et continue sans cet appel.
beeuni sessions files <id> <subcommand> [--json] Lire et modifier l’espace de travail actif du bac à sable : 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] Définir qui, au sein de Beeuni, peut ouvrir cette session. Sans --mode, affiche le paramètre actuel et ne le modifie pas. --member et --group peuvent être répétés.
beeuni sessions links <id> ls [--json] Lister tous les liens publics créés pour la session, du plus récent au plus ancien.
beeuni sessions links <id> create [options] Créer un lien public sans authentification vers un port d’aperçu ou un fichier de l’espace de travail.
beeuni sessions links <id> revoke <share-id> Révoquer un lien public.

sessions queue nécessite project.session.start — la même autorisation que pour envoyer un message. Une invite mise en file d’attente persiste à la fermeture du terminal et est transmise lorsque la session peut la recevoir. Ajoutez-en une avec beeuni sessions chat <id> -p "…" --queue, ou orientez le tour en cours avec --steer. sessions queue ls affiche l’DELIVERY de chaque invite (steer, queue ou interrupt) et, pour une invite d’orientation exécutée comme queue, le motif : unsupported (la session ne peut pas recevoir de messages pendant un tour), not_prompter (le tour d’un autre membre est en cours) ou turn_ended.

Les sessions approvals sont persistantes : contrairement aux sessions pending, elles survivent au redémarrage du bac à sable. Il faut project.members.manage, ou être l’humain qui a lancé la session. Un agent ne peut jamais résoudre sa propre demande d’approbation.

sessions attachments lit le stockage de fichiers privé de la session, et non son espace de travail. Les fichiers y sont déposés au moment de l’envoi, et chaque fichier présenté par l’agent y est déposé à la fin du tour.

sessions files lit l’arborescence de travail que l’agent modifie en ce moment, avant que quoi que ce soit soit validé ; beeuni files lit plutôt le dépôt validé. Les chemins sont résolus sous /workspace, sauf s’ils commencent par /workspace, /tmp, /home ou /opt. La commande réveille le bac à sable s’il est en veille. Options : --from <local path> (write lit ce fichier au lieu de stdin), --content (find recherche dans le contenu avec ripgrep plutôt que dans les noms de fichiers), --limit <N> (limite de fichiers find) et -y pour ignorer la confirmation rm.

sessions share est soumis au contrôle du propriétaire : l’API refuse les demandes d’un responsable de projet qui ne peut pas déjà lire la session. Une session partagée s’exécute uniquement avec les clés du fournisseur partagées avec l’ensemble du projet : un modèle exécuté avec vos propres clés passe aux clés du projet pour ce fournisseur ; si aucune clé de ce fournisseur n’est disponible, le partage est refusé (409 SHARED_SESSION_NEEDS_PROJECT_KEY).

Options de sessions links create : --port <n> (par défaut 3000 ; 22, 8000 et les ports opencode sont refusés), --path <p> (par défaut /), --preview <id> (un candidat nommé — web, vite, dev-server, api-docs — au lieu de --port/--path), --file <path> (partager un fichier de l’espace de travail au lieu d’un aperçu ; toujours en lecture seule), --mode view\|interactive (par défaut view ; interactive autorise les écritures et les websockets, et est ignoré pour --file), --label <text> et --expires <iso>. La création d’un lien nécessite l’accord du propriétaire de la session, car le lien lui-même ne nécessite aucune connexion ; la liste et la révocation sont également accessibles à un responsable de projet.

Dans un bac à sable, BEEUNI_SESSION_ID est l’identifiant de votre propre session.

Demandes de modification

Une demande de modification (CR) fusionne une branche dans une autre sur n’importe quel hébergeur Git. C’est le seul moyen pour un agent d’intégrer le travail de sa session dans la branche par défaut. Voir Demandes de modification.

Commande Effet
beeuni cr ls [--status open|merged|closed|all] [--project <id>] Lister les CR. Par défaut : --status open.
beeuni cr show <cr> [--project <id>] Afficher une CR, y compris son aperçu de fusion. Alias : info.
beeuni cr diff <cr> [--no-color] [--json] Afficher le diff unifié d’une CR.
beeuni cr open --title "<text>" [--description "<text>"] [--head <ref>] [--session <id>] [--base <ref>] Ouvrir une CR. Alias : new, create. Dans un bac à sable, --head et --session sont renseignés automatiquement par défaut. --base utilise par défaut la branche par défaut du projet.
beeuni cr merge <cr> [--message "<text>"] Fusionner une CR ouverte. Avance rapide si possible, fusion à trois voies sinon.
beeuni cr close <cr> Fermer une CR ouverte sans la fusionner.
beeuni cr reopen <cr> Rouvrir une CR fermée. Les CR fusionnées sont définitives.
beeuni cr merge-preview <cr> [--json] Indiquer si la CR peut être fusionnée et lister tous les chemins en conflit. Alias : preview.
beeuni cr request-changes <cr> --message "<text>" Demander à l’agent qui a ouvert la CR de la réviser. Alias : changes.
beeuni cr version-diff --from <ver> --into <ver> [--json] Résumer une version par rapport à une autre avant d’ouvrir une CR.

request-changes ajoute une note à la CR et la transmet à la session d’origine, en démarrant son bac à sable s’il est en veille. Nécessite project.review.act — la même autorisation terminale que celle utilisée par le Centre de révision, et non gitops.push.

<cr> accepte un numéro propre au projet (3) ou l’identifiant complet. Dans un bac à sable, l’interface en ligne de commande lit automatiquement son jeton — aucune connexion ni aucun lien ne sont nécessaires.

Révision

La boîte de réception de révision du projet — tout ce qui attend une décision humaine : demandes de modification, appels d’outils de connecteur dont la politique exige une approbation, ainsi que les résultats, décisions et lots soumis par les agents pour approbation. Elle reflète le Centre de révision du tableau de bord. Activée pour tous les projets ; project.review.read et project.review.act contrôlent la lecture et les actions.

Commande Effet
beeuni review ls [--segment <s>] [--kind <k>] [--json] Lister les éléments de la boîte de réception. Par défaut : tous les segments.
beeuni review show <item-id> [--json] Afficher un élément en entier.
beeuni review act <item-id> <verdict> [--message <text>] Décider du sort d’un élément. --message contient la note.
beeuni review bulk <verdict> <id> [<id> …] Décider du sort de plusieurs éléments natifs en un seul appel.
beeuni review submit --kind <k> --title <t> [options] Soumettre un résultat, une décision ou un lot pour révision.

Verdicts : approve, reject, changes, answer, dismiss. Segments : needs_you, waiting, done. Types : change, approval, output, decision, batch.

La destination d’un verdict dépend de l’identifiant de l’élément. Pour cr:<id>, approve fusionne la modification, reject la ferme et changes renvoie la note à l’agent qui l’a ouverte (--message requis). Pour call:<id>, approve autorise l’exécution de l’appel et reject le refuse ; une approbation de connecteur n’accepte aucun autre verdict — consultez d’abord ses arguments avec beeuni review show. Tous les autres identifiants sont traités par le point de terminaison d’action natif, qui accepte tous les verdicts.

bulk agit uniquement sur les identifiants natifs. Une approbation de connecteur nécessite l’examen de ses paramètres et une demande de modification nécessite de consulter son diff ; les deux sont signalées et ignorées — même règle que pour la sélection multiple du tableau de bord.

Options de submit : --kind output\|decision\|batch (obligatoire), --title <text> (obligatoire), --summary <text>, --risk none\|low\|medium\|high (par défaut none), --detail <json> (un objet JSON), --agent <name> et --session <id> (ignoré si la session ne fait pas partie de ce projet).

La lecture nécessite project.review.read, les verdicts nécessitent project.review.act et submit nécessite project.review.submit.

Secrets

Valeurs chiffrées stockées sur le projet. Par défaut, un secret est injecté comme variable d’environnement en clair dans chaque sandbox de session au démarrage (exposition via l’environnement). La livraison renforcée — où la sandbox conserve un handle et où Beeuni substitue la valeur réelle à l’extérieur (exposition renforcée par la sortie, et beeuni secrets call) — est expérimentale. Activez l’indicateur de fonctionnalité secrets_egress (Settings → Feature flags) pour l’utiliser ; lorsqu’il est désactivé, beeuni secrets delivery … egress renvoie 403 feature_disabled. Voir Secrets.

Commande Effet
beeuni secrets ls Répertorie les secrets par identifiant et spécification de manifeste env, avec les personnes pouvant utiliser chaque valeur. Marque les valeurs requises mais manquantes.
beeuni secrets set NAME=VALUE ... [--identifier <id>] [--scope runtime|connector] [--only-me] Crée ou met à jour un ou plusieurs secrets. NAME=- lit la valeur depuis stdin. --scope connector conserve la valeur côté serveur pour la passerelle de connecteurs. --only-me rend la nouvelle valeur utilisable uniquement par vous.
beeuni secrets share IDENTIFIER --user <email|id|me> --group <id> --agent <name> | --everyone Définit qui peut utiliser la valeur. Les personnes y accèdent directement ou dans leurs propres sessions privées ; un agent y accède dans chacune de ses sessions, déclencheurs compris. Voir Qui peut utiliser un secret.
beeuni secrets request NAME ... [--scope runtime|connector] [--expires <min>] Génère un lien permettant à une personne de saisir une valeur que vous ne possédez pas.
beeuni secrets unset NAME ... Supprime des secrets.
beeuni secrets grant IDENTIFIER --agent <name> Permet à un agent de recevoir ce secret : fusionne l’identifiant dans la liste secrets de cet agent dans beeuni.yaml, en ajoutant l’entrée de l’agent si le manifeste l’omet.

grant corrige une ligne que ls signale comme impossible à livrer. Il élargit uniquement la liste d’un agent ; pour la réduire ou la remplacer, réécrivez l’ensemble avec beeuni agents scope. There is no secrets revoke — l’API ne propose aucune route supprimant un seul identifiant d’une autorisation. La première autorisation accordée sur un projet sans agent lance la gouvernance : dès lors, un agent absent du manifeste ne reçoit aucun secret du projet, et la commande l’indique lorsque cela se produit.

Environnement

Commande Effet
beeuni env pull [--out <path>] [--force] Écrit une structure .env — noms uniquement. Les valeurs ne quittent jamais le cloud.
beeuni env push --from <path> Téléverse chaque NAME=VALUE d’un fichier dotenv comme secret.

Agents

Paramètres de modèle par agent sur le projet associé.

Commande Effet
beeuni agents ls [--json] Affiche le modèle défini pour chaque agent et la valeur par défaut de secours. Alias : models.
beeuni agents model <agent> <provider/model> Définit le modèle d’un agent.
beeuni agents model <agent> --clear Supprime la définition — l’agent suit de nouveau la valeur par défaut.
beeuni agents default <agent> Définit cet agent comme agent par défaut du projet.
beeuni agents default --show [--json] Affiche l’agent par défaut actuel.
beeuni agents scope <agent> [--secrets all|none|A,B] [--connectors all|none|a,b] [--apps all|none|a,b] [--require-connector <slug>] Remplace les secrets, connecteurs et Beeuni Apps que l’agent peut utiliser. --apps accepte des slugs d’Apps et nécessite un beeuni.yaml v2 ; l’agent nécessite également project.app.read. --require-connector peut être répété et doit être résolu avant le démarrage d’une session.
beeuni agents scope <agent> --show [--json] Affiche la portée actuelle de l’agent.
beeuni agents config <agent> [--json] Affiche le bloc de configuration complet de l’agent.
beeuni agents config <agent> --file <path> Remplace le bloc par le contenu d’un fichier JSON. - lit stdin.
beeuni agents config <agent> --set <key>=<value> ... Modifie des clés pointées individuelles, en les fusionnant. Peut être répété, par exemple behavior.model=glm-5.3-flash, enabled=false, connectors=["slack"].

Chaque option de portée remplace ; aucune ne fusionne. Une valeur --set est analysée comme JSON lorsqu’elle peut l’être, et conservée comme chaîne dans le cas contraire. Les définitions de modèles et scope s’appliquent instantanément, sans commit beeuni.yaml ; default et config effectuent un commit vers beeuni.yaml sur la branche par défaut du projet. scope nécessite project.agent.write, tout comme default et config.

Outils

Les outils dont disposent les sessions de ce projet, lus depuis le fichier beeuni.yaml local et ses imports. Exécutez depuis la racine du projet. Voir Outils.

Commande Effet
beeuni tools ls [--json] Répertorie chaque outil disponible pour les sessions : nom, type (beeuni, beeuni (overridden), project) et source (beeuni:<name> ou chemin du module). Répertorie également les outils Beeuni supprimés par le projet. --json affiche { manifest, tools_key, tools, removed }.
beeuni tools eject <name> [--force] Copie l’outil Beeuni <name> vers tools/<name>.ts et définit tools.<name>: tools/<name>.ts dans beeuni.yaml, dans le fichier qui le déclare. La ligne modifiée se termine par # ejected from beeuni:<name> ; tous les autres commentaires sont conservés. Sans clé tools:, répertorie également les quatre autres outils Beeuni afin que l’éjection ne supprime rien. Refuse l’opération lorsque tools/<name>.ts existe ou lorsque l’outil pointe déjà vers un autre module, sauf si --force. Refuse un nom qui n’est pas un outil Beeuni.

Sans clé tools:, chaque session reçoit les cinq outils Beeuni (web_search, image_search, scrape_webpage, memory, show). Avec une clé tools:, les sessions reçoivent uniquement les outils Beeuni qu’elle répertorie. Pour supprimer un outil Beeuni, supprimez sa ligne sous tools:, puis exécutez beeuni validate. Pour limiter les outils d’un agent, utilisez agents.<name>.tools. Codes de sortie : 0 terminé, 1 refusé (un fichier existe, un manifeste ou un import ne peut pas être analysé), 2 aucun manifeste, option inconnue ou nom qui n’est pas un outil Beeuni.

Modèles

Les modèles proposés par le projet et celui avec lequel il démarre. Même interface que la section Customize → Models du tableau de bord. Un projet ne stocke que ses exceptions à la valeur par défaut du catalogue (le modèle le plus récent de chaque famille). L’activation est uniquement visuelle : elle détermine ce que proposent les sélecteurs, jamais ce que la passerelle fournit.

Commande Effet
beeuni models ls [--json] Répertorie chaque modèle que vous pouvez exécuter : état, origine, mode de paiement (VIA : Beeuni, clé API ou ChatGPT — le vôtre, partagé avec vous ou partagé avec le projet), fournisseur.
beeuni models enable <model-id>... Propose ces modèles.
beeuni models disable <model-id>... Cesse de les proposer. La valeur par défaut du projet est refusée avec 409 — modifiez d’abord la valeur par défaut.
beeuni models reset Supprime toutes les exceptions et revient à la valeur par défaut du catalogue.
beeuni models default [--json] Affiche la chaîne des valeurs par défaut (projet → compte → plateforme) et sa résolution.
beeuni models default <model-id> [--account] Définit la valeur par défaut du projet, ou celle du compte avec --account.
beeuni models default --clear [--account] Supprime la valeur par défaut du projet ou du compte.

Les identifiants de modèles sont des identifiants filaires de la passerelle — un identifiant géré nu (glm-5.3-flash) ou un provider/model BYOK. Copiez-en un depuis beeuni models ls --json. Les définitions par agent se trouvent sur beeuni agents model <agent> <model-id>. Les écritures nécessitent project.model.write.

Canaux

Gère la connexion du projet à une plateforme de discussion. Les jetons sont stockés chiffrés dans les secrets du projet et résolus côté serveur — ils ne sont jamais injectés dans la sandbox.

Commande Effet
beeuni channels status [--json] Affiche la connexion actuelle.
beeuni channels connect [--wait] [--timeout <sec>] Se connecte en une étape : affiche un lien d’installation. --wait interroge jusqu’à ce que l’installation soit effectuée.
beeuni channels connect --manual [--bot-token <token>] [--signing-secret <secret>] Mode d’utilisation de votre propre application : enregistre directement un jeton de bot et un secret de signature.
beeuni channels disconnect [--platform slack|teams] Supprime la connexion du projet — celle de Slack, ou celle de Teams avec --platform teams.
beeuni channels manifest Affiche le JSON du manifeste d’application pour le parcours d’utilisation de votre propre application.
beeuni channels email status [--json] Boîte de réception et mode de livraison pour un connecteur e-mail.
beeuni channels email connect [options] Crée une boîte de réception gérée ou associe une boîte AgentMail existante.
beeuni channels email disconnect Supprime la connexion de la boîte de réception.
beeuni channels email policy [--allow <email|@domain>] [--allow-regex <re>] [--allow-all] Remplace les personnes autorisées à envoyer des e-mails à l’agent.
beeuni channels bindings [ls] [--json] Répertorie chaque canal associé ainsi que l’agent, le modèle et la politique d’adhésion auxquels il est résolu.
beeuni channels bind <bindingId> [--agent <name>|--no-agent] [--model <id>|--no-model] [--policy <p>] Modifie une association. --policy accepte owner_approval, owner_only ou project_open.

--platform slack|teams sélectionne la plateforme ; par défaut slack. Teams connect affiche l’URL de consentement de l’administrateur Microsoft ; l’octroi du consentement à l’échelle du tenant publie automatiquement l’application dans le catalogue Teams. Voir Connectors.

Le canal e-mail repose sur AgentMail et nécessite le feature flag agentmail_email. Options email connect : --connector <slug> (par défaut beeuni_email), --api-key <k> (utilisez votre propre clé AgentMail ; - lit depuis stdin), --display-name <n> (nom affiché comme expéditeur des e-mails sortants ; par défaut, le nom du projet), --username <u> et --domain <d> (nouvelle boîte de réception gérée), et --inbox-id <id> avec --email <addr> (associer une boîte de réception existante — les deux sont obligatoires ensemble). --allow peut être répété et active le mode restreint ; une valeur seule sans @, ou précédée de @, est interprétée comme un domaine. --allow-all vide la liste et accepte à nouveau tous les expéditeurs.

Les écritures e-mail et bind nécessitent project.connector.write.

Connecteurs

Les connecteurs sont des outils qu’un agent peut appeler. add, rm et policy set modifient le fichier local beeuni.yaml ; exécutez beeuni ship pour appliquer les changements, sauf si vous transmettez --apply pour modifier immédiatement le projet cloud.

Commande Effet
beeuni connectors ls [--json] Lister les connecteurs et leur état.
beeuni connectors show <slug> [--json] Afficher les outils d’un connecteur.
beeuni connectors add <slug> --provider <p> [options] [--apply] Ajouter un connecteur.
beeuni connectors rm <slug> [--apply] Supprimer un connecteur.
beeuni connectors rename <slug> <name> Définir le nom d’affichage d’un connecteur.
beeuni connectors sync Réconcilier le catalogue à partir de beeuni.yaml fourni.
beeuni connectors credential <slug> [value] Définir les identifiants d’un connecteur.
beeuni connectors connect <slug> Lancer un flux de connexion en un clic.
beeuni connectors link <slug> [--expires <min>] Créer un lien de connexion partageable pour une personne.
beeuni connectors types [--connector <a,b>] [--out <file>] Écrire les types TypeScript de chaque action appelable : un fichier declare module '@beeuni/sdk' qui type les arguments connectors.callAction(slug, action, args) et output. Les connecteurs gérés ne publient aucun schéma de sortie ; leur résultat est donc unknown. Sans --out, le résultat s’affiche dans stdout.
beeuni connectors accounts <slug> [--default <label|id>] [--json] Lister les comptes que vos appels peuvent utiliser, avec l’identité associée à chacun. --default en définit un comme compte fixe.
beeuni connectors connections ls [--all] [--json] Lister les connexions avec leur libellé, CONNECTED AS, propriétaire, WHO CAN USE (owner only, everyone ou les libellés des autorisations, avec (not you) lorsque vous la listez uniquement pour la gérer), état et statut par défaut.
beeuni connectors connections rename <id> <label…> Renommer une connexion. Seul le libellé change ; aucune nouvelle autorisation n’est demandée.
beeuni connectors connections share <id> [--group <id>]… [--user <email|id>]… [--everyone] Partager votre compte privé : il devient un compte partagé que seule cette personne peut utiliser (--everyone : tout le projet). Nécessite le droit de gérer les connexions du projet.
beeuni connectors apps [<query>] [--category <c>] [--cursor <c>] [--limit <n>] [--json] Rechercher dans le catalogue des boîtes à outils gérées — les identifiants que add --provider composio --app <slug> accepte. Alias : beeuni connectors toolkits. Ajoutez --pipedream pour le catalogue hérité.
beeuni connectors catalog [<query>] [--cursor <c>] [--json] Parcourir le catalogue des connecteurs directs. Nécessite le flag connectors_api_discover.
beeuni connectors catalog show <id> [--json] Afficher les surfaces d’une fiche du catalogue.
beeuni connectors sensitive <slug> on|off Soumettre également les lectures de ce connecteur à un contrôle : chaque appel nécessite alors une approbation. Prend effet immédiatement.
beeuni connectors owner <slug> project|user Définir qui autorise : une connexion du projet ou chaque membre individuellement. Prend effet immédiatement.
beeuni connectors authorize <slug> [--status] [--scope "<a b>"] [--client-id <id>] [--client-secret <s>] [--success-redirect <url>] [--error-redirect <url>] [--json] Configurer OAuth 2.1 de bout en bout pour un connecteur : découvrir les métadonnées d’autorisation du serveur, inscrire Beeuni comme client (RFC 7591) si le serveur le permet, puis afficher l’URL d’approbation. --status affiche le résultat à la place.
beeuni connectors authorize <slug> --device Même chose, avec le flux OAuth 2.0 pour les appareils (RFC 8628) : afficher un code et une URL, puis vérifier jusqu’à l’approbation, au refus ou à l’expiration.
beeuni connectors policy ls [--json] Afficher la politique d’exécution à l’échelle du projet. Alias : show.
beeuni connectors policy set --default <risk|allow_all> [--apply] Définir le mode d’exécution par défaut dans beeuni.yaml. --apply le définit directement.
beeuni connectors policy add <match> <allow|ask|block> [--condition <k=v>] Ajouter une règle à l’échelle du projet. Prend effet immédiatement. --condition la limite à un argument correspondant et peut être répété ; k!=v inverse la correspondance, et k est un chemin en notation pointée dans les arguments de l’appel.
beeuni connectors policy rm <match> Supprimer une règle à l’échelle du projet. Prend effet immédiatement.
beeuni connectors policy <slug> ls|set <match> <allow|ask|block>|rm <match>|clear Gérer les règles d’appel d’outils d’un connecteur.

policy ls, show, set, add et rm constituent la surface à l’échelle du projet. Un connecteur portant l’un de ces noms de verbes doit donc être désigné par policy <slug> ls. Un <match> peut être un nom d’outil, un motif glob (send_*) ou un /regex/.

Options 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.

Environnements de test

Gère les images d’environnement de test du projet. Un modèle définit une image ou un Dockerfile, ainsi que des ressources ; une compilation produit l’instantané à partir duquel les sessions démarrent.

Commande Effet
beeuni sandboxes ls [--json] Lister les modèles et l’état actuel du fournisseur.
beeuni sandboxes builds [--json] Afficher le journal de compilation récent.
beeuni sandboxes health [--json] Vérifier que le modèle principal est prêt.
beeuni sandboxes add <slug> (--image <i>|--dockerfile <p>) [options] Créer un modèle personnalisé et lancer une compilation.
beeuni sandboxes update <slug> [options] Mettre à jour un modèle.
beeuni sandboxes build <slug> Lancer une nouvelle compilation.
beeuni sandboxes rebuild <slug> Forcer une nouvelle compilation : supprimer d’abord l’instantané existant.
beeuni sandboxes rm <slug> Supprimer un modèle.
beeuni sandboxes fix Démarrer une session avec le journal de la dernière compilation échouée pour la réparer.
beeuni sandboxes provider [--json] Afficher le fournisseur d’environnement de test défini pour le projet et les fournisseurs proposés par cet hôte.
beeuni sandboxes provider <name> [--timeout <sec>] Affecter un seul fournisseur à chaque nouvelle session. Si la cible nécessite d’abord la compilation de son instantané, l’API renvoie une préparation et la commande attend qu’elle soit terminée. Valeur par défaut de --timeout : 600s.
beeuni sandboxes provider --clear Supprimer l’affectation et utiliser le fournisseur par défaut de la plateforme. Alias : --unpin.
beeuni sandboxes provider status [--json] Afficher la dernière transition de fournisseur et son historique. Alias : transition.

L’affectation d’un fournisseur nécessite project.settings.write.

Options add/update : --name <label>, --cpu <n>, --memory <n> (GiB), --disk <n> (GiB).

Backends

Les bases de données sont des Apps avec des volumes persistants. Gérez-les et connectez-les via Apps.

Apps

Marketplace

Parcourez la marketplace Beeuni et installez un élément dans un projet.

Commande Effet
beeuni marketplace search [query] Recherche des éléments dans la marketplace.
beeuni marketplace list Liste les éléments de la marketplace.
beeuni marketplace show <id-or-name> Affiche un élément de la marketplace.
beeuni marketplace install <id-or-name> Démarre une session d’agent qui importe l’élément.

Options : --query <text>, --type <type>, --source <source>, --host <name>, --project <id>, --json.

L’installation est pilotée par un agent : il démarre une session de projet qui clone l’élément, l’examine, fusionne ce qui convient et ouvre une demande de modification. Il n’existe pas de mécanisme d’installation, de mise à jour ou de suppression déterministe.

Compétences système

Les compétences système de Beeuni constituent la référence opérationnelle de la plateforme, pour les personnes comme pour les agents. Elles couvrent les sessions, les environnements isolés, le moteur d’agent par défaut, les connecteurs, la mémoire et les canaux. Cette page publique en est le point d’entrée ; la CLI authentifiée récupère les compétences depuis l’hôte en cours d’exécution. Utilisez beeuni system-skills list pour découvrir les compétences disponibles, puis get pour celle dont vous avez besoin. L’API les fournit en direct, elles correspondent donc à la version déployée de l’hôte. Ne considérez pas une copie locale comme à jour.

Commande Effet
beeuni system-skills list Liste les compétences système Beeuni. Sous-commande par défaut.
beeuni system-skills get <name> [--full] Affiche le SKILL.md actuel d’une compétence. --full ajoute les fichiers référencés.
beeuni system-skills path [name] Affiche le répertoire d’une compétence sur le disque du projet.

Options : --host <name>, --json.

beeuni skills est un alias permanent pour la même commande. Connectez-vous d’abord à l’hôte avec beeuni login ; l’API des compétences exige une authentification. Utilisez --host <name> pour travailler avec un autre hôte. Une page de documentation publique ne peut pas remplacer ces instructions en direct, propres à l’hôte.

Cette liste contient toujours les compétences système, jamais un mélange. Les compétences facultatives se trouvent dans la marketplace : beeuni marketplace list --type skill. Pour la syntaxe des commandes, utilisez beeuni <command> --help ; pour la référence complète de la plateforme, consultez beeuni system-skills get beeuni-system --full.

Connecteur

L’interface de l’agent dans l’environnement isolé avec tous les connecteurs. Chaque appel est vérifié, résolu et audité côté serveur ; la CLI ne détient jamais d’identifiants tiers. Authentification : BEEUNI_TOKEN. La sortie est au format JSON.

Commande Effet
beeuni connectors discover "<intent>" Recherche des outils selon une intention exprimée en langage naturel.
beeuni connectors show <connector>.<action> Affiche le schéma d’entrée d’une action.
beeuni connectors call <connector>.<action> '<json-args>' Exécute un outil. Un appel soumis à gouvernance renvoie immédiatement son approval_url authentifié. Le serveur reprend la session après une décision d’approbation ou de refus. Passez les arguments volumineux avec @file.json ou - (entrée standard).
beeuni connectors call <connector>.<action> '<json-args>' --reason "<text>" Décrit l’appel à l’attention de la personne chargée de l’approuver lorsque la politique le bloque. La carte de demande d’approbation affiche cette description de l’agent à côté des arguments.
beeuni connectors call <connector>.<action> @args.json --attach <file> Prépare un fichier et ajoute sa référence au tableau des pièces jointes de l’action. La passerelle écrit les octets dans l’élément de pièce jointe du fournisseur. --attach peut être répété ; --attach-path <a.b.c> indique le nom du tableau. Voir Joindre des fichiers.
beeuni connectors call <connector>.<action> '<json-args>' --out <file> Écrit le résultat JSON complet dans <file> et n’affiche qu’un résumé : saved_to, bytes et shape (clés, longueurs des tableaux, pageInfo). Voir Résultats volumineux.
beeuni connectors upload <file> --connector <slug> Prépare un fichier. Affiche ref, {"$beeuni_attachment":"<id>"}, à placer dans les arguments de l’appel.
beeuni connectors add <slug> --provider pipedream --app <app> Ajoute immédiatement un connecteur, puis le connecte.
beeuni connectors rm <slug> Supprime un connecteur du projet.
beeuni connectors connect <slug> [--owner me|project] [--label <name>] Crée un lien de connexion destiné à une personne. --label propose un nom pour un nouveau compte, par exemple un deuxième compte Gmail.

Fichiers

Vue en lecture seule du dépôt git du projet. Agit sur la branche par défaut, sauf si --ref indique une autre branche, une balise ou un commit.

Commande Effet
beeuni files ls [<path>] Répertorie récursivement les fichiers sous un chemin. La liste s’arrête à 1 000 fichiers et l’indique ; précisez le chemin pour la réduire ou utilisez files search.
beeuni files cat <path> Affiche le contenu d’un fichier.
beeuni files search <query> [--content] Recherche des noms de fichiers ou le contenu des fichiers avec --content.
beeuni files history <path> Historique des commits d’un fichier.
beeuni files branches Répertorie les branches.
beeuni files commits [--path <p>] Répertorie les commits sur --ref.
beeuni files show <sha> Affiche un commit et les fichiers qu’il a modifiés.
beeuni files diff <sha> [--path <p>] Affiche le patch unifié d’un commit.
beeuni files compare <from> <into> Résume le diff entre deux références.
beeuni files download -o <out.zip> Télécharge le dépôt, ou le sous-arbre --path, à --ref au format zip. Alias : archive.

Options disponibles pour chaque sous-commande : --ref <ref>, --path <p>, --limit <n>, --json. download accepte également -o, --out <file>, obligatoire.

Chaque sous-commande nécessite project.file.read. download refuse aussi tout sous-arbre qui inclurait un agent ou une compétence auxquels vous n’avez pas accès — un zip ne peut pas être filtré pendant son téléchargement — ; dans ce cas, archivez un --path plus restreint.

Déclencheurs

Un déclencheur démarre une session selon un calendrier, un webhook, un événement d’application ou un moniteur (expérimental). add, rm, enable, disable modifient le manifeste local — exécutez beeuni ship pour appliquer les changements. pause/resume actionnent un interrupteur distinct côté serveur. Voir Déclencheurs.

Commande Effet
beeuni triggers ls [--json] Répertorie les déclencheurs et leur état d’exécution.
beeuni triggers add <slug> [options] [--apply] Ajoute un déclencheur au manifeste. --apply le crée directement sur le projet cloud : la commande l’enregistre dans beeuni.yaml sur main, puis effectue la réconciliation.
beeuni triggers set <slug> [options] Modifie un déclencheur actif. Seuls les indicateurs fournis sont écrits. La modification est toujours appliquée immédiatement — il n’existe pas de version locale. Alias : update.
beeuni triggers rm <slug> [--apply] Supprime un déclencheur de beeuni.yaml ou, avec --apply, du projet cloud immédiatement.
beeuni triggers info <slug> [--json] Affiche un déclencheur.
beeuni triggers events --connector <slug> [--json] Répertorie les événements proposés par un connecteur, avec les paramètres de chaque événement.
beeuni triggers fire <slug> Déclenche manuellement un déclencheur et attend le résultat de l’exécution : une exécution échouée renvoie un code de sortie non nul avec son erreur, et la nouvelle session du déclenchement est nettoyée (une exécution ajoutée à une session existante reste en place). --wait <dur> limite l’attente (par défaut 90s ; 0 renvoie la réponse dès que le déclenchement est accepté).
beeuni triggers enable <slug> [--apply] / disable <slug> [--apply] Active ou désactive un déclencheur.
beeuni triggers pause / resume Désactive ou réactive tous les déclencheurs du projet, côté serveur.

Options de add : --type <cron\|webhook\|event\|monitor> (par défaut cron), --prompt <text> (obligatoire), --agent <name>, --cron <expr> (6 champs, p. ex. "0 0 9 * * 1-5"), --run-at <iso> (exécution unique à cet instant au lieu d’une expression cron), --timezone <tz> (UTC par défaut), --secret-env <NAME>, --name <label>, --disabled.

Options réservées aux déclencheurs actifs — valides avec add --apply et chaque set : --model <provider/model>, --session-mode <fresh\|keyed\|pinned\|reuse>, --session-key <tmpl> (regroupe une session par clé, p. ex. "{{ body.data.chat_jid }}" ; implique keyed), --session-id <id> (la session dans laquelle boucle un déclencheur pinned ; doit être une session de ce projet), --session-access <private\|project\|members> (par défaut private), --member <uuid> et --group <uuid> (répétables ; chacun implique members), et --filter <path=value> (répétable ; tous doivent correspondre, p. ex. --filter body.type=push).

set accepte toutes les options réservées aux déclencheurs actifs, ainsi que --name, --prompt, --cron, --run-at, --timezone, --secret-env, --agent et --enabled true|false. --cron et --run-at sont exclusifs : définir l’un efface l’autre. Les champs du moniteur sont uniquement ajoutés.

Rappels

Un rappel relance une session ultérieurement, une fois ou de manière répétée. Il est stocké dans la base de données, et non dans beeuni.yaml. Dans une session, --session vaut $BEEUNI_SESSION_ID par défaut. Voir Rappels.

Commande Effet
beeuni remind "<text>" [schedule] Crée un rappel. Identique à beeuni reminders add.
beeuni reminders add "<text>" [schedule] Crée un rappel. Affiche son identifiant et sa prochaine exécution.
beeuni reminders ls [--json] Répertorie les rappels de la session.
beeuni reminders pause <id> / resume <id> Désactive ou active un rappel. resume le réarme à partir de maintenant.
beeuni reminders rm <id> Supprime un rappel. Alias : stop, delete.

Options de planification : --in <duration> ou --at <iso> (première exécution ; utilisé seul, déclenche une seule exécution), --every <duration> (répétition, minimum 5m), --cron "<expr>" avec --timezone <tz>. Autres options : --name <label>, --session <id> (un préfixe unique suffit), --project <id>, --host <name>, --json.

Options d’événement (--type event) : --connector <slug> et --event <TYPE> (toutes deux obligatoires), --config key=value (répétable, valeurs de type chaîne) et --config-json '{...}' (valeurs typées). set accepte les mêmes indicateurs. Un déclencheur d’événement rejette --cron, --run-at, --timezone, --secret-env et les options de moniteur. L’invite lit {{ event.data.<field> }} ; voir Déclencheurs d’événements d’application.

Options de moniteur (--type monitor) : --run <cmd> (commande relative au dépôt à superviser ; obligatoire), --mode <poll\|stream> (obligatoire ; poll relance la commande sur --interval, stream la maintient en vie), --interval <dur> (mode=poll uniquement, minimum 30 s, p. ex. 60s, 5m) et --expect-event-within <dur> (surveillance du silence ; en l’absence d’événement dans le délai, déclenche plutôt un événement de cycle de vie, minimum 5 min, p. ex. 24h). Un moniteur est une commande du dépôt que la plateforme exécute 24 h/24, et chaque ligne de sortie standard déclenche l’événement. Cette fonctionnalité est expérimentale : la plateforme n’exécute les moniteurs que lorsque le flag de fonctionnalité monitors est activé.

Accès

L’interface CLI de la table unique des autorisations. Chaque ligne est une attribution : un principal, un rôle, une portée, éventuellement limitée à un objet. Voir Comptes et accès pour le modèle. Rôles de compte : owner, admin, member. Rôles de projet : manager, member.

Commande Effet
beeuni access assignments [--project <id>|--account|--all] [--json] Répertorie les attributions d’un projet, du compte ou de tous les projets.
beeuni access grant --user <id|email>|--group <id>|--service-account <id> --role <key|id> [opts] Crée une attribution. Affiche son identifiant.
beeuni access revoke <assignment-id> Révoque une attribution.

Options d’autorisation : --project <id> (par défaut : le projet associé), --account (tout le compte), --agent <name> (limite l’autorisation à un agent — attribution à un objet), --connection <id> (limite l’utilisation d’un compte de connecteur partagé ; la première autorisation réserve le compte à ses bénéficiaires, et la révocation de la dernière le rend de nouveau accessible à tout le projet), --everyone (accorde l’accès à toutes les personnes ayant accès au projet ; cette option attend un --agent ou un --connection, jamais un rôle) et --expires <iso> (horodatage de révocation automatique). --principal filtre une liste et accepte user:<id>, group:<id>, service_account:<id>, project:<id> ou pending:<email> ; un identifiant seul est interprété comme celui d’un utilisateur. Une autorisation accordée à tout le monde apparaît sous la forme everyone. L’identité d’un agent est un service_account ; --service-account <id> permet donc d’attribuer un rôle à un agent. --user accepte une adresse e-mail et la résout à l’aide de l’annuaire des membres du compte.

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…

Les verbes de membre du projet sont une vue de lecture des mêmes attributions :

Commande Effet
beeuni access ls [--json] Lister les personnes ayant accès au projet, leur rôle de compte et leur rôle effectif dans le projet.
beeuni access invite <email> --role <r> Inviter quelqu’un dans le projet. Crée une attribution pending.
beeuni access grant <user-id> --role <r> Définir le rôle d’un utilisateur dans le projet.
beeuni access revoke <user-id> Supprimer l’accès d’un utilisateur au projet.
beeuni access pending [--json] Lister les invitations en attente.
beeuni access resend <invite-id> Renvoyer un e-mail d’invitation et réinitialiser son expiration à 14 jours. Affiche aussi le lien.
beeuni access cancel <invite-id> Annuler une invitation en attente.
beeuni access requests ls [--json] Lister les demandes en attente des personnes souhaitant rejoindre ce projet.
beeuni access requests approve <req-id> [--role <r>] Approuver une demande et attribuer le rôle dans le projet. Rôle par défaut : member.
beeuni access requests reject <req-id> Rejeter une demande. Alias : deny.

Chaque verbe des deux blocs ci-dessus nécessite project.members.manage.

Une personne, un groupe ou un agent reçoit des rôles de Beeuni ; un agent possède également des permissions Beeuni dans beeuni.yaml, et une session ne peut faire que ce que les deux autorisent. Voir Un vocabulaire, deux liaisons.

Audit

Les commandes d’audit lisent le journal centralisé de reconstruction. Les listes de comptes et de projets sont triées de la plus récente à la plus ancienne. La chronologie d’une session est ordonnée par heure de création (session_sequence n’est défini que sur les lignes écrites avant 2026-10, qui apparaissent en premier). --all suit chaque curseur de continuation. ls répertorie les 90 derniers jours ; export remonte jusqu’à 365 jours, et les événements de plus de 90 jours proviennent des archives (voir Conservation des audits). Le tableau affiche le titre de chaque ligne (EVENT, par exemple « Clé de passerelle LLM révoquée ») à côté de son ACTION (gateway.key.revoke) ; --action filtre par préfixe d’action. Toutes les actions et tous les titres : Actions du journal d’audit.

Commande Effet
beeuni audit ls [filters] [--all] [--json] Lister les événements du compte.
beeuni audit project <project-id> [filters] [--all] [--json] Lister les événements d’un projet.
beeuni audit session <session-id> --project <project-id> [--all] [--json] Reconstituer une session dans l’ordre.
beeuni audit export [filters] --format csv|jsonl --out <file> Reprendre chaque page d’export dans un seul fichier.
beeuni audit webhooks ls [--json] Lister les webhooks d’audit du compte.
beeuni audit webhooks add --name <n> --url <u> [--action-prefix <p>] En créer un. Le secret de signature ne s’affiche qu’une fois et un envoi de test est déclenché immédiatement. --action-prefix ne transmet que les actions correspondant à ce préfixe.
beeuni audit webhooks enable <webhook-id> Reprendre la transmission.
beeuni audit webhooks disable <webhook-id> Suspendre la transmission tout en conservant le point de terminaison.
beeuni audit webhooks rm <webhook-id> Supprimer définitivement un webhook.

Les webhooks d’audit transmettent la piste à un SIEM. Chaque verbe nécessite account.write ; add et enable nécessitent également le droit d’accès Enterprise. disable et rm ne le nécessitent jamais.

Filtres : --actor, --actor-type, --project, --session, --source, --phase, --outcome, --action, --resource-type, --request-id, --correlation-id, --query, --since, --until, --cursor et --limit. Les listes et les exports de comptes nécessitent audit.read et le droit d’accès auditAccess du compte. Les listes de l’ensemble du projet nécessitent project.members.manage, car elles peuvent inclure des métadonnées de sessions privées. La reconstitution d’une session nécessite project.session.read et la visibilité de cette session.

Rôles

Un rôle est un ensemble nommé de permissions. Les rôles système (owner, admin, member au niveau du compte ; manager, member au niveau du projet ; ainsi que agent-user, le marqueur porté par une attribution d’objet) sont des références en lecture seule. Vous pouvez créer et modifier vos rôles personnalisés, qui nécessitent le droit d’accès Enterprise rbac.

Commande Effet
beeuni roles ls [--json] Lister les rôles système et personnalisés.
beeuni roles show <role> [--json] Afficher les permissions et les utilisations d’un rôle.
beeuni roles permissions <role> [--json] Lister les permissions d’un rôle.
beeuni roles create <key> --name <n> [options] Créer un rôle personnalisé.
beeuni roles edit <role> [--name <n>] [--desc <t>|--no-desc] Renommer un rôle personnalisé ou modifier sa description. Sa clé ne change jamais. Nécessite role.update et refuse les rôles système.
beeuni roles set-actions <role> --actions a,b Remplacer les permissions d’un rôle personnalisé.
beeuni roles rm <role> Supprimer un rôle personnalisé.
beeuni roles export [--project <id>] [--out <file>] [--format toml|json] Exporter les rôles et les attributions dans un fichier.
beeuni roles import <file> Appliquer un fichier de rôles et d’attributions.

Associez un rôle à un principal avec beeuni access grant. Les anciens verbes beeuni roles assign / unassign / assignments fonctionnent toujours et écrivent dans la même table, mais beeuni access est la méthode documentée. beeuni roles actions est remplacé par beeuni permissions ls.

Un rôle personnalisé ne fait qu’ajouter des permissions. Beeuni ne dispose d’aucune règle de refus : un rôle ne peut donc pas retirer une permission à un gestionnaire.

Permissions

Le catalogue des permissions, sous forme de données. Une ligne par action terminale, avec la portée à laquelle elle est évaluée, son caractère délégable et les permissions qu’elle implique. Les rôles sont construits à partir de ces clés — beeuni roles create --actions et beeuni roles set-actions les utilisent exactement. Alias : beeuni perms.

Commande Effet
beeuni permissions ls [--scope account|project] [--area <a>] [--json] Lister le catalogue.
beeuni permissions show <action> [--json] Afficher tous les détails d’une action.

Attributions

Attribue un objet de projet à un principal — une attribution d’objet. Les secrets et les connecteurs résident sur les agents ; attribuer un agent à une personne lui accorde donc tout ce que cet agent déclare. Par défaut, un agent est fermé : un membre ne peut y accéder que si une attribution le désigne ou désigne l’un de ses groupes. beeuni access grant --agent <name> écrit dans la même ligne.

Commande Effet
beeuni grants ls [--json] Lister les attributions d’objets et les agents pouvant être attribués.
beeuni grants assign <agent-name> --to <who> [--group] Attribuer un agent à un utilisateur ou à un groupe avec --group.
beeuni grants revoke <grant-id> Révoquer une attribution d’objet.

Validation du manifeste

Commande Effet
beeuni validate [--file <path>] [--json] [--scopes] [--no-dockerfile-lint] Valider le manifeste par rapport au schéma canonique, analyser statiquement chaque Dockerfile de sandbox et le câblage des agents, et vérifier la taille du dépôt. Résout d’abord beeuni.yaml, puis beeuni.toml. Codes de sortie : 0 si le manifeste est valide (des avertissements peuvent être présents), 1 en cas d’erreurs, 2 si le fichier est introuvable. beeuni ship exécute les mêmes vérifications.
beeuni schema [--version 1|2] [--url] Afficher le schéma JSON du manifeste. --url affiche plutôt l’URL du schéma.

Voir Référence du manifeste.

Taille du dépôt

Une session construit sa configuration d’agent à partir de tous les fichiers suivis par Git au commit de base. Une nouvelle session récupère ces fichiers depuis sa propre copie de travail, quelle que soit leur taille. Une session en cours prend en compte les modifications de la branche de base via l’instantané du projet, que Beeuni Cloud génère jusqu’à 512 MiB compressés ; au-delà, la session conserve sa configuration en cours jusqu’au démarrage d’une nouvelle session. Chaque session télécharge également tous les fichiers. beeuni validate compte les fichiers stockés par Git, ainsi que les fichiers non suivis que beeuni ship ajoute ensuite, et affiche un avertissement lorsqu’un fichier atteint 10 MiB ou plus, ou que le total dépasse 512 MiB. Un fichier Git LFS est compté comme son pointeur, car la version ne contient que le pointeur. L’avertissement indique les fichiers les plus volumineux. La commande n’échoue jamais.

Pour supprimer l’avertissement :

  • Déplacez les ressources statiques volumineuses (vidéos, images, jeux de données, poids de modèles) vers un stockage objet comme S3, R2 ou GCS, ou vers un CDN, et téléchargez-les au moment de l’exécution.
  • Ajoutez les fichiers générés lors de la compilation (dist/, out/) à .gitignore.
  • Pour un chemin qui doit rester dans Git mais qu’aucun agent ne lit, ajoutez <path> export-ignore à .gitattributes. La version le laisse de côté, tout comme la vérification ; une règle de répertoire s’applique à tout son contenu. Le répertoire de configuration de l’agent et beeuni.yaml sont toujours inclus en entier.

Portée des jetons

Chaque jeton commence par beeuni_pat_. Un jeton utilisateur s’applique à tous les projets de vos comptes. Un jeton de projet s’applique à un seul projet et est injecté automatiquement dans les environnements de test de ce projet. Consultez la référence complète des familles de jetons dans Session runtime.

Codes de sortie

Code Signification
0 Réussite.
1 Échec de l’opération. Les diagnostics sont affichés sur stderr.
2 Indicateur incorrect, sous-commande inconnue ou argument obligatoire manquant.

Cette page vous a-t-elle été utile ?