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)
workingDirectoryliegt in einem GitHub-Repository
Aktivierung auf Client-Ebene (dauerhaft ON)
Wenn Sieremote: 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 Optionremote: 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.
off, connecting, active oder error. Im Status active stehen außerdem frontendUrl und isSteerable zur Verfügung.
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
workingDirectorykein 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_tokenoderuse_logged_in_user) korrekt.
Referenzen
Aktuelle Informationen finden Sie im GitHub-Repository.