Computer-Tunnel
Verbinden Sie Ihren Computer über den autorisierten Beeuni Agent Tunnel.
Ein Computer ist dein eigener Rechner – Laptop, Desktop oder Server –, der über einen autorisierten Reverse-Tunnel mit Beeuni verbunden ist. Ein Computer ist keine Sandbox. Eine Sandbox ist ein kurzlebiger Cloud-Rechner, den Beeuni für eine Sitzung erstellt. Ein Computer ist ein Rechner, den du bereits besitzt, und er bleibt sitzungsübergreifend verbunden.
Ein verbundener Computer ist ein Konto des computer
Connectors – genauso wie ein persönliches Gmail-Postfach ein Konto
des Gmail-Connectors ist. Jedes Projekt enthält den computer
Connector standardmäßig; du fügst ihn nie hinzu und entfernst ihn nie. Jedes
Mitglied verbindet seinen eigenen Computer, und dieser folgt ihm: Er ist in
jedem Projekt, dem das Mitglied angehört, und in jedem Workspace ein Konto,
ohne dass pro Projekt etwas eingerichtet werden muss.
- Füge Computer-Tunnel aus dem Connector-Katalog des Projekts hinzu.
- Führe den im Profil angezeigten Pairing-Befehl aus, zum Beispiel
npx --yes @beeuni/agent-tunnel@latest connect --api-url <url>. - Genehmige die Verbindung in deinem Browser.
- Wähle den gekoppelten Rechner für das Profil aus.
Eine Karte Computer verbinden wird in der Seitenleiste des Projekts angezeigt, bis du einen verbundenen Computer hast. Schließe sie mit ×, wenn du sie nicht benötigst; sie bleibt in diesem Browser ausgeblendet. Bei einem Deployment, in dem Computer deaktiviert sind, wird die Karte nicht angezeigt.
Du erteilst Zugriff pro Fähigkeit: Dateisystem, Shell oder Desktop. Du kannst jede Fähigkeit auf zulässige Pfade, Befehle oder Desktop-Funktionen begrenzen. Eine Berechtigung für eine Fähigkeit ist eine Einstellung pro Ressource auf einem Rechner, keine Beeuni-Rolle. Sie erteilt keine Berechtigung, die das Rollenurteil verweigert – siehe Konten und Zugriff. Der Agent erhält nur das, was du gewährst. Ein Aufruf einer nicht gewährten Fähigkeit erzeugt eine Berechtigungsanfrage. Öffne den Rechner in seinem Computer-Tunnel-Profil, um die Anfrage zu genehmigen oder abzulehnen.
Im Browser. Klicke auf der Karte auf Computer verbinden. Der Dialog bietet Beeuni für Desktop herunterladen an; danach wird der Computer mit einem Klick verbunden. Um die Verbindung ohne die App herzustellen, wähle Stattdessen CLI verwenden und führe den auf dem Computer angezeigten Befehl aus:
So erreicht der Agent einen Computer
Das Pairing fügt einen Rechner deiner Kontoflotte hinzu. Es schreibt keine Zuweisung und gewährt daher keinen Projektzugriff. Füge Computer-Tunnel aus dem Connector-Katalog des Projekts hinzu und wähle anschließend mindestens einen gekoppelten Rechner für dieses Profil aus.
Ein Profil kann einen einzelnen Rechner oder eine Gruppe von Rechnern enthalten. Eine Rechnergruppe ist keine Kontengruppe – eine Kontengruppe ist ein Prinzipal im Rollenmodell, bei diesen handelt es sich um Rechner. Du kannst mehrere Profile mit unterschiedlichen oder sich überschneidenden Rechnergruppen anlegen. Jedes Profil verfügt über unabhängige Agentenberechtigungen und Tool-Richtlinien.
Das list_computers-Tool gibt nur Rechner zurück, die dem aktiven Profil zugewiesen
sind. Andere Tools akzeptieren aus diesem Ergebnis einen optionalen Namen oder
eine ID computer. Der Selektor ist optional, wenn genau ein zugewiesener Rechner
online ist.
beeuni connectors call studio-computers.list_computers '{}'
beeuni connectors call studio-computers.fs.read \
'{"computer":"MacBook-Pro-9.local","path":"/etc/hosts"}'
Der Befehl gibt einen Code aus und öffnet die Genehmigungsseite. Auf der Genehmigungsseite:
- Prüfe, ob der Code mit dem Code auf dem Computer übereinstimmt.
- Benenne den Computer. Der Name wird zum Kontonamen.
- Wähle Wer darf diesen Computer verwenden?: Nur du (die Standardeinstellung: jedes Projekt, deine privaten Sitzungen) oder Auch für das Projekt freigeben, das der Befehl angegeben hat. Zum Teilen benötigst du die Berechtigung, die Verbindungen dieses Projekts zu verwalten.
- Wähle aus, was Agenten tun dürfen: Dateisystem, Shell, Computernutzung.
Der Computer wird dann unter Anpassen → Connectors → Computer → Konten in jedem Projekt angezeigt, dem du angehörst. Seine Zeile sieht aus wie die jedes anderen Connector-Kontos und funktioniert auch so; ein derzeit nicht verbundener Computer zeigt unter seinem Namen Offline an.
Beeuni erkennt jeden Computer anhand eines Hashes seiner Hardware-ID (der
IOPlatformUUID auf macOS, /etc/machine-id auf Linux, MachineGuid unter Windows). Wenn du
denselben Computer nach einer Neuinstallation, Umbenennung oder in einem neuen
Netzwerk erneut verbindest, wird sein vorhandener Eintrag aktualisiert, statt
ein zweiter angelegt zu werden. Name, Freigabe und Sitzungsbindungen bleiben
erhalten.
Dein Computer (Desktop-App)
Öffne das Workspace-Menü (den Projektnamen oben in der Seitenleiste) und wähle Dein Computer. Der Punkt daneben zeigt den Status des Computers an. Der Dialog zeigt den Namen des Computers und einen Status: Online, Verbindung wird hergestellt, Offline, Pausiert oder Erneute Verbindung erforderlich (der Computer wurde an anderer Stelle g getrennt; Diesen Computer verbinden koppelt ihn erneut). Dort kannst du:
- Verbindung pausieren / Verbindung fortsetzen: den
Hintergrunddienst anhalten oder neu starten. Ein pausierter Computer ist für
Agenten offline (
computer_offline) und bleibt auch nach einem Neustart pausiert. - Zugriff: festlegen, ob Agenten den Computer verwenden dürfen, während er verbunden ist. Siehe Zugriff auf dem Computer.
- Diesen Computer im Netzbetrieb wach halten (macOS und Linux): Der Computer wechselt bei Stromversorgung nicht in den Ruhezustand, sodass Agenten ihn erreichen können. Standardmäßig deaktiviert. Unter Windows wird in der Zeile angezeigt, dass dies noch nicht verfügbar ist.
- Freigabe: den Tab „Konten“ des Computer-Connectors öffnen und in der Zeile des Computers Freigeben auswählen.
- Protokolle anzeigen: die Protokolldatei des Agenten öffnen.
- Trennen: den Computer aus Beeuni und allen Projekten entfernen und den Hintergrunddienst stoppen.
Zugriff auf dem Computer
Der Computer selbst entscheidet unabhängig von den Projektberechtigungen, ob ein Agent ihn verwenden darf. Du stellst dies unter Dein Computer → Zugriff oder über das Menüleistensymbol ein:
- Jedes Mal fragen (die Standardeinstellung für einen in der Desktop-App verbundenen Computer): Beim ersten Aufruf eines Agenten erscheint auf dem Computer eine Eingabeaufforderung: 24 Stunden erlauben, 1 Stunde erlauben (die Standardschaltfläche) oder Ablehnen. Eine Genehmigung gilt für Dateien, Shell sowie Bildschirm und Tastatur für jeden Agenten, der den Computer erreichen kann, bis sie abläuft. Während eine Genehmigung aktiv ist, zeigt der Dialog Erlaubt bis 14 und Jetzt widerrufen an. Nach Ablehnen schlagen Aufrufe 10 Minuten lang sofort ohne neue Aufforderung fehl. Durch eine Änderung des Modus endet die aktuelle Genehmigung oder Ablehnung.
- Immer erlaubt: keine Aufforderung. Dies ist die Standardeinstellung für einen Computer, der ausschließlich per CLI verbunden wurde, da auf diesem Computer keine Aufforderung angezeigt werden kann. Computer, die verbunden wurden, bevor diese Einstellung existierte, verhalten sich ebenfalls so, bis du sie änderst.
- Aus: Jeder Aufruf wird abgelehnt.
Nur du kannst auf dem Computer den Zugriff erweitern. Wenn die Beeuni-Seite Immer erlaubt oder eine neue Genehmigung anfordert, zeigt die Desktop-App zunächst einen nativen Dialog an und wendet die Änderung erst an, wenn du auf Erlauben klickst. Jedes neue Pairing beginnt wieder mit der Standardeinstellung, und Trennen entfernt die Einstellung.
Die Einstellung befindet sich auf dem Computer (~/.agent-tunnel/access.json). Die Kontenzeile und
das status-Tool geben sie zurück, sodass ein Agent dir mitteilen kann, dass
er auf deine Genehmigung wartet.
Wer einen Computer verwenden darf
Für einen Computer gelten dieselben Regeln wie für jedes andere Connector-Konto:
- Ein privater Computer (Standardeinstellung Nur du) läuft nur in den eigenen privaten Sitzungen des Eigentümers, in jedem Projekt, dem der Eigentümer angehört. Ein anderes Mitglied kann ihn weder sehen noch verwenden.
- Freigeben in der Zeile des Computers öffnet denselben Dialog wie bei einem Gmail-Konto: Wähle Personen, Gruppen oder alle im Projekt aus. Nichts ändert sich, bis du Speichern auswählst, und du bleibst selbst eingeschlossen, sofern du dich nicht entfernst. Zum Teilen benötigst du die Berechtigung, die Verbindungen des Projekts zu verwalten. Der Computer bleibt in diesem Projekt ein Konto; in der Zeile wird anschließend angezeigt, wer ihn verwenden darf.
- Ein für alle freigegebener Computer läuft für alle im Projekt, einschließlich unbeaufsichtigter Ausführungen: Trigger, Zeitpläne und Slack-Nachrichten ohne verknüpften Benutzer. Eine unbeaufsichtigte Ausführung kann nur freigegebene Computer erreichen.
- Deine eigene Zeile folgt dir und wird daher nicht nur aus einem Projekt entfernt. Trennen entfernt den Computer aus Beeuni und allen Projekten. Wenn er verbunden, aber ungenutzt bleiben soll, setze seinen Zugriff auf dem Computer auf Aus.
Um riskante Aufrufe von einem Menschen bestätigen zu lassen, lege auf dem
Tools-Tab des Computer-Connectors eine
Connector-Richtlinie fest (zum Beispiel Fragen für shell.exec).
Die Anfrage erscheint anschließend in den Genehmigungen des Projekts.
Was der Computer ermöglicht
Du wählst die Fähigkeiten einmal aus, wenn du den Computer genehmigst. Um eine Fähigkeit später zu erlauben, verbinde den Computer erneut und wähle sie aus.
Die lokale Agentenkonfiguration ist unabhängig davon, was Beeuni erlaubt, die
absolute Obergrenze für jeden Aufruf. Sie befindet sich auf dem Computer in
~/.agent-tunnel/config.json:
| Feld | Standard | Wirkung |
|---|---|---|
enabledCapabilities |
die von dir genehmigten Fähigkeiten | Fähigkeiten, die der Rechner überhaupt akzeptiert. |
allowedPaths |
dein Home-Verzeichnis | Pfade, auf die Dateisystemaufrufe zugreifen dürfen. |
blockedPaths |
/etc/shadow, /etc/ssh, /proc, … |
Pfade, auf die kein Aufruf zugreifen darf. |
allowedCommands |
leer (jeder Befehl) | Wenn gesetzt, dürfen nur die ausführbaren Dateien ausgeführt werden, die shell.exec ausführen darf. |
blockedCommands |
leer | Ausführbare Dateien, die shell.exec niemals ausführt. |
Eine uneingeschränkte Shell kann jede für deinen Benutzer verfügbare
ausführbare Datei ausführen. Begrenze allowedPaths und allowedCommands auf das, was die
Arbeit benötigt.
Computernutzung erfordert eine separat installierte lokale cua-driver. Der Agent
lädt diese ausführbare Datei weder herunter noch installiert oder aktualisiert
er sie.
Du konfigurierst Computer-Tunnel-Profile über das Dashboard, nicht über
beeuni.yaml. Verwende den Tab „Konten“ des Profils, um Rechner zu koppeln,
auszuwählen, zu prüfen, umzubenennen und zu entfernen. Verwende den Tab „Tools“,
um die Connector-Richtlinie zu konfigurieren.
Binärdateien sicher übertragen
Übertrage bei Tabellenkalkulationen, PDFs, Bildern und anderen Binärdateien die Bytes direkt aus einer Quelldatei. Bitte den Agenten niemals, eine Base64-Nutzlast aus einer Toolausgabe zu kopieren. Dabei können sich Bytes ändern, obwohl die Dateigröße gleich bleibt.
Konfiguriere auf dem Rechner oder in der Sandbox mit der Quelldatei TUNNEL_API_URL,
TUNNEL_TOKEN und TUNNEL_ID und führe anschließend Folgendes aus:
agent-tunnel-cli fs_upload '{"source":"/tmp/report.xlsx","path":"/Users/me/Desktop/report.xlsx"}'
Der Befehl unterstützt Dateien bis 3 MiB und erfordert die Dateisystemfähigkeit.
Er berechnet SHA-256 aus der Quelle und prüft den vom Ziel zurückgegebenen Hash.
Aktualisiere den verbundenen Agenten, wenn seine Antwort kein Feld sha256
enthält.
Erzeuge bei größeren Dateien das Artefakt auf dem Ziel. Validiere das Quellformat vor der Übertragung. Ein übereinstimmender Hash beweist, dass die Bytes unverändert angekommen sind; Dateigröße und Dateierweiterung beweisen nicht, dass Excel eine Arbeitsmappe öffnen kann.