Zum Inhalt springen
BeeuniBeeuni
Deutsch
Esc
↑↓navigieren↵öffnen⌘Jvorschau
Auf dieser Seite

CLI

Die Beeuni-Befehlszeile, ihr Authentifizierungsmodell, der Entwicklungszyklus und alle Befehle.

Die beeuni-Befehlszeilenschnittstelle (CLI) steuert Beeuni über ein Terminal – auf deinem Laptop oder in einer Sitzungssandbox. Diese Seite zeigt den üblichen Entwicklungsablauf und listet anschließend alle stabilen Befehle und Flags auf.

Installation

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

Das Installationsprogramm lädt eine vorgefertigte Binärdatei für macOS und Linux herunter. Windows wird nicht unterstützt.

Befehl Wirkung
beeuni update Führt das Installationsskript erneut aus und lädt die neueste Binärdatei herunter.
beeuni uninstall [-y|--yes] [--keep-auth] [--keep-home] Entfernt die Binärdatei, den /usr/local/bin-Shim und das gespeicherte Token. --keep-auth behält das Token bei. --keep-home behält ~/.beeuni bei.
beeuni version Gibt die CLI-Version aus.

Authentifizierungsmodell

Beeuni speichert die Authentifizierung pro Host, nicht global. Ein Host ist ein Beeuni-API-Endpunkt. Verwende cloud, um dich mit Beeuni zu verbinden.

Die Konfigurationsdatei befindet sich unter ~/.config/beeuni/config.json, Modus 0600. Überschreibe den Pfad mit BEEUNI_CONFIG_FILE.

Die CLI folgt einer Hierarchie: Host → Konto → Projekt → Sitzung. Du meldest dich bei einem Host an, wählst darin ein Konto, dann ein Projekt in diesem Konto und öffnest Sitzungen im Projekt. beeuni hosts login durchläuft die ersten drei Schritte der Reihe nach: Es meldet dich an, wählt das Konto und legt anschließend ein Standardprojekt fest.

Jedes Token beginnt mit beeuni_pat_. Ein Benutzertoken von beeuni login sieht alle Konten und Projekte, denen du angehörst. Ein Projekttoken wird automatisch für eine Sitzungssandbox erstellt und ist auf ein Projekt beschränkt. Siehe Tokenumfang.

Der Entwicklungsablauf

Dieser Ablauf setzt voraus, dass die CLI installiert ist und du beeuni login ausgeführt hast. Eine Anleitung zur Einrichtung findest du unter Schnellstart.

Ein Repository verknüpfen

Erstelle ein neues Projekt oder verknüpfe einen vorhandenen Repository-Ordner damit.

So erstellst du ein neues Projekt:

beeuni init my-app
cd my-app

beeuni init erstellt ein Projektverzeichnis mit der universellen Vorlage. Die Datei beeuni.yaml deklariert beeuni_version: 2 und führt den Standard-Agent- Harness aus.

So verknüpfst du ein vorhandenes geklontes Repository mit einem bereits erstellten Projekt:

beeuni projects link <project-id>

Dieser Befehl legt im aktuellen Verzeichnis .beeuni/link.json an. Beeuni liest diese Datei bei jedem Befehl, der aus diesem Ordner ausgeführt wird, um dein Projekt zu finden. Wenn du vorhast, zuerst beeuni ship auszuführen, überspringe diesen Schritt. Wenn noch kein Projekt vorhanden ist, verknüpft dieser Befehl automatisch ein neues.

Code bereitstellen

beeuni ship

beeuni ship überprüft deine beeuni.yaml-Datei mit einem Linter, committet lokale Änderungen, pusht deinen Branch und fragt nach fehlenden Secrets oder Verbindungen. Führe den Befehl jedes Mal aus, wenn du deine lokalen Änderungen im Cloud-Projekt bereitstellen möchtest. Beim ersten Ausführen werden außerdem das Cloud-Projekt und das Repository erstellt, sofern du noch keines verknüpft hast.

Sitzungen starten und verbinden

Starte eine Sitzung mit einem Prompt:

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

Jede Sitzung läuft in einer eigenen Sandbox und auf einem eigenen Branch. --wait wartet, bis die Sitzung bereit ist.

Verbinde dich über dein Terminal mit einer Sitzung:

beeuni connect

Ohne Sitzungs-ID öffnet beeuni connect (Alias: attach) eine Sitzungsauswahl für das verknüpfte Projekt. Laufende Sitzungen werden sofort verbunden, gestoppte werden zunächst gestartet und + New session startet eine neue Sandbox. Anschließend wird die vollständige Terminal-Oberfläche des Standard-Agents geöffnet und mit dieser Sitzung verbunden. Übergib eine ID, um die Auswahl zu überspringen: beeuni connect <session-id>.

Die CLI verwaltet die Binärdatei opencode für dich: Bei der ersten Verbindung lädt sie genau die Version herunter, die der Server der Sitzung ausführt, und speichert sie im Cache unter ~/.beeuni/opencode/<version>/, damit TUI und Server stets aufeinander abgestimmt sind. Setze BEEUNI_OPENCODE_BIN, um deine eigene Binärdatei zu erzwingen.

Eine Sitzung mit dem pi-Harness hat keinen Server für die Standard-Agent-Laufzeit. beeuni connect wird dafür mit Code 1 und der Meldung This session's runtime does not support attaching a terminal client. beendet.

Für einen leichteren zeilenbasierten Chat statt der vollständigen TUI führe Folgendes aus:

beeuni sessions chat

Damit wird ein interaktiver Chat mit deiner zuletzt verwendeten Sitzung geöffnet. Füge eine ID hinzu, um eine bestimmte Sitzung auszuwählen: beeuni sessions chat <id>.

Für das gesamte Produkt in deinem Terminal – die Sitzungsliste, das Transkript und den Eingabebereich, eine Shell in der Sandbox sowie die Bildschirme „Dateien“, „Überprüfen“, „Apps“, „Anpassen“ und „Konto“ – führe den experimentellen Terminal-Client aus:

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

Du wirst mit dem Host angemeldet, den du bereits verwendest. Siehe die TUI-Seite.

Um eine einfache Shell in der Sandbox zu öffnen, ohne Agenten zu verwenden, führe Folgendes aus:

beeuni sessions shell

Liste jederzeit deine laufenden Sitzungen auf:

beeuni sessions ls

Änderungsanfragen prüfen

Ein Agent eröffnet eine Änderungsanfrage (CR), wenn in seiner Sitzung Commits zum Zusammenführen bereit sind. Du kannst sie über die CLI auflisten, prüfen und zusammenführen.

beeuni cr ls
beeuni cr diff 1
beeuni cr merge 1

beeuni cr ls listet Änderungsanfragen für das verknüpfte Projekt auf. beeuni cr diff <cr> zeigt den zusammengeführten Patch. beeuni cr merge <cr> führt ihn mit dem Standardbranch des Projekts zusammen. Akzeptiert werden eine CR-Nummer oder die vollständige ID.

Referenz

Authentifizierungsbefehle

Befehl Wirkung
beeuni login [--host <name>] [--api <url>] [--token <pat>] [--account <slug>] [--no-project] Meldet dich beim aktiven oder angegebenen Host an. Standardmäßig wird ein Browser geöffnet; --token meldet dich ohne grafische Oberfläche an. --no-project überspringt die Auswahl des Standardprojekts.
beeuni logout [--host <name>] Entfernt das Token für den aktiven oder angegebenen Host.
beeuni whoami [--host <name>] [--json] [--token-only] Gibt den angemeldeten Benutzer und das aktive Konto aus.
beeuni token [--host <name>] Kurzform für beeuni whoami --token-only.

beeuni hosts login / hosts logout / hosts whoami sind die kanonischen Formen. login / logout / whoami sind Kurzformen, die für den aktiven Host gelten.

Hosts

Befehl Wirkung
beeuni hosts ls [--json] Listet alle Hosts und ihren Authentifizierungsstatus auf.
beeuni hosts login [<name>] [--token <pat>] [--api <url>] [--account <slug>] [--no-project] Meldet dich bei einem Host an. Ein unbekannter Name wird zunächst registriert.
beeuni hosts logout [<name>] Entfernt das Token für einen Host.
beeuni hosts use <name> Wechselt den aktiven Host.
beeuni hosts add <name> --url <url> [--dashboard-url <url>] [--login] Registriert einen neuen Host. --login meldet dich direkt danach an.
beeuni hosts rm <name> [--force] Entfernt einen Host.
beeuni hosts info [<name>] [--json] Zeigt Details zu einem Host an.
beeuni hosts current [--json] Gibt den Namen des aktiven Hosts aus.

Eine URL eines Remote-Hosts, die mit http:// beginnt, wird zu https:// normalisiert. Die CLI sendet niemals ein Token über unverschlüsseltes HTTP an einen Remote-Host. localhost ist davon ausgenommen.

Konten

Befehl Wirkung
beeuni accounts ls [--json] Listet die Konten auf dem aktiven Host auf, denen du angehörst.
beeuni accounts use [<slug-or-id>] Wechselt das aktive Konto.
beeuni accounts current [--json] Gibt das aktive Konto aus.
beeuni accounts info [<slug-or-id>] [--json] Zeigt ein Konto an.

Mitglieder

Wer gehört zum Konto und mit welcher Kontorolle? Die Rollen sind owner, admin und member. Inhaber und Administratoren haben implizit die Rolle „Manager“ für jedes Projekt. Daher ist member die einzige Rolle, für die projektbezogene Berechtigungen vergeben werden.

Befehl Wirkung
beeuni members ls [--json] Listet Mitglieder, Rollen und Projektanzahlen auf.
beeuni members invite <email> --role admin|member [--project <id>:<role>] Lädt per E-Mail ein. Ein bestehender Beeuni-Benutzer wird sofort hinzugefügt; alle anderen erhalten per E-Mail einen Einladungslink. --project kann wiederholt verwendet werden und wird bei Annahme angewendet. Erfordert member.invite.
beeuni members set-role <user|email> --role owner|admin|member Ändert eine Kontorolle. Erfordert member.update; die Rolle owner ist dem Inhaber vorbehalten.
beeuni members rm <user|email> [-y|--yes] Entfernt ein Mitglied und widerruft dessen Tokens. Erfordert member.remove.
beeuni members super-admin <user|email> on|off Erteilt oder widerruft die Superadmin-Umgehungsberechtigung. Erfordert member.super_admin.grant.
beeuni members invites ls [--json] Listet deine ausstehenden Einladungen auf.
beeuni members invites cancel <invite-id> Bricht eine ausstehende Einladung ab.
beeuni members invites resend <invite-id> Sendet die E-Mail erneut und setzt die 14-tägige Gültigkeitsdauer zurück.

Eine <user> ist eine Benutzer-ID oder die E-Mail-Adresse einer Person, die bereits zum Konto gehört. Optionen: --account <id>, --host <name>, --json, -y.

Gruppen

Eine Kontengruppe ist eine benannte Gruppe von Personen, denen Sie einmalig eine Rolle zuweisen. Binden Sie eine Gruppe mit beeuni access grant --group <id> --role <key> an einen Bereich; widerrufen Sie die Bindung mit beeuni access revoke <assignment-id>.

Befehl Wirkung
beeuni groups ls [--json] Gruppen mit der Anzahl der Mitglieder und Projekte auflisten.
beeuni groups create <name> [--description <t>] Eine Gruppe erstellen.
beeuni groups set <group> [--name <n>] [--description <t>|--no-description] Eine Gruppe umbenennen oder neu beschreiben.
beeuni groups rm <group> [-y|--yes] Eine Gruppe löschen. Ihre Berechtigungen werden ebenfalls gelöscht.
beeuni groups members <group> [--json] Die Mitglieder einer Gruppe auflisten.
beeuni groups add <group> <user>... Eine oder mehrere Personen hinzufügen.
beeuni groups remove <group> <user> Eine Person entfernen.
beeuni groups projects <group> [--json] Auf welche Projekte die Gruppe mit welcher Rolle zugreifen kann.

Ein <group> ist eine Gruppen-ID oder der exakte Name der Gruppe. Für Lesezugriffe ist group.read erforderlich. create, set und add erfordern group.update oder group.members.manage sowie die Enterprise-Entitlement rbac. rm und remove dienen der Bereinigung und sind nie durch Entitlements eingeschränkt.

Tokens

Nicht-interaktive Zugangsdaten für das Konto. Für Lesezugriffe ist token.read erforderlich. Jedes Kontomitglied kann eigene persönliche Schlüssel ausstellen und widerrufen (token.personal.create, token.personal.revoke); ein persönlicher Schlüssel handelt in Ihrem Namen und verfügt nie über mehr als Ihre eigenen Rollen. Dienstkonten und die Schlüssel anderer Personen erfordern token.create / token.revoke (Eigentümer und Administrator).

Befehl Wirkung
beeuni tokens ls [--mine] [--json] Die persönlichen API-Schlüssel des Kontos auflisten. --mine beschränkt die Ausgabe auf die von Ihnen ausgestellten Schlüssel.
beeuni tokens new <name> [--expires <when>] [--project <id>] Einen Schlüssel ausstellen. Das Geheimnis wird nur einmal angezeigt. --project bindet ihn an ein Projekt, das er nie verlassen kann.
beeuni tokens rm <token-id> [-y|--yes] Einen Schlüssel sofort widerrufen.
beeuni tokens apps ls [--json] Ihre verbundenen Apps auflisten: die Apps und MCP-Clients, die Sie mit „Mit Beeuni anmelden“ über alle Konten hinweg genehmigt haben.
beeuni tokens apps rm <client-id> [-y|--yes] [--json] Eine verbundene App widerrufen: Ihre Tokens funktionieren sofort nicht mehr, und sie muss erneut um Zugriff bitten.
beeuni tokens service-accounts ls [--json] Dienstkonten auflisten.
beeuni tokens service-accounts new <name> [--description <t>] [--expires <when>] Ein Dienstkonto erstellen. Der Bearer-Token wird nur einmal angezeigt.
beeuni tokens service-accounts disable <id> Ein Dienstkonto deaktivieren: Es kann keine Autorisierung mehr durchführen; zum Reaktivieren müssen Sie es löschen und neu erstellen.
beeuni tokens service-accounts rm <id> [-y|--yes] Ein Dienstkonto dauerhaft löschen.

Ein persönlicher API-Schlüssel handelt in Ihrem Namen und erlischt mit Ihrer Mitgliedschaft. Ein Dienstkonto handelt als es selbst und erbt keinen Zugriff: Ein neues Dienstkonto hat keine Berechtigungen. Gewähren Sie ihm mit beeuni access grant --service-account <id> --role <key> eine Berechtigung. --expires <when> akzeptiert ISO-8601 oder einen Zeitraum ab jetzt: 30d, 12h, 6w, 1y.

Abrechnung

Plan, Credits und Ausgaben des aktiven Kontos anzeigen. Nur lesend: Planänderungen, Aufladungen und Zahlungsmethoden werden im Dashboard verwaltet.

Befehl Wirkung
beeuni billing status [--json] Plan, Credits, Sitze und Abonnement.
beeuni billing transactions [--limit <n>] [--offset <n>] [--type <a,b>] [--json] Credit-Hauptbuch, neueste Einträge zuerst. Standardseitengröße: 50.
beeuni billing transactions --summary|--breakdown|--usage [--days <n>] Ein- und ausgehende Credits, die Aufteilung des Guthabens (ablaufend/nicht ablaufend/täglich) oder eine Zusammenfassung der Credit-Nutzung. --days ist das Zeitfenster für --summary und --usage; Standard: 30.
beeuni billing costs [--since <iso>] [--until <iso>] [--json] Kontausgaben über ein Zeitfenster sowie eine Aufschlüsselung nach Modell. Standardzeitfenster: 30 Tage, halboffenes [from, to) UTC.
beeuni billing costs --by project|session [--sort <k>] [--limit <n>] [--offset <n>] [--csv <file>] Ausgaben nach Projekt oder Sitzung zusammenfassen. --sort akzeptiert total_desc (Standard), total_asc, recent oder name_asc (nur --by project). Für --csv ist --by erforderlich.

Filter: --project <id>, --session <id> und --owner <id> (Sitzungen, mit --by session). Optionen: --account <id>, --host <name>, --json.

Projekte

Ein Befehl ermittelt „das Projekt“ in dieser Reihenfolge:

  1. Das Flag --project.
  2. Die Umgebungsvariable BEEUNI_PROJECT_ID.
  3. .beeuni/link.json im aktuellen Arbeitsverzeichnis.
  4. Der mit beeuni projects use festgelegte globale Standard.
Befehl Wirkung
beeuni projects ls [--all] [--query <text>] [--json] Projekte des aktiven Kontos auflisten. --all umfasst alle Konten, denen Sie angehören. --query (Alias -q) filtert nach Name, ID oder Repository.
beeuni projects info [<id>] [--json] Ein Projekt anzeigen. Standard: das verknüpfte oder Standardprojekt.
beeuni projects use [<id>] Das globale Standardprojekt festlegen. Wechselt das aktive Konto, wenn sich das Projekt in einem anderen Konto befindet.
beeuni projects unset Das globale Standardprojekt entfernen.
beeuni projects link [<id>] Das aktuelle Verzeichnis an ein Projekt binden. Schreibt .beeuni/link.json.
beeuni projects unlink .beeuni/link.json entfernen.
beeuni projects open [<id>] Die Dashboard-Seite eines Projekts im Browser öffnen.
beeuni projects clone [<id>] [dir] Das Repository eines Projekts über den authentifizierten Beeuni-Git-Proxy klonen.
beeuni projects rm [<id>] [-y|--yes] Ein Projekt und sein von Beeuni verwaltetes Git-Repository löschen. Repositories, die Sie selbst verbunden haben, werden nie verändert.
beeuni projects set [<id>] [--name <n>] [--branch <b>] [--manifest <path>] [--json] Die Einstellungen eines Projekts aktualisieren. Nur die übergebenen Felder werden geschrieben. Ohne Feld wird 2 beendet. Alias: update.
beeuni projects set [<id>] --icon <emoji>|--no-icon|--glyph <name>:<color>|--no-glyph Das Symbol des Projekts festlegen oder entfernen.
beeuni projects rename [<id>] <name> Alias für beeuni projects set --name <name>.
beeuni projects features [ls] [--json] Jedes Feature-Flag mit Schlüssel, Status, Quelle und Stabilität auflisten.
beeuni projects features enable|disable|reset <flag> Die Projektüberschreibung aktivieren, deaktivieren oder entfernen, sodass das Flag dem Plattformstandard folgt.
beeuni projects cli-tokens ls [--json] Die CLI-Tokens des Projekts auflisten.
beeuni projects cli-tokens new [--name <name>] [--expires-at <iso>] Einen auf das Projekt beschränkten CLI-Token ausstellen. Das Geheimnis wird nur einmal angezeigt.
beeuni projects cli-tokens rm <token-id> [-y|--yes] Einen CLI-Token des Projekts widerrufen.
beeuni projects upgrade [<id>] [--json] Die Agentensitzung starten, die einen v1-beeuni.toml in ein v2-beeuni.yaml migriert und einen Änderungsantrag öffnet.

Ein Projekt zeigt ein einziges Symbol. Daher entfernt das Schreiben von --icon das Glyph, und das Schreiben von --glyph entfernt das Emoji; die Übergabe beider Werte wird abgelehnt. Glyph-Farben: grey, red, orange, yellow, lime, blue, purple, magenta. set und features erfordern project.settings.write. Ein von der Plattform als nicht verfügbar markiertes Flag bleibt unabhängig von der Projektüberschreibung deaktiviert.

Ein CLI-Token des Projekts ist an ein einziges Projekt gebunden — die API lehnt ihn überall sonst ab. Eine Sitzungssandbox verwendet ihr sitzungsgebundenes BEEUNI_TOKEN. cli-tokens ls erfordert Leserechte für das Projekt; new und rm erfordern project.credentials.issue. Ein sitzungsgebundener Token kann weder Projekt-Tokens ausstellen noch widerrufen (403), unabhängig davon, ob im Projekt Agents deklariert sind. Ein CLI-Token des Projekts folgt der PAT-Richtlinie des Kontos: Wenn das Konto ein Ablaufdatum erfordert, übergeben Sie --expires-at; ein Ablaufdatum jenseits der maximalen Lebensdauer führt zu 400.

beeuni projects upgrade erfordert Schreibrechte für das Projekt. Der Standard-Agent aktualisiert die Marketplace-Baseline, schreibt das Manifest neu, führt beeuni validate aus und öffnet einen Änderungsantrag. Er führt niemals einen Merge durch: Ein Mensch prüft die Änderungen.

Projektgerüst

beeuni init [project-name] [options] erstellt ein neues Projektverzeichnis. Das Starterpaket schreibt ein v2-beeuni.yaml, agents/, skills/, memory/ und harnesses/opencode/. Der Befehl kann die lokale Erkennung von Coding-Tools einrichten, ohne die Standard-Agent-Laufzeit zu ändern. Der Befehl schreibt .beeuni/link.json nicht. beeuni ship oder beeuni projects link erstellen diese Datei.

Flag Bedeutung
--name <project> Projektname.
--primary <agent> Primärer Agent.
--agents <csv> Einzurichtende lokale Coding-Agent-Integrationen.
--force Das aktuelle Verzeichnis direkt konfigurieren, statt ein neues Gerüst zu erstellen.
--overwrite Vorhandene Dateien überschreiben.
--no-git Git-Initialisierung überspringen.
-y, --yes Keine Eingabeaufforderungen anzeigen.

Die Auswahl des lokalen Coding-Tools ändert die Standard-Agent-Laufzeit nicht.

beeuni init enthält keine Marketplace-Auswahl. Das Hinzufügen eines Marketplace-Skills ist ein Agentenimport: Starten Sie eine Sitzung und bitten Sie den Agenten, einen Skill zu importieren.

Bereitstellen

beeuni ship stellt Ihren aktuellen Branch bereit, führt einen Commit durch und überträgt ihn in das Git-Repository des Projekts. Führen Sie den Befehl einmal aus, um das Projekt zu erstellen. Führen Sie ihn jederzeit erneut aus, um zu synchronisieren. Alias: beeuni deploy.

Jeder Durchlauf:

  • Führt die Prüfungen beeuni validate aus: beeuni.yaml zusammengeführt mit jeder Datei, die es unter imports: auflistet, Sandbox-Dockerfiles, Agent-Verdrahtung und Repository-Größe (mit --no-verify überspringen). Ein Fehler verhindert den Ship. Eine Warnung niemals.
  • Committet Änderungen im Arbeitsbaum (mit --no-commit überspringen).
  • Fragt nach allen fehlenden env-Secrets (mit --no-env überspringen).
  • Pusht den aktuellen Branch in den gleichnamigen Remote-Branch.
  • Verbindet alle deklarierten Connectoren, für die noch eine Authentifizierung erforderlich ist (mit --no-connect überspringen).

Ein vorhandener GitHub-origin wird über die Beeuni GitHub App verknüpft. Jedes andere vorhandene origin wird unverändert registriert. Ohne origin wird ein verwaltetes Beeuni-Git-Repository erstellt.

Option Wirkung
--name <project> Anzeigename für ein neues Projekt.
--account <id|slug> Konto, unter dem das Projekt erstellt werden soll (nur beim ersten Ship).
--origin <managed|git-url> Die ermittelte Origin-Auswahl überschreiben.
--github-token <pat> Eine GitHub-Origin mit diesem Token statt mit der GitHub App verknüpfen.
-m, --message <text> Commit-Nachricht.
--no-commit / --no-verify / --no-env / --no-connect Diesen Schritt überspringen.
-y, --yes Nicht nachfragen.
-n, --dry-run Anzeigen, was passieren würde; nichts ändern.
--project <id> / --host <name> Ein nicht standardmäßiges Projekt oder einen nicht standardmäßigen Host angeben.

Apps

Apps hosten statische Websites, Server, Worker und Datenbanken. Jede App hat eine feste URL. Ein Release enthält Code und Konfiguration; ein fehlgeschlagenes Deployment ersetzt das aktive Release nicht.

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

Verbinde Apps mit uses und den Beispielen aus beeuni apps connect. Keine administrativen Zugangsdaten im Client-Code speichern.

Laufende Ressourcen verbrauchen Kontoguthaben. Billing und Usage zeigen Guthaben und Verbrauch. Apps haben kein separates Monatsbudget.

Apps

Sessions

Jede Session läuft in einer eigenen Sandbox auf ihrem eigenen Branch.

Befehl Wirkung
beeuni sessions ls [--mine|--shared|--automated] [--search <q>] [--label <label>]... [--json] Sitzungen auflisten. --label kann wiederholt werden; eine Sitzung muss jedes angegebene Label haben. Die Spalte LABELS wird angezeigt, wenn eine der aufgeführten Sitzungen Labels hat.
beeuni sessions status [--all] [--json] Alle Sitzungen und was ihre Agenten gerade tun. Aliase: overview, ps.
beeuni sessions info <id> [--json] Detailansicht: Status, Branch, Agent, Sandbox-URL.
beeuni sessions new [--prompt "<text>"] [--agent <name>] [--model <id>] [--wait] [--connect] [--json] Sitzung starten. --connect verbindet die Terminal-Oberfläche des Standard-Agents, sobald sie bereit ist (setzt --wait voraus); in einem interaktiven Terminal fragt die CLI nach der Erstellung, ob eine Verbindung hergestellt werden soll, falls diese Option nicht gesetzt ist. --model <id> überschreibt das Standardmodell des Projekts; ein Modell, das mit einem API-Schlüssel oder ChatGPT-Abonnement läuft, verwendet alle dafür verfügbaren Schlüssel und wechselt zwischen ihnen. --wait wartet, bis die Sitzung läuft (bis zu ~5 Minuten). Mit --secret <id> oder --no-secrets lässt sich der Secret-Zugriff einschränken. Diese Secret-Optionen erfordern ein Backend-Token. Mit --connector <alias>=<authorization-id> oder --no-connectors wird der Connector-Zugriff festgelegt. Mit --require-connector <alias> lässt sich vor der Bereitstellung eine Autorisierung verlangen. Bereichsoptionen können wiederholt werden. Mit --context <key>=<value> werden nicht geheime Laufzeitinformationen angegeben. --label <label> (wiederholbar) klassifiziert die Sitzung; --meta <key>=<value> (wiederholbar) speichert eine Zeichenfolge in den Metadaten.
beeuni sessions chat [<id>] [--prompt "<text>"] [--queue | --steer] [--new] [--agent <name>] [--json] Mit dem Agenten einer Sitzung sprechen. Standardmäßig interaktiv. Alias: talk. Auch das oberste beeuni chat funktioniert. --queue ist nur für einmalige Verwendung vorgesehen: Es speichert den Prompt im dauerhaften Posteingang der Sitzung und kehrt zurück, sobald der Prompt gespeichert ist, statt ihn an die Laufzeitumgebung weiterzugeben. --steer speichert ihn auf dieselbe Weise; der laufende Durchgang liest ihn beim nächsten Schritt, ohne anzuhalten. Läuft gerade kein Durchgang, wird einer gestartet. Eine Sitzung, die sich nicht steuern lässt, führt ihn als --queue aus.
beeuni sessions connect [<id>] [-- <opencode args>] Die Terminal-Oberfläche des Standard-Agents mit dem Server der Standard-Agent-Laufzeit der Sitzung verbinden. Auch auf oberster Ebene verfügbar: beeuni connect / beeuni attach. Ohne ID wird eine Sitzungsauswahl geöffnet (laufend, angehalten-mit-Neustart oder neu). Die CLI lädt automatisch die zur Version passende opencode-Binärdatei herunter (Cache: ~/.beeuni/opencode/<version>/; Überschreiben: BEEUNI_OPENCODE_BIN). Eine pi-Sitzung hat keinen opencode-Server: Der Befehl wird mit 1 beendet und nennt stattdessen beeuni sessions shell und beeuni sessions chat.
beeuni tui [--host <name>] [--project <id>] [--session <id>] [--new] [--agent <name>] [--terminal] [--no-sidebar] [--mouse] [--install] [--uninstall] Experimentell. Den Beeuni-Terminalclient öffnen: Sitzungen, Transkript, Eingabefeld, Sandbox-Shell, Files, Review, Apps, Customize und Account. Aliase: beeuni t und beeunit. --new erstellt beim Start eine Sitzung im Projekt (--agent wählt den Agenten aus), --terminal öffnet die Sandbox-Shell mit Fokus, --no-sidebar startet ohne Seitenleiste (Alt+B blendet sie ein und aus), --mouse übergibt der App die Maus (standardmäßig deaktiviert, damit Auswahl, Kopieren und Linkklicks im Terminal weiterhin funktionieren). Die TUI ist eine separate Binärdatei mit ~80 MB; beim ersten Start wird nachgefragt, anschließend wird die zur Version passende beeuni-tui nach ~/.beeuni/tui/<version>/ installiert. Spätere CLI-Updates aktualisieren sie ohne Nachfrage und verwenden eine unveränderte Binärdatei erneut. --install führt dies ohne Nachfrage aus, --uninstall entfernt sie. Verwendet den aktiven Host, sofern --host keinen anderen angibt; wenn bei keinem Host eine Anmeldung besteht, wird ein eigener Anmeldebildschirm geöffnet. ? gibt alle Tastenkürzel aus. Siehe /docs/cli#sessions.
beeuni sessions shell [<id>] [--new] Ein interaktives Terminal direkt in der Sandbox öffnen, ohne Agenten. Verbindet sich erneut mit dem vorhandenen Terminal der Sitzung; --new startet immer ein neues. Aliase: terminal, ssh.
beeuni sessions shell <id> ls [--json] Terminals der Sitzung auflisten: ID, Status, Befehl. Benötigt kein TTY.
beeuni sessions shell <id> kill <pty-id> Ein Terminal beenden. Die Shell der Umgebung wird beim nächsten Verbinden neu gestartet; alles, was darin läuft, nicht.
beeuni sessions forward <id> --port <sandbox>[:<local>] Einen Sandbox-Port wie in VS Code an den eigenen Rechner weiterleiten, damit http://localhost:3000, den ein Agent ausgegeben hat, im eigenen Browser funktioniert. --port kann wiederholt werden; wird kein lokaler Port angegeben, wird dieselbe Nummer verwendet, falls sie frei ist, andernfalls die nächste freie. :0 fordert einen vom Betriebssystem zugewiesenen dynamischen Port an. HTTP und WebSocket werden weitergeleitet (Hot Reload des Dev-Servers funktioniert). Gibt für jede Weiterleitung eine ⇄ localhost:N → sandbox:M-Zeile aus und bleibt bis Ctrl+C im Vordergrund. Startet keine angehaltene Sitzung — stattdessen wird die Abhilfe beeuni sessions restart ausgegeben. Alias: ports.
beeuni sessions log [<id>] [--limit <n>] [--json] Aktuelle Nachrichten schreibgeschützt ausgeben. Eine laufende Sitzung wird live gelesen; bei einer angehaltenen Sitzung wird das Transkript verwendet, das am Ende jedes Durchgangs gespeichert wurde. Sie wird also nicht allein zum Lesen aufgeweckt. Die Quelle wird auf stderr angegeben, sodass sich die Ausgabe von --json nicht ändert. Aliase: messages, history.
beeuni sessions attachments <id> [--download <attachment-id>|--all] [--out <dir>] [--json] Gespeicherte Dateien einer Sitzung auflisten — vom Benutzer angehängte Dateien und Kopien der vom Agenten angezeigten Dateien — und herunterladen. Funktioniert auch bei angehaltener Sitzung: Weder die Liste noch die Dateiinhalte benötigen deren Sandbox. Downloads überschreiben keine Dateien; bei bereits vergebenem Namen wird name (1).ext verwendet.
beeuni sessions pending <id> [--json] Offene Anfragen nach Tool-Berechtigungen oder Fragen auflisten. Alias: prompts.
beeuni sessions approve <id> [<req-id>] [--always] [--reject] [--message "<text>"] Auf eine Anfrage nach einer Berechtigung antworten.
beeuni sessions answer <id> [<req-id>] [--option <v>]... [--text "<text>"] [--reject] Auf eine Frage antworten.
beeuni sessions digest [--since <7d>] [--json] Kompakte Übersicht für mehrere Sitzungen. Das Transkript einer angehaltenen Sitzung stammt aus der gespeicherten Kopie und wird mit saved markiert (und mit partial, wenn die Kopie nicht bis zur ersten Nachricht zurückreicht). Aliase: review, summary.
beeuni sessions scope <id> [scope options] [--json] Secret- und Connector-Zugriff lesen oder ersetzen. Alias: access. Für Secrets --secret <id>, --no-secrets oder --inherit-secrets verwenden. Für Connector-Bindungen --connector <alias>=<authorization-id> oder --no-connectors verwenden. Für erforderliche Connectors --require-connector <alias> oder --no-required-connectors verwenden. Angegebene Kategorien ersetzen ihre aktuellen Werte. Nicht angegebene Kategorien bleiben unverändert. Änderungen gelten ab dem nächsten Prompt. Entfernte Secret-Werte bleiben im vorhandenen Kontext, wenn die Sitzung sie bereits gelesen hat.
beeuni sessions preview <id> [port] [--port <n>] [--list] [--json] Eine anklickbare Vorschau-URL für einen Sandbox-Port ausgeben. Standardport: 3000. --list gibt stattdessen die benannten Kandidaten aus.
beeuni sessions restart <id> Die Sandbox der Sitzung neu starten.
beeuni sessions rename <id> <name> Den Namen einer Sitzung festlegen. "" übergeben, um ihn zu löschen.
beeuni sessions update [<id>] [--label <l>]... [--unlabel <l>]... [--clear-labels] [--meta <key>=<value>]... [--unmeta <key>]... [--json] Labels und Metadaten einer Sitzung ändern. --label fügt hinzu, --unlabel entfernt, --clear-labels leert zuerst die Liste; --meta legt einen Zeichenfolgenwert fest, --unmeta entfernt einen Schlüssel. Ohne ID wird $BEEUNI_SESSION_ID aktualisiert, damit ein Agent die Sitzung kennzeichnen kann, in der er ausgeführt wird. Alias: label.
beeuni sessions rm <id>... Eine oder mehrere Sitzungen anhalten und löschen.
beeuni sessions open <id> Die Dashboard-Seite einer Sitzung im Browser öffnen.
beeuni sessions stop <id> [--json] Eine Sitzung pausieren. Die Sandbox wird angehalten, bleibt aber erhalten; die Festplatte wird beibehalten. Alias: pause. Erfordert project.session.stop.
beeuni sessions start <id> [--wait] [--json] Eine Sitzung aufwecken: eine fehlende Sandbox bereitstellen, eine angehaltene fortsetzen und ihre Laufzeitumgebung auflösen. Idempotent. Alias: wake. --wait wartet, bis die Sitzung bereit ist (bis zu ~5 Min.) und wird mit 1 beendet, wenn die Sitzung fehlschlägt oder angehalten bleibt.
beeuni sessions warm [--exclude <id>] [--json] Die Sitzung, die gleich verwendet werden soll, vorab erstellen, damit die Sandbox bereits läuft. Verwendet eine vorhandene, ungenutzte Warm-Sitzung wieder. Eine Warm-Sitzung bleibt in sessions ls verborgen, bis ihr erster Prompt eingeht.
beeuni sessions model <id> <model-id> [--json] Das Modell einer Sitzung während des Betriebs ändern. Bei einer laufenden Sandbox wird die Modellzuordnung geändert und die Laufzeitumgebung neu gestartet; dadurch wird der gerade laufende Durchgang beendet. Bei einer angehaltenen Sitzung wird der Wert für den nächsten Start gespeichert. Wurden für den Anbieter des neuen Modells keine Schlüssel ausgewählt, erhält die Sitzung alle dafür verfügbaren Schlüssel.
beeuni sessions compact <id> [--json] Fasse den bisherigen Gesprächsverlauf zusammen und fahre mit der Zusammenfassung fort. Eine Sitzung, deren Laufzeit session.compact nicht aufführt, wird mit dem Grund 1 beendet.
beeuni sessions queue <id> [ls] [--json] Liste die Prompts auf, die noch im dauerhaften Posteingang der Sitzung warten.
beeuni sessions queue <id> rm <prompt-id> Entferne einen eingereihten Prompt. Abgelehnt (409), sobald ein Modellschritt mit der Beantwortung begonnen hat.
beeuni sessions queue <id> now <prompt-id> Führe als Nächstes einen eingereihten Prompt aus: Reiht ihn vor der festgelegten Reihenfolge ein und hebt die Sitzungssperre auf.
beeuni sessions queue <id> hold|release Sperre alle eingereihten Prompts – so wie es die Stop-Schaltfläche bewirkt – oder hebe die Sperre auf.
beeuni sessions approvals <id> [ls] [--json] Liste die gesteuerten Connector-Aufrufe auf, bei denen diese Sitzung auf einen Menschen wartet.
beeuni sessions approvals <id> approve|deny <execution-id> Erlaube einen gesteuerten Connector-Aufruf oder lehne ihn ab. Der Agent wird benachrichtigt und fährt ohne ihn fort.
beeuni sessions files <id> <subcommand> [--json] Lies den aktiven Arbeitsbereich der Sandbox und bearbeite ihn: 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] Lege fest, wer innerhalb von Beeuni diese Sitzung öffnen kann. Ohne --mode wird die aktuelle Einstellung ausgegeben, ohne sie zu ändern. --member und --group können wiederholt angegeben werden.
beeuni sessions links <id> ls [--json] Liste alle jemals für die Sitzung erstellten öffentlichen Links auf, beginnend mit dem neuesten.
beeuni sessions links <id> create [options] Erstelle einen öffentlichen Link ohne Authentifizierung für einen Vorschau-Port oder eine Datei im Arbeitsbereich.
beeuni sessions links <id> revoke <share-id> Deaktiviere einen öffentlichen Link.

sessions queue erfordert project.session.start – dieselbe Berechtigung wie zum Senden einer Nachricht. Ein eingereihter Prompt bleibt auch nach dem Schließen des Terminals bestehen und wird zugestellt, sobald die Sitzung ihn entgegennehmen kann. Füge einen mit beeuni sessions chat <id> -p "…" --queue hinzu oder lenke den laufenden Durchlauf mit --steer. sessions queue ls zeigt für jeden Prompt seinen DELIVERY (steer, queue oder interrupt) und bei einem Steuerungs-Prompt, der als queue ausgeführt wird, den Grund: unsupported (die Sitzung kann während eines Durchlaufs keine Nachrichten entgegennehmen), not_prompter (der Durchlauf eines anderen Mitglieds läuft) oder turn_ended.

sessions approvals sind dauerhaft: Anders als sessions pending überstehen sie einen Neustart der Sandbox. Erfordert project.members.manage oder die Rolle als Mensch, der die Sitzung gestartet hat. Ein Agent kann niemals seine eigene Freigabe erteilen.

sessions attachments liest den privaten Dateispeicher der Sitzung, nicht ihren Arbeitsbereich. Dateien werden beim Senden dort abgelegt; alle Dateien, die der Agent angezeigt hat, werden am Ende des Durchlaufs dort abgelegt.

sessions files liest den Arbeitsbaum, den der Agent gerade bearbeitet, bevor Änderungen übernommen werden; beeuni files liest stattdessen das übernommene Repository. Pfade werden relativ zu /workspace aufgelöst, sofern sie nicht mit /workspace, /tmp, /home oder /opt beginnen. Der Befehl weckt die Sandbox auf, wenn sie inaktiv ist. Optionen: --from <local path> (write liest diese Datei statt von stdin), --content (find durchsucht Inhalte mit ripgrep statt Dateinamen), --limit <N> (find Dateinamenlimit) und -y, um die Bestätigung für rm zu überspringen.

sessions share unterliegt der Kontrolle des Eigentümers: Die API lehnt einen Projektmanager ab, der die Sitzung nicht bereits lesen kann. Eine geteilte Sitzung wird nur mit Anbieterschlüsseln ausgeführt, die für das gesamte Projekt freigegeben sind: Ein Modell, das mit deinen eigenen Schlüsseln ausgeführt wurde, wechselt für diesen Anbieter zu den Projektschlüsseln. Wenn kein solcher Schlüssel vorhanden ist, wird die Freigabe abgelehnt (409 SHARED_SESSION_NEEDS_PROJECT_KEY).

Optionen für sessions links create: --port <n> (Standard: 3000; 22, 8000 und die opencode-Ports werden abgelehnt), --path <p> (Standard: /), --preview <id> (ein benannter Kandidat – web, vite, dev-server, api-docs – statt --port/--path), --file <path> (gibt eine Datei aus dem Arbeitsbereich statt einer Vorschau frei; immer schreibgeschützt), --mode view\|interactive (Standard: view; interactive erlaubt Schreibzugriffe und WebSockets und wird für --file ignoriert), --label <text> und --expires <iso>. Zum Erstellen eines Links ist der Sitzungseigentümer erforderlich, da der Link selbst keine Anmeldung erfordert. Für das Auflisten und Widerrufen genügt auch ein Projektmanager.

Innerhalb einer Sandbox ist BEEUNI_SESSION_ID die ID deiner eigenen Sitzung.

Änderungsanfragen

Eine Änderungsanfrage (CR) führt einen Branch auf einem beliebigen Git-Host in einen anderen zusammen. Sie ist der einzige Weg, wie ein Agent Sitzungsänderungen in den Standard-Branch übernehmen kann. Siehe Änderungsanfragen.

Befehl Wirkung
beeuni cr ls [--status open|merged|closed|all] [--project <id>] CRs auflisten. Standard: --status open.
beeuni cr show <cr> [--project <id>] Eine CR einschließlich ihrer Zusammenführungsvorschau anzeigen. Alias: info.
beeuni cr diff <cr> [--no-color] [--json] Den vereinheitlichten Diff einer CR ausgeben.
beeuni cr open --title "<text>" [--description "<text>"] [--head <ref>] [--session <id>] [--base <ref>] Eine CR öffnen. Aliase: new, create. Innerhalb einer Sandbox werden --head und --session automatisch als Standardwerte gesetzt. --base ist standardmäßig der Standard-Branch des Projekts.
beeuni cr merge <cr> [--message "<text>"] Eine offene CR zusammenführen. Wenn möglich per Fast-Forward, andernfalls per Drei-Wege-Zusammenführung.
beeuni cr close <cr> Eine offene CR schließen, ohne sie zusammenzuführen.
beeuni cr reopen <cr> Eine geschlossene CR wieder öffnen. Zusammengeführte CRs sind endgültig.
beeuni cr merge-preview <cr> [--json] Melden, ob die CR zusammengeführt werden kann, und alle kollidierenden Pfade auflisten. Alias: preview.
beeuni cr request-changes <cr> --message "<text>" Den Agenten, der die CR geöffnet hat, um eine Überarbeitung bitten. Alias: changes.
beeuni cr version-diff --from <ver> --into <ver> [--json] Eine Version mit einer anderen vergleichen und zusammenfassen, bevor eine CR geöffnet wird.

request-changes speichert die Anmerkung in der CR und übermittelt sie an die Ursprungssitzung, wobei deren Sandbox gestartet wird, falls sie inaktiv ist. Erfordert project.review.act – dasselbe Berechtigungs-Leaf wie im Review Center, nicht gitops.push.

<cr> akzeptiert eine projektspezifische Nummer (3) oder die vollständige ID. Innerhalb einer Sandbox liest die CLI das Token automatisch aus – keine Anmeldung oder kein Link erforderlich.

Überprüfung

Der Prüfungseingang des Projekts – alles, was auf eine menschliche Entscheidung wartet: Änderungsanfragen, Connector-Tool-Aufrufe, die eine Richtlinie zur Genehmigung gesperrt hat, sowie Ausgaben, Entscheidungen und Batches, die Agenten zur Freigabe einreichen. Entspricht dem Review Center des Dashboards. Für jedes Projekt aktiviert; project.review.read und project.review.act regeln das Lesen und Handeln.

Befehl Wirkung
beeuni review ls [--segment <s>] [--kind <k>] [--json] Elemente im Eingang auflisten. Standard: alle Segmente.
beeuni review show <item-id> [--json] Ein Element vollständig anzeigen.
beeuni review act <item-id> <verdict> [--message <text>] Über ein Element entscheiden. --message enthält die Anmerkung.
beeuni review bulk <verdict> <id> [<id> …] Mit einem Aufruf über mehrere native Elemente entscheiden.
beeuni review submit --kind <k> --title <t> [options] Eine Ausgabe, Entscheidung oder einen Batch zur Prüfung einreichen.

Urteile: approve, reject, changes, answer, dismiss. Segmente: needs_you, waiting, done. Arten: change, approval, output, decision, batch.

Welche Wirkung ein Urteil hat, hängt von der Element-ID ab. Bei cr:<id> führt approve die Änderung zusammen, reject schließt sie, und changes sendet die Anmerkung an den Agenten zurück, der sie geöffnet hat (erfordert --message). Bei call:<id> erlaubt approve den Tool-Aufruf, und reject lehnt ihn ab; für eine Connector-Freigabe gibt es keine anderen Urteile – prüfe zuerst die Argumente mit beeuni review show. Bei allen anderen IDs wird der native Aktionsendpunkt verwendet, der jedes Urteil akzeptiert.

bulk wirkt nur auf native IDs. Eine Connector-Freigabe erfordert eine eigene Prüfung der Parameter, und bei einer Änderungsanfrage muss der Diff angezeigt werden. Beide werden daher gemeldet und übersprungen – dieselbe Regel wie bei der Mehrfachauswahl im Dashboard.

Optionen für submit: --kind output\|decision\|batch (erforderlich), --title <text> (erforderlich), --summary <text>, --risk none\|low\|medium\|high (Standardwert none), --detail <json> (ein JSON-Objekt), --agent <name> und --session <id> (wird ignoriert, wenn es nicht die Sitzung dieses Projekts ist).

Zum Lesen wird project.review.read benötigt, für Urteile project.review.act und submit erfordert project.review.submit.

Geheimnisse

Verschlüsselte Werte, die im Projekt gespeichert sind. Standardmäßig wird ein Secret beim Start als einfache Umgebungsvariable in jede Session-Sandbox injiziert (Umgebungsexposition). Die erzwungene Bereitstellung — bei der die Sandbox ein Handle enthält und Beeuni den tatsächlichen Wert außerhalb der Sandbox einsetzt (erzwungene Exposition beim Egress und beeuni secrets call) — ist experimentell. Aktiviere das Feature-Flag secrets_egress (Settings → Feature flags), um es zu verwenden; ist das Flag deaktiviert, gibt beeuni secrets delivery … egress 403 feature_disabled zurück. Siehe Secrets.

Befehl Wirkung
beeuni secrets ls Secrets nach Kennung und Manifest-env-Spezifikation auflisten, einschließlich der Personen, die die einzelnen Werte verwenden können. Kennzeichnet erforderliche, aber fehlende Werte.
beeuni secrets set NAME=VALUE ... [--identifier <id>] [--scope runtime|connector] [--only-me] Ein oder mehrere Secrets hinzufügen oder aktualisieren. NAME=- liest den Wert von stdin. --scope connector behält den Wert serverseitig für das Connector-Gateway. --only-me macht den neuen Wert nur für dich nutzbar.
beeuni secrets share IDENTIFIER --user <email|id|me> --group <id> --agent <name> | --everyone Festlegen, wer den Wert verwenden kann. Personen greifen direkt oder in ihren eigenen privaten Sessions darauf zu; ein Agent in all seinen Sessions, einschließlich Triggern. Siehe Wer ein Secret verwenden kann.
beeuni secrets request NAME ... [--scope runtime|connector] [--expires <min>] Einen Link erstellen, über den eine Person einen Wert eingeben kann, den du nicht hast.
beeuni secrets unset NAME ... Secrets entfernen.
beeuni secrets grant IDENTIFIER --agent <name> Einem Agent erlauben, dieses Secret zu erhalten: Die Kennung wird in die Liste secrets des Agenten in beeuni.yaml übernommen. Fehlt der Agent im Manifest, wird sein Eintrag hinzugefügt.

grant behebt eine Zeile, die ls als nicht zustellbar meldet. Der Befehl erweitert nur die Liste eines einzelnen Agenten; um sie einzuschränken oder zu ersetzen, schreibe die gesamte Menge mit beeuni agents scope. There is no secrets revoke neu — die API bietet keine Route, um eine einzelne Kennung aus einer Freigabe zu entfernen. Die erste Freigabe in einem Projekt ohne Agents startet die Governance: Ab dann erhält ein Agent, der nicht im Manifest aufgeführt ist, keine Projekt-Secrets, und der Befehl weist darauf hin, wenn das passiert.

Env

Befehl Wirkung
beeuni env pull [--out <path>] [--force] Eine .env-Vorlage schreiben — nur Namen. Werte verlassen niemals die Cloud.
beeuni env push --from <path> Alle NAME=VALUE aus einer dotenv-Datei als Secrets hochladen.

Agents

Modellkonfigurationen pro Agent im verknüpften Projekt.

Befehl Wirkung
beeuni agents ls [--json] Angeheftetes Modell für jeden Agenten und das Standard-Fallback anzeigen. Alias: models.
beeuni agents model <agent> <provider/model> Einen Agenten an ein Modell anheften.
beeuni agents model <agent> --clear Die Anheftung aufheben — der Agent verwendet wieder den Standardwert.
beeuni agents default <agent> Diesen Agenten zum Standard-Agenten des Projekts machen.
beeuni agents default --show [--json] Den aktuellen Standard-Agenten ausgeben.
beeuni agents scope <agent> [--secrets all|none|A,B] [--connectors all|none|a,b] [--apps all|none|a,b] [--require-connector <slug>] Festlegen, welche Secrets, Connectors und Beeuni Apps der Agent verwenden darf. --apps erwartet App-Slugs und benötigt eine v2-beeuni.yaml; der Agent benötigt außerdem project.app.read. --require-connector kann mehrfach angegeben werden und muss aufgelöst sein, bevor eine Session startet.
beeuni agents scope <agent> --show [--json] Den aktuellen Geltungsbereich des Agenten ausgeben.
beeuni agents config <agent> [--json] Den vollständigen Konfigurationsblock des Agenten ausgeben.
beeuni agents config <agent> --file <path> Den Block durch den Inhalt einer JSON-Datei ersetzen. - liest von stdin.
beeuni agents config <agent> --set <key>=<value> ... Einzelne Schlüssel mit Punktnotation ändern; die Änderungen werden zusammengeführt. Mehrfach verwendbar, z. B. behavior.model=glm-5.3-flash, enabled=false, connectors=["slack"].

Jede Scope-Option ersetzt den bisherigen Wert; keine führt Werte zusammen. Ein Wert für --set wird als JSON geparst, wenn das möglich ist, andernfalls als String übernommen. Modellanheftungen und scope werden sofort angewendet, ohne einen beeuni.yaml-Commit; default und config committen nach beeuni.yaml auf dem Standard-Branch des Projekts. Für scope wird project.agent.write benötigt, ebenso für default und config.

Tools

Die Tools, die den Sessions dieses Projekts zur Verfügung stehen. Sie werden aus der lokalen beeuni.yaml und deren Imports gelesen. Im Stammverzeichnis des Projekts ausführen. Siehe Tools.

Befehl Wirkung
beeuni tools ls [--json] Alle Tools der Sessions auflisten: Name, Typ (beeuni, beeuni (overridden), project) und Quelle (beeuni:<name> oder Modulpfad). Listet auch die Beeuni-Tools auf, die das Projekt entfernt hat. --json gibt { manifest, tools_key, tools, removed } aus.
beeuni tools eject <name> [--force] Das Beeuni-Tool <name> nach tools/<name>.ts kopieren und tools.<name>: tools/<name>.ts in beeuni.yaml in der Datei festlegen, in der es deklariert ist. Die geänderte Zeile endet mit # ejected from beeuni:<name>; alle anderen Kommentare bleiben erhalten. Ohne Schlüssel tools: werden auch die vier anderen Beeuni-Tools aufgelistet, sodass beim Entfernen keines gelöscht wird. Verweigert den Vorgang, wenn tools/<name>.ts vorhanden ist oder das Tool bereits auf ein anderes Modul verweist, außer wenn --force. Verweigert einen Namen, der kein Beeuni-Tool ist.

Ohne Schlüssel tools: erhält jede Session alle fünf Beeuni-Tools (web_search, image_search, scrape_webpage, memory, show). Mit einem Schlüssel tools: erhalten Sessions nur die darin aufgeführten Beeuni-Tools. Um ein Beeuni-Tool zu entfernen, lösche seine Zeile unter tools: und führe dann beeuni validate aus. Um die Tools eines einzelnen Agenten einzuschränken, verwende agents.<name>.tools. Exitcodes: 0 abgeschlossen, 1 abgelehnt (eine Datei ist vorhanden oder ein Manifest oder Import lässt sich nicht parsen), 2 kein Manifest, eine unbekannte Option oder ein Name, der kein Beeuni-Tool ist.

Models

Welche Modelle das Projekt anbietet und mit welchem es startet. Dieselbe Ansicht wie unter Customize → Models im Dashboard. Ein Projekt speichert nur seine Abweichungen vom Katalogstandard (das neueste Modell jeder Familie). Die Aktivierung dient nur der Anzeige: Sie bestimmt, welche Optionen in Auswahlfeldern erscheinen, nicht, welche Modelle das Gateway bereitstellt.

Befehl Wirkung
beeuni models ls [--json] Alle ausführbaren Modelle auflisten: Status, Herkunft, Bezahlweise (VIA: Beeuni, API-Schlüssel oder ChatGPT — dein eigener, mit dir geteilt oder mit dem Projekt geteilt) und Anbieter.
beeuni models enable <model-id>... Diese Modelle anbieten.
beeuni models disable <model-id>... Sie nicht mehr anbieten. Beim Projektstandard wird der Vorgang mit 409 abgelehnt — ändere zuerst den Standard.
beeuni models reset Alle Abweichungen entfernen und zum Katalogstandard zurückkehren.
beeuni models default [--json] Die Standardkette (Projekt → Konto → Plattform) und deren Auflösung ausgeben.
beeuni models default <model-id> [--account] Den Projektstandard festlegen oder mit --account den kontoweiten Standard.
beeuni models default --clear [--account] Den Projekt- oder Kontostandard löschen.

Modell-IDs sind Gateway-Wire-IDs — eine einfache verwaltete ID (glm-5.3-flash) oder eine BYOK-provider/model. Eine ID kann aus beeuni models ls --json kopiert werden. Anheftungen pro Agent finden sich unter beeuni agents model <agent> <model-id>. Für Schreibvorgänge wird project.model.write benötigt.

Channels

Verwaltet die Verbindung des Projekts zu einer Chatplattform. Tokens werden verschlüsselt in den Secrets des Projekts gespeichert und serverseitig aufgelöst — sie werden niemals in die Sandbox injiziert.

Befehl Wirkung
beeuni channels status [--json] Die aktuelle Verbindung anzeigen.
beeuni channels connect [--wait] [--timeout <sec>] Mit einem Schritt verbinden: Gibt einen Installationslink aus. --wait fragt wiederholt ab, bis die Installation abgeschlossen ist.
beeuni channels connect --manual [--bot-token <token>] [--signing-secret <secret>] Modus für eigene Apps: Bot-Token und Signatur-Secret direkt speichern.
beeuni channels disconnect [--platform slack|teams] Die Verbindung des Projekts trennen — die Slack-Verbindung oder mit --platform teams die Teams-Verbindung.
beeuni channels manifest Das JSON-App-Manifest für die Einrichtung mit einer eigenen App ausgeben.
beeuni channels email status [--json] Posteingang und Zustellungsmodus für einen E-Mail-Connector.
beeuni channels email connect [options] Einen verwalteten Posteingang erstellen oder einen bestehenden AgentMail-Posteingang verbinden.
beeuni channels email disconnect Die Posteingangsverbindung trennen.
beeuni channels email policy [--allow <email|@domain>] [--allow-regex <re>] [--allow-all] Ändern, wer dem Agenten E-Mails senden darf.
beeuni channels bindings [ls] [--json] Alle gebundenen Channels und den jeweils aufgelösten Agenten, das Modell und die Beitrittsrichtlinie auflisten.
beeuni channels bind <bindingId> [--agent <name>|--no-agent] [--model <id>|--no-model] [--policy <p>] Eine Bindung ändern. --policy erwartet owner_approval, owner_only oder project_open.

--platform slack|teams wählt die Plattform aus; Standard: slack. Teams connect gibt die URL für die Microsoft-Administratorzustimmung aus. Wird die Zustimmung für den gesamten Mandanten erteilt, wird die App automatisch im Teams-Katalog veröffentlicht. Siehe Connectors.

Der E-Mail-Kanal basiert auf AgentMail und benötigt das Feature-Flag agentmail_email. email connect-Optionen: --connector <slug> (Standard: beeuni_email), --api-key <k> (eigenen AgentMail-Schlüssel verwenden; - liest von stdin), --display-name <n> (Absendername für ausgehende E-Mails; standardmäßig der Projektname), --username <u> und --domain <d> (neues verwaltetes Postfach) sowie --inbox-id <id> mit --email <addr> (vorhandenes Postfach verbinden – beide sind zusammen erforderlich). --allow kann wiederholt angegeben werden und versetzt die Richtlinie in den eingeschränkten Modus. Ein Wert ohne @ oder ein Wert mit vorangestelltem @ wird als Domain interpretiert. --allow-all leert die Liste und lässt wieder alle Absender zu.

E-Mails und bind-Schreibvorgänge benötigen project.connector.write.

Connectors

Connectors, die ein Agent als Tools aufruft. add, rm und policy set bearbeiten die lokale beeuni.yaml. Führe beeuni ship aus, um die Änderungen anzuwenden, es sei denn, du übergibst --apply, um das Cloud-Projekt sofort zu ändern.

Befehl Wirkung
beeuni connectors ls [--json] Connectors und ihren Status auflisten.
beeuni connectors show <slug> [--json] Die Tools eines Connectors anzeigen.
beeuni connectors add <slug> --provider <p> [options] [--apply] Einen Connector hinzufügen.
beeuni connectors rm <slug> [--apply] Einen Connector entfernen.
beeuni connectors rename <slug> <name> Den Anzeigenamen eines Connectors festlegen.
beeuni connectors sync Den Katalog anhand der mitgelieferten beeuni.yaml abgleichen.
beeuni connectors credential <slug> [value] Die Zugangsdaten eines Connectors festlegen.
beeuni connectors connect <slug> Einen One-Click-Verbindungsablauf starten.
beeuni connectors link <slug> [--expires <min>] Einen teilbaren Verbindungslink für eine Person erstellen.
beeuni connectors types [--connector <a,b>] [--out <file>] TypeScript-Typen für alle aufrufbaren Aktionen schreiben: eine declare module '@beeuni/sdk'-Datei, die connectors.callAction(slug, action, args)-Argumente und output typisiert. Verwaltete Connectors veröffentlichen kein Ausgabeschema, daher ist ihr Ergebnis unknown. Ohne --out wird die Ausgabe in stdout geschrieben.
beeuni connectors accounts <slug> [--default <label|id>] [--json] Die Konten auflisten, in deren Namen deine Aufrufe ausgeführt werden können, samt der Identität, mit der jedes Konto verbunden ist. --default legt eines davon fest.
beeuni connectors connections ls [--all] [--json] Verbindungen mit Bezeichnung, CONNECTED AS, Eigentümer, WHO CAN USE (owner only, everyone oder den Berechtigungsbezeichnungen, mit (not you), wenn du sie nur zur Verwaltung auflistest), Status und Standardverbindung auflisten.
beeuni connectors connections rename <id> <label…> Eine Verbindung umbenennen. Nur die Bezeichnung wird geändert; keine erneute Autorisierung.
beeuni connectors connections share <id> [--group <id>]… [--user <email|id>]… [--everyone] Dein eigenes privates Konto teilen: Es wird zu einem gemeinsam genutzten Konto, das nur die jeweilige Person verwenden darf (--everyone: das ganze Projekt). Erfordert das Recht, die Verbindungen des Projekts zu verwalten.
beeuni connectors apps [<query>] [--category <c>] [--cursor <c>] [--limit <n>] [--json] Den verwalteten Toolkit-Katalog durchsuchen – nach den Slugs, die add --provider composio --app <slug> akzeptiert. Alias: beeuni connectors toolkits. Füge --pipedream für den älteren Katalog hinzu.
beeuni connectors catalog [<query>] [--cursor <c>] [--json] Den Katalog der direkten Connectors durchsuchen. Erfordert das Flag connectors_api_discover.
beeuni connectors catalog show <id> [--json] Die verfügbaren Schnittstellen eines Katalogeintrags anzeigen.
beeuni connectors sensitive <slug> on|off Auch Lesezugriffe für diesen Connector einschränken – jeder Aufruf erfordert dann eine Genehmigung. Wird sofort angewendet.
beeuni connectors owner <slug> project|user Festlegen, wer autorisiert: eine Projektverbindung oder jedes Mitglied mit seinem eigenen Konto. Wird sofort angewendet.
beeuni connectors authorize <slug> [--status] [--scope "<a b>"] [--client-id <id>] [--client-secret <s>] [--success-redirect <url>] [--error-redirect <url>] [--json] OAuth 2.1 für einen Connector vollständig einrichten: die Autorisierungsmetadaten des Servers ermitteln, Beeuni als Client registrieren (RFC 7591), sofern der Server dies unterstützt, und die URL zur Genehmigung ausgeben. --status meldet stattdessen das Ergebnis.
beeuni connectors authorize <slug> --device Dasselbe mit dem OAuth-2.0-Geräteablauf (RFC 8628): einen Code und eine URL ausgeben, dann die Abfrage fortsetzen, bis der Vorgang genehmigt, abgelehnt oder abgelaufen ist.
beeuni connectors policy ls [--json] Die projektweite Ausführungsrichtlinie anzeigen. Alias: show.
beeuni connectors policy set --default <risk|allow_all> [--apply] Den Standardausführungsmodus in beeuni.yaml festlegen. --apply legt ihn stattdessen sofort fest.
beeuni connectors policy add <match> <allow|ask|block> [--condition <k=v>] Eine projektweite Regel hinzufügen. Wird sofort angewendet. --condition beschränkt sie auf ein passendes Argument und kann wiederholt angegeben werden; k!=v kehrt die Bedingung um, und k ist ein Punktpfad zu den Argumenten des Aufrufs.
beeuni connectors policy rm <match> Eine projektweite Regel entfernen. Wird sofort angewendet.
beeuni connectors policy <slug> ls|set <match> <allow|ask|block>|rm <match>|clear Die Regeln für Tool-Aufrufe eines Connectors verwalten.

policy ls, show, set, add und rm bezeichnen die projektweite Oberfläche. Ein Connector, dessen Name einem dieser Verben entspricht, muss daher als policy <slug> ls angesprochen werden. Ein <match> ist ein Toolname, ein Glob-Muster (send_*) oder ein /regex/.

Optionen für 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.

Sandboxes

Verwaltet die Sandbox-Images des Projekts. Eine Vorlage definiert ein Image oder Dockerfile sowie Ressourcen; ein Build erstellt den Snapshot, von dem Sitzungen starten.

Befehl Wirkung
beeuni sandboxes ls [--json] Vorlagen und den aktuellen Provider-Status auflisten.
beeuni sandboxes builds [--json] Das aktuelle Build-Protokoll anzeigen.
beeuni sandboxes health [--json] Bereitschaft der primären Vorlage anzeigen.
beeuni sandboxes add <slug> (--image <i>|--dockerfile <p>) [options] Eine benutzerdefinierte Vorlage erstellen und einen Build starten.
beeuni sandboxes update <slug> [options] Eine Vorlage aktualisieren.
beeuni sandboxes build <slug> Einen Build erneut starten.
beeuni sandboxes rebuild <slug> Erzwingen, dass ein neuer Build erstellt wird: zuerst den vorhandenen Snapshot löschen.
beeuni sandboxes rm <slug> Eine Vorlage löschen.
beeuni sandboxes fix Eine Sitzung starten, die mit dem Protokoll des letzten fehlgeschlagenen Builds initialisiert wird, um den Fehler zu beheben.
beeuni sandboxes provider [--json] Die Provider-Festlegung der Sandbox des Projekts sowie die von diesem Host angebotenen Provider anzeigen.
beeuni sandboxes provider <name> [--timeout <sec>] Alle neuen Sitzungen an einen Provider binden. Muss für das Ziel zuerst ein Snapshot erstellt werden, antwortet die API mit einer Vorbereitung, und der Befehl führt sie bis zum Abschluss aus. Standardwert für --timeout: 600s.
beeuni sandboxes provider --clear Die Festlegung aufheben und den Plattformstandard verwenden. Alias: --unpin.
beeuni sandboxes provider status [--json] Den letzten Provider-Wechsel und den Verlauf anzeigen. Alias: transition.

Einen Provider festzulegen erfordert project.settings.write.

Optionen für add/update: --name <label>, --cpu <n>, --memory <n> (GiB), --disk <n> (GiB).

Backends

Datenbanken sind Apps mit persistenten Volumes. Verwalte und verbinde sie über Apps.

Apps

Marketplace

Durchsuche den Beeuni-Marktplatz und installiere ein Element in einem Projekt.

Befehl Wirkung
beeuni marketplace search [query] Marktplatz-Elemente suchen.
beeuni marketplace list Marktplatz-Elemente auflisten.
beeuni marketplace show <id-or-name> Ein Marktplatz-Element anzeigen.
beeuni marketplace install <id-or-name> Eine Agentensitzung starten, die das Element importiert.

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

Die Installation wird vom Agenten ausgeführt: Sie startet eine Projektsitzung, die das Element klont, es liest, passende Inhalte zusammenführt und einen Änderungsvorschlag öffnet. Es gibt keine Mechanismen zur deterministischen Installation, Aktualisierung oder Entfernung.

System-Skills

Die Beeuni-System-Skills sind die betriebliche Referenz der Plattform für Menschen und Agenten. Sie behandeln Sitzungen, Sandboxes, die Standard-Agent-Laufzeit, Connectors, Speicher und Channels. Diese öffentliche Seite ist der Einstiegspunkt; die authentifizierte CLI liest die Skills vom laufenden Host. Verwende beeuni system-skills list, um die verfügbaren Skills zu finden, und dann get für den benötigten Skill. Die API stellt sie live bereit, sodass sie der Version des bereitgestellten Hosts entsprechen. Eine lokale Kopie ist nicht unbedingt aktuell.

Befehl Wirkung
beeuni system-skills list Die Beeuni-System-Skills auflisten. Standard-Unterbefehl.
beeuni system-skills get <name> [--full] Den aktuellen SKILL.md eines Skills ausgeben. --full fügt die referenzierten Dateien hinzu.
beeuni system-skills path [name] Das Verzeichnis eines Skills auf der Festplatte in diesem Projekt ausgeben.

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

beeuni skills ist ein dauerhafter Alias für denselben Befehl. Melde dich zuerst mit beeuni login beim Host an; die Skills-API erfordert eine Authentifizierung. Verwende --host <name>, wenn du mit einem anderen Host arbeitest. Eine öffentliche Dokumentationsseite kann diese aktuellen, host-spezifischen Anweisungen nicht ersetzen.

Diese Liste enthält immer nur die System-Skills, keine Mischung. Optionale Skills findest du im Marktplatz: beeuni marketplace list --type skill. Die Befehlssyntax findest du unter beeuni <command> --help; die vollständige Plattformreferenz steht in beeuni system-skills get beeuni-system --full.

Connector

Die Schnittstelle des Agenten in der Sandbox zu allen Connectors. Jeder Aufruf wird serverseitig geprüft, aufgelöst und protokolliert; die CLI speichert keine Zugangsdaten von Drittanbietern. Authentifizierung: BEEUNI_TOKEN. Ausgabe im JSON-Format.

Befehl Wirkung
beeuni connectors discover "<intent>" Tools nach natürlichsprachlicher Beschreibung der gewünschten Funktion suchen.
beeuni connectors show <connector>.<action> Das Eingabeschema einer Aktion anzeigen.
beeuni connectors call <connector>.<action> '<json-args>' Ein Tool ausführen. Ein durch Richtlinien gesteuerter Aufruf gibt sofort sein authentifiziertes approval_url zurück. Der Server setzt die Sitzung nach einer Genehmigungs- oder Ablehnungsentscheidung fort. Große Argumente als @file.json oder - (stdin) übergeben.
beeuni connectors call <connector>.<action> '<json-args>' --reason "<text>" Für den menschlichen Genehmiger beschreiben, was der Aufruf bewirkt, wenn eine Richtlinie ihn zurückhält. Die Genehmigungskarte zeigt die Beschreibung des Agenten neben den Argumenten an.
beeuni connectors call <connector>.<action> @args.json --attach <file> Eine Datei bereitstellen und ihre Referenz an das Anhang-Array der Aktion anhängen. Das Gateway schreibt die Bytes in das Anhangselement des Anbieters. --attach kann wiederholt werden; --attach-path <a.b.c> gibt den Namen des Arrays an. Siehe Dateien anhängen.
beeuni connectors call <connector>.<action> '<json-args>' --out <file> Das vollständige JSON-Ergebnis in <file> schreiben und nur eine Zusammenfassung ausgeben: saved_to, bytes und shape (Schlüssel, Array-Längen, pageInfo). Siehe Große Ergebnisse.
beeuni connectors upload <file> --connector <slug> Eine Datei bereitstellen. Gibt ref, {"$beeuni_attachment":"<id>"} aus, die in die Aufrufargumente eingefügt werden.
beeuni connectors add <slug> --provider pipedream --app <app> Sofort einen Connector hinzufügen und anschließend verbinden.
beeuni connectors rm <slug> Einen Connector aus dem Projekt entfernen.
beeuni connectors connect <slug> [--owner me|project] [--label <name>] Einen Verbindungslink für eine Person erstellen. --label schlägt einen Namen für ein neues Konto vor, zum Beispiel ein zweites Gmail-Konto.

Dateien

Schreibgeschützte Ansicht des Git-Repositorys des Projekts. Verwendet den Standard-Branch, sofern --ref keinen anderen Branch, Tag oder Commit angibt.

Befehl Wirkung
beeuni files ls [<path>] Dateien in einem Pfad rekursiv auflisten. Die Liste wird nach 1.000 Dateien beendet und darauf hingewiesen; schränke sie mit einem Pfad ein oder verwende files search.
beeuni files cat <path> Inhalt einer Datei ausgeben.
beeuni files search <query> [--content] Dateinamen oder mit --content Dateiinhalte durchsuchen.
beeuni files history <path> Commit-Verlauf einer Datei.
beeuni files branches Branches auflisten.
beeuni files commits [--path <p>] Commits auf --ref auflisten.
beeuni files show <sha> Einen Commit und seine geänderten Dateien anzeigen.
beeuni files diff <sha> [--path <p>] Einheitlichen Patch eines Commits ausgeben.
beeuni files compare <from> <into> Diff zwischen zwei Referenzen zusammenfassen.
beeuni files download -o <out.zip> Das Repository oder den Teilbaum --path bei --ref als ZIP-Datei herunterladen. Alias: archive.

Optionen für alle Unterbefehle: --ref <ref>, --path <p>, --limit <n>, --json. download akzeptiert außerdem -o, --out <file>, das erforderlich ist.

Für jeden Unterbefehl ist project.file.read erforderlich. download lehnt außerdem jeden Teilbaum ab, der einen Agenten oder Skill enthält, für den du keine Berechtigung hast — ein ZIP-Archiv lässt sich während des Streamings nicht filtern. Archiviere in diesem Fall einen enger gefassten --path.

Auslöser

Ein Auslöser startet eine Sitzung nach Zeitplan, über einen Webhook, durch ein App-Ereignis oder über einen Monitor (experimentell). add, rm, enable, disable bearbeiten das lokale Manifest — führe beeuni ship aus, um die Änderungen anzuwenden. pause/resume schalten einen separaten serverseitigen Schalter um. Siehe Auslöser.

Befehl Wirkung
beeuni triggers ls [--json] Auslöser und ihren Laufzeitstatus auflisten.
beeuni triggers add <slug> [options] [--apply] Einen Auslöser an das Manifest anhängen. --apply erstellt ihn stattdessen sofort im Cloud-Projekt: Der Befehl committet nach beeuni.yaml auf main und gleicht den Status ab.
beeuni triggers set <slug> [options] Einen aktiven Auslöser ändern. Es werden nur die übergebenen Flags geschrieben. Wird immer sofort angewendet — eine lokale Variante gibt es nicht. Alias: update.
beeuni triggers rm <slug> [--apply] Einen Auslöser aus beeuni.yaml oder mit --apply sofort aus dem Cloud-Projekt entfernen.
beeuni triggers info <slug> [--json] Einen Auslöser anzeigen.
beeuni triggers events --connector <slug> [--json] Die von einem Connector angebotenen Ereignisse samt Einstellungen auflisten.
beeuni triggers fire <slug> Einen Auslöser manuell auslösen und auf das Ergebnis der Ausführung warten: Bei einem fehlgeschlagenen Lauf wird ein von null verschiedener Exit-Code mit der Fehlermeldung zurückgegeben. Die für den ausgelösten Lauf neu erstellte Sitzung wird bereinigt (ein Lauf, der zu einer bestehenden Sitzung hinzugefügt wurde, bleibt bestehen). --wait <dur> begrenzt die Wartezeit (Standard: 90s; 0 kehrt zurück, sobald das Auslösen angenommen wurde).
beeuni triggers enable <slug> [--apply] / disable <slug> [--apply] Einen Auslöser ein- oder ausschalten.
beeuni triggers pause / resume Alle Auslöser im Projekt serverseitig deaktivieren oder reaktivieren.

Optionen für add: --type <cron\|webhook\|event\|monitor> (Standard: cron), --prompt <text> (erforderlich), --agent <name>, --cron <expr> (6 Felder, z. B. "0 0 9 * * 1-5"), --run-at <iso> (einmalig zu diesem Zeitpunkt statt nach einem Cron-Zeitplan ausführen), --timezone <tz> (Standard: UTC), --secret-env <NAME>, --name <label>, --disabled.

Nur für aktive Auslöser verfügbare Optionen — gültig für add --apply und alle set: --model <provider/model>, --session-mode <fresh\|keyed\|pinned\|reuse>, --session-key <tmpl> (eine Sitzung pro Schlüssel gruppieren, z. B. "{{ body.data.chat_jid }}"; setzt keyed voraus), --session-id <id> (die Sitzung, in der ein pinned-Auslöser wiederholt ausgeführt wird; muss eine Sitzung dieses Projekts sein), --session-access <private\|project\|members> (Standard: private), --member <uuid> und --group <uuid> (wiederholbar; jede Option setzt members voraus) sowie --filter <path=value> (wiederholbar; jede Angabe muss übereinstimmen, z. B. --filter body.type=push).

set akzeptiert alle nur für aktive Auslöser verfügbaren Optionen sowie --name, --prompt, --cron, --run-at, --timezone, --secret-env, --agent und --enabled true|false. --cron und --run-at schließen sich gegenseitig aus: Wenn eine gesetzt wird, wird die andere gelöscht. Monitorfelder können nur hinzugefügt werden.

Erinnerungen

Eine Erinnerung fordert eine Sitzung später erneut zur Eingabe auf, einmalig oder wiederholt. Sie wird in der Datenbank gespeichert, nicht in beeuni.yaml. Innerhalb einer Sitzung ist der Standardwert für --session $BEEUNI_SESSION_ID. Siehe Erinnerungen.

Befehl Wirkung
beeuni remind "<text>" [schedule] Eine Erinnerung erstellen. Entspricht beeuni reminders add.
beeuni reminders add "<text>" [schedule] Eine Erinnerung erstellen. Gibt ihre ID und den nächsten Auslösezeitpunkt aus.
beeuni reminders ls [--json] Erinnerungen der Sitzung auflisten.
beeuni reminders pause <id> / resume <id> Eine Erinnerung aus- oder einschalten. resume aktiviert sie erneut, beginnend ab jetzt.
beeuni reminders rm <id> Eine Erinnerung löschen. Aliase: stop, delete.

Zeitplanoptionen: --in <duration> oder --at <iso> (erste Ausführung; allein verwendet, wird einmalig ausgeführt), --every <duration> (Wiederholung, mindestens 5m), --cron "<expr>" mit --timezone <tz>. Weitere Optionen: --name <label>, --session <id> (ein eindeutiges Präfix genügt), --project <id>, --host <name>, --json.

Ereignisoptionen (--type event): --connector <slug> und --event <TYPE> (beide erforderlich), --config key=value (wiederholbar, Zeichenfolgenwerte) und --config-json '{...}' (typisierte Werte). set akzeptiert dieselben Flags. Ein Ereignisauslöser lehnt --cron, --run-at, --timezone, --secret-env und die Monitoroptionen ab. Die Eingabeaufforderung liest {{ event.data.<field> }}; siehe App-Ereignisauslöser.

Monitoroptionen (--type monitor): --run <cmd> (relativer Repository-Pfad zum zu überwachenden Befehl; erforderlich), --mode <poll\|stream> (erforderlich; poll führt bei --interval erneut aus, stream hält den Befehl am Laufen), --interval <dur> (nur mode=poll, mindestens 30 s, z. B. 60s, 5m) und --expect-event-within <dur> (Leerlaufüberwachung; wenn innerhalb des Zeitfensters kein Ereignis eintritt, wird stattdessen ein Lebenszyklusereignis ausgelöst; mindestens 5 min, z. B. 24h). Ein Monitor ist ein Repository-Befehl, den die Plattform rund um die Uhr ausführt; jede stdout-Zeile löst den Auslöser aus. Die Funktion ist experimentell: Die Plattform führt Monitore nur dort aus, wo das Feature-Flag monitors aktiviert ist.

Zugriff

Die CLI-Oberfläche für die zentrale Berechtigungstabelle. Jede Zeile ist eine Zuweisung: ein Prinzipal, eine Rolle, ein Geltungsbereich, optional auf ein Objekt eingeschränkt. Siehe Konten und Zugriff für das Modell. Kontorollen: owner, admin, member. Projektrollen: manager, member.

Befehl Wirkung
beeuni access assignments [--project <id>|--account|--all] [--json] Zuweisungen für ein Projekt, das Konto oder überall auflisten.
beeuni access grant --user <id|email>|--group <id>|--service-account <id> --role <key|id> [opts] Eine Zuweisung erstellen. Gibt die Zuweisungs-ID aus.
beeuni access revoke <assignment-id> Eine Zuweisung widerrufen.

Optionen für Berechtigungen: --project <id> (Standard: das verknüpfte Projekt), --account (das gesamte Konto), --agent <name> (Berechtigung auf einen Agenten beschränken — eine Objektzuweisung), --connection <id> (Nutzung eines gemeinsam genutzten Connector-Kontos beschränken; die erste Zuweisung beschränkt das Konto auf seine Berechtigungsempfänger, und durch den Widerruf der letzten Zuweisung wird es wieder für das gesamte Projekt freigegeben), --everyone (allen mit Zugriff auf das Projekt Berechtigungen erteilen; der Eintrag enthält --agent oder --connection, niemals eine Rolle) und --expires <iso> (Zeitstempel für den automatischen Widerruf). --principal filtert eine Liste und akzeptiert user:<id>, group:<id>, service_account:<id>, project:<id> oder pending:<email>; eine allein angegebene ID wird als Benutzer interpretiert. Eine Zuweisung an alle wird als everyone angezeigt. Die Identität eines Agenten ist ein service_account; mit --service-account <id> weist du einem Agenten eine Rolle zu. --user akzeptiert eine E-Mail-Adresse und löst sie über das Mitgliederverzeichnis des Kontos auf.

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…

Die Verben für Projektmitglieder sind eine Lesesicht auf dieselben Zuweisungen:

Befehl Wirkung
beeuni access ls [--json] Listet die Personen mit Projektzugriff, ihre Kontorolle und ihre effektive Projektrolle auf.
beeuni access invite <email> --role <r> Lädt eine Person in das Projekt ein. Erstellt eine pending-Zuweisung.
beeuni access grant <user-id> --role <r> Legt die Projektrolle einer Person fest.
beeuni access revoke <user-id> Entfernt den Projektzugriff einer Person.
beeuni access pending [--json] Listet ausstehende Einladungen auf.
beeuni access resend <invite-id> Sendet eine Einladungs-E-Mail erneut und aktualisiert deren 14-tägige Gültigkeit. Gibt außerdem den Link aus.
beeuni access cancel <invite-id> Bricht eine ausstehende Einladung ab.
beeuni access requests ls [--json] Listet die ausstehenden Anfragen von Personen auf, die diesem Projekt beitreten möchten.
beeuni access requests approve <req-id> [--role <r>] Genehmigt eine Anfrage und gewährt die Projektrolle. Standardrolle: member.
beeuni access requests reject <req-id> Lehnt eine Anfrage ab. Alias: deny.

Jedes Verb in den beiden obigen Blöcken benötigt project.members.manage.

Eine Person, eine Gruppe oder ein Agent erhält Rollen von Beeuni; ein Agent trägt zusätzlich Beeuni-Berechtigungen in beeuni.yaml, und eine Sitzung kann nur das tun, was beide erlauben. Siehe Ein Vokabular, zwei Bindungen.

Audit

Die Audit-Befehle lesen das zentrale Rekonstruktionsprotokoll. Konto- und Projektlisten werden in absteigender Aktualitätsreihenfolge ausgegeben. Eine Sitzungschronik ist nach Erstellungszeit geordnet (session_sequence ist nur bei Zeilen gesetzt, die vor 2026-10 geschrieben wurden; diese werden zuerst angezeigt). --all folgt jedem Fortsetzungs-Cursor. ls listet die letzten 90 Tage auf; export reicht 365 Tage zurück, und Ereignisse, die älter als 90 Tage sind, stammen aus dem Archiv (siehe Aufbewahrung des Audit-Protokolls). Die Tabelle zeigt den Titel jeder Zeile (zum Beispiel EVENT „LLM-Gateway-Schlüssel widerrufen“) neben ihrem ACTION (gateway.key.revoke); --action filtert nach dem Aktionspräfix. Alle Aktionen und Titel: Aktionen im Audit-Protokoll.

Befehl Wirkung
beeuni audit ls [filters] [--all] [--json] Listet Kontoereignisse auf.
beeuni audit project <project-id> [filters] [--all] [--json] Listet die Ereignisse eines Projekts auf.
beeuni audit session <session-id> --project <project-id> [--all] [--json] Rekonstruiert eine Sitzung in der richtigen Reihenfolge.
beeuni audit export [filters] --format csv|jsonl --out <file> Setzt jede Exportseite in einer Datei fort.
beeuni audit webhooks ls [--json] Listet die Audit-Webhooks des Kontos auf.
beeuni audit webhooks add --name <n> --url <u> [--action-prefix <p>] Erstellt einen Webhook. Das Signaturgeheimnis wird nur einmal ausgegeben, und sofort wird eine Testzustellung ausgelöst. --action-prefix stellt nur Aktionen mit diesem Präfix zu.
beeuni audit webhooks enable <webhook-id> Setzt die Zustellung fort.
beeuni audit webhooks disable <webhook-id> Pausiert die Zustellung und behält den Endpunkt bei.
beeuni audit webhooks rm <webhook-id> Löscht einen Webhook dauerhaft.

Audit-Webhooks streamen den Verlauf an ein SIEM. Jedes Verb benötigt account.write; add und enable benötigen außerdem die Enterprise-Berechtigung. disable und rm tun dies niemals.

Filter: --actor, --actor-type, --project, --session, --source, --phase, --outcome, --action, --resource-type, --request-id, --correlation-id, --query, --since, --until, --cursor und --limit. Kontolisten und Exporte erfordern audit.read und die auditAccess-Berechtigung des Kontos. Projektweite Listen erfordern project.members.manage, da sie Metadaten privater Sitzungen enthalten können. Die Rekonstruktion einer Sitzung erfordert project.session.read sowie Sichtbarkeit für diese Sitzung.

Rollen

Eine Rolle ist eine benannte Gruppe von Berechtigungen. Systemrollen (owner, admin, member auf Kontoebene; manager, member auf Projektebene; außerdem agent-user, das Kennzeichen, das eine Objektzuweisung trägt) sind schreibgeschützte Verweise. Benutzerdefinierte Rollen können Sie selbst erstellen und bearbeiten und benötigen die Enterprise-rbac-Berechtigung.

Befehl Wirkung
beeuni roles ls [--json] Listet System- und benutzerdefinierte Rollen auf.
beeuni roles show <role> [--json] Zeigt die Berechtigungen und Verwendung einer Rolle an.
beeuni roles permissions <role> [--json] Listet die Berechtigungen einer Rolle auf.
beeuni roles create <key> --name <n> [options] Erstellt eine benutzerdefinierte Rolle.
beeuni roles edit <role> [--name <n>] [--desc <t>|--no-desc] Benennt eine benutzerdefinierte Rolle um oder beschreibt sie neu. Ihr Schlüssel ändert sich nie. Erfordert role.update und verweigert Systemrollen.
beeuni roles set-actions <role> --actions a,b Ersetzt die Berechtigungen einer benutzerdefinierten Rolle.
beeuni roles rm <role> Löscht eine benutzerdefinierte Rolle.
beeuni roles export [--project <id>] [--out <file>] [--format toml|json] Speichert Rollen und Zuweisungen in einer Datei.
beeuni roles import <file> Wendet eine Rollen- und Zuweisungsdatei an.

Binden Sie eine Rolle mit beeuni access grant an einen Principal. Die älteren Verben beeuni roles assign / unassign / assignments funktionieren weiterhin und schreiben in dieselbe Tabelle, aber beeuni access ist der dokumentierte Weg. beeuni roles actions wurde durch beeuni permissions ls abgelöst.

Eine benutzerdefinierte Rolle fügt nur Berechtigungen hinzu. Beeuni kennt keine Verweigerungsregel, daher kann eine Rolle einem Manager keine Berechtigung entziehen.

Berechtigungen

Der Berechtigungskatalog als Daten. Eine Zeile pro Blattaktion, mit dem Geltungsbereich, in dem sie entschieden wird, ob sie delegierbar ist und was sie impliziert. Rollen werden aus diesen Schlüsseln erstellt — beeuni roles create --actions und beeuni roles set-actions akzeptieren genau diese. Alias: beeuni perms.

Befehl Wirkung
beeuni permissions ls [--scope account|project] [--area <a>] [--json] Listet den Katalog auf.
beeuni permissions show <action> [--json] Zeigt eine Aktion vollständig an.

Gewährungen

Weist einem Principal ein Projektobjekt zu — eine Objektzuweisung. Geheimnisse und Konnektoren befinden sich auf Agenten; daher gewährt die Zuweisung eines Agenten an eine Person alles, was dieser Agent deklariert. Ein Agent ist standardmäßig geschlossen: Ein Mitglied erreicht ihn nur, wenn eine Zuweisung es selbst oder eine seiner Gruppen nennt. beeuni access grant --agent <name> schreibt dieselbe Zeile.

Befehl Wirkung
beeuni grants ls [--json] Listet Objektzuweisungen und die zuweisbaren Agenten auf.
beeuni grants assign <agent-name> --to <who> [--group] Weist einen Agenten einer Person oder mit --group einer Gruppe zu.
beeuni grants revoke <grant-id> Widerruft eine Objektzuweisung.

Manifestvalidierung

Befehl Wirkung
beeuni validate [--file <path>] [--json] [--scopes] [--no-dockerfile-lint] Validiert das Manifest anhand des kanonischen Schemas, prüft jede Sandbox-Dockerfile und die Agentenverdrahtung und kontrolliert die Repositorygröße. Löst zuerst beeuni.yaml und anschließend beeuni.toml auf. Exit-Codes: 0 gültig (Warnungen sind möglich), 1 Fehler, 2 Datei fehlt. beeuni ship führt dieselben Prüfungen aus.
beeuni schema [--version 1|2] [--url] Gibt das JSON-Schema des Manifests aus. --url gibt stattdessen die Schema-URL aus.

Siehe Manifestreferenz.

Repositorygröße

Eine Sitzung erstellt ihre Agentenkonfiguration aus jeder Datei, die Git im Basis-Commit verfolgt. Eine neue Sitzung übernimmt diese Dateien aus ihrem eigenen Checkout, unabhängig von der Größe. Eine laufende Sitzung übernimmt eine Änderung des Basis-Branches über den Projektsnapshot, den die Beeuni-Cloud bis zu 512 MiB komprimiert erstellt; darüber hinaus behält die Sitzung die von ihr ausgeführte Konfiguration, bis eine neue Sitzung startet. Jede Sitzung lädt außerdem jede Datei herunter. beeuni validate zählt die von Git gespeicherten Dateien sowie die nicht verfolgten Dateien, die beeuni ship als Nächstes committet, und gibt eine Warnung aus, wenn eine Datei 10 MiB oder mehr groß ist oder die Gesamtsumme 512 MiB überschreitet. Eine Git-LFS-Datei wird als ihr Zeiger gezählt, da die Version nur den Zeiger enthält. Die Warnung nennt die größten Dateien. Der Befehl schlägt dadurch nie fehl.

So beheben Sie das Problem:

  • Verschieben Sie große statische Ressourcen (Videos, Bilder, Datensätze, Modellgewichte) in einen Objektspeicher wie S3, R2 oder GCS oder in ein CDN und laden Sie sie zur Laufzeit herunter.
  • Fügen Sie Build-Ausgaben (dist/, out/) zu .gitignore hinzu.
  • Für einen Pfad, der in Git bleiben muss, aber von keinem Agenten gelesen wird, fügen Sie <path> export-ignore zu .gitattributes hinzu. Die Version lässt ihn ebenso wie die Prüfung aus; eine Verzeichnisregel gilt für alles darunter. Das Verzeichnis der Agentenkonfiguration und beeuni.yaml werden immer vollständig ausgeliefert.

Token-Gültigkeitsbereich

Jedes Token beginnt mit beeuni_pat_. Ein Benutzertoken gilt für jedes Projekt in deinen Konten. Ein Projekttoken gilt für ein einzelnes Projekt und wird automatisch in die Sandboxes dieses Projekts eingefügt. Die vollständige Referenz zur Token-Familie findest du unter Session runtime.

Exit-Codes

Code Bedeutung
0 Erfolg.
1 Vorgang fehlgeschlagen. Diagnosemeldungen werden auf stderr ausgegeben.
2 Ungültiges Flag, unbekannter Unterbefehl oder erforderliches Argument fehlt.

War diese Seite hilfreich?