# Computer-Tunnel

Verbinden Sie Ihren Computer über den autorisierten Beeuni Agent Tunnel.

Canonical page: https://beeuni.ai/docs/de/connect/computers

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](/docs/de/work/sessions) 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](/docs/de/connect/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.

1. Füge **Computer-Tunnel** aus dem Connector-Katalog des Projekts hinzu.
2. Führe den im Profil angezeigten Pairing-Befehl aus, zum Beispiel
   `npx --yes @beeuni/agent-tunnel@latest connect --api-url <url>`.
3. Genehmige die Verbindung in deinem Browser.
4. 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](/docs/de/accounts#per-feature-access-settings). 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:

<a id="how-the-agent-reaches-a-computer"></a>

## 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](/docs/de/connect/connectors)-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.

```bash
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:

1. Prüfe, ob der Code mit dem Code auf dem Computer übereinstimmt.
2. Benenne den Computer. Der Name wird zum Kontonamen.
3. 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.
4. 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.

<a id="your-computer-desktop-app"></a>

## 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](#access-on-the-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.

<a id="access-on-the-computer"></a>

## 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:32** 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.

<a id="who-can-use-a-computer"></a>

## 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](/docs/de/connect/connectors) fest (zum Beispiel **Fragen** für `shell.exec`).
Die Anfrage erscheint anschließend in den Genehmigungen des Projekts.

<a id="what-the-computer-allows"></a>

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

<a id="deliver-binary-files-safely"></a>

## 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:

```sh
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.
