Skip to main content

Remote Sessions

Wenn Sie Remote Sessions aktivieren, können Sie über GitHub Mission Control von Web- oder Mobilgeräten aus auf dieselbe Session zugreifen. Nach der Aktivierung wird jede Session mit Mission Control verbunden, und es wird eine URL generiert, die sich als Link oder QR-Code teilen lässt. Wenn Sie die Session selbst nicht lokal oder auf einem eigenen Server, sondern in einer von GitHub gehosteten Umgebung ausführen möchten, verwenden Sie Cloud Sessions.

Voraussetzungen

  • Der Benutzer ist authentifiziert (GitHub-Token oder angemeldeter Benutzer)
  • workingDirectory liegt in einem GitHub-Repository

Aktivierung auf Client-Ebene (dauerhaft ON)

Wenn Sie remote: true aktivieren, wird für alle Sessions innerhalb des GitHub-Repositorys automatisch eine Remote-URL generiert. Es ist praktikabler, remote: true gezielt in benötigten Verarbeitungen mit useStdio() zu aktivieren, statt es dauerhaft in config/copilot.php einzutragen.
Die remote-Option wirkt nur, wenn das SDK den CLI-Prozess startet. Das heißt: nur im stdio-Modus. Bei Verbindungen zu externen Servern wie useTcp() wird sie ignoriert.

Aktivierung pro Session (on-demand)

Um das Remote-Sharing im laufenden Betrieb zu starten, schalten Sie es per RPC um. Das entspricht den CLI-Befehlen /remote on bzw. /remote off.

Runtime-weites Remote Control (TCP-Modus)

Die Option remote: true gilt nur, wenn das SDK den CLI-Prozess startet, und funktioniert daher nur im stdio-Modus. Wenn Sie sich im TCP-Modus mit einem bestehenden CLI-Server verbinden, wird diese Option ignoriert. Im TCP-Modus verwalten Sie über $client->rpc()->sessions() ein einziges Remote Control für die gesamte Runtime. Anders als das sessionbezogene remote()->enable() können Sie damit Remote Control starten, stoppen, zwischen Sessions übertragen und den aktuellen Status abfragen.
Der Status ist einer von off, connecting, active oder error. Im Status active stehen außerdem frontendUrl und isSteerable zur Verfügung.
Um der Runtime mitzuteilen, dass sich die Fernsteuerbarkeit einer Session geändert hat, verwenden Sie das sessionbezogene RPC.

QR-Code-Generierung

Die erhaltene Remote-URL lässt sich als QR-Code an mobile Geräte weitergeben. Sie können BaconQrCode verwenden, das auch in Laravel Fortify eingesetzt wird.

Hinweise

  • Die remote-Option wirkt nur, wenn das SDK den CLI-Prozess startet. Bei Verbindung zu externen Servern (z. B. useTcp()) wird sie ignoriert.
  • Wenn workingDirectory kein GitHub-Repository ist, wird die Remote-Konfiguration im dauerhaft aktivierten Modus übersprungen. Bei On-demand-Aktivierung (remote()->enable()) kann es zu einem Fehler kommen.
  • Konfigurieren Sie die Anmeldedaten (github_token oder use_logged_in_user) korrekt.

Referenzen

Aktuelle Informationen finden Sie im GitHub-Repository.
Zuletzt geändert am 19. Oktober 2026