Zum Hauptinhalt springen

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 die 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

Entfernte Konfigurationsoptionen

Das offizielle SDK 1.0.26 hat die Client-Option remote, die Session-Option remoteSession und das CLI-Startflag --remote entfernt. Um eine Session zu teilen, aktivieren Sie sie bei Bedarf mit $session->rpc()->remote()->enable(). Die bestehenden RPCs für Remote Sessions funktionieren weiterhin.

Aktivierung pro Session (on-demand)

Um eine Session zu teilen, schalten Sie den Remote-Zugriff per RPC um. Das entspricht den CLI-Befehlen /remote on bzw. /remote off.

Mit einer bestehenden Remote Session verbinden (serverbezogen)

Um den CLI-Server mit einer bestehenden Remote Session zu verbinden, rufen Sie $client->rpc()->sessions()->connect() auf. Übergeben Sie die Remote-sessionId in ConnectRemoteSessionParams. Das Ergebnis enthält die SDK-seitige sessionId und die Metadaten der Remote Session.

Runtime-weites Remote Control (TCP-Modus)

Die Eigenschaft remote von RemoteControlConfig konfiguriert das runtime-weite Remote Control. Sie hat nichts mit der entfernten Client-Startoption remote zu tun. 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

  • Wenn workingDirectory kein GitHub-Repository ist, kann remote()->enable() einen Fehler zurückgeben.
  • Konfigurieren Sie die Anmeldedaten (github_token oder use_logged_in_user) korrekt.

Referenzen

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