Skip to main content

Remote Sessions

L’activation des Remote Sessions permet d’accéder à la même session depuis le Web ou mobile via Mission Control de GitHub. Une fois activées, chaque session est connectée à Mission Control et une URL partageable (lien ou QR code) est émise. Si vous souhaitez exécuter la session elle-même dans l’environnement hébergé par GitHub plutôt qu’en local ou sur votre propre serveur, utilisez Cloud Sessions.

Prérequis

  • L’utilisateur est authentifié (token GitHub ou utilisateur connecté)
  • workingDirectory est un dépôt GitHub

Activation au niveau client (toujours actif)

Avec remote: true, chaque session au sein d’un dépôt GitHub émet automatiquement une URL distante. Plutôt que de figer cela dans config/copilot.php, il est plus pratique d’activer remote: true via useStdio() uniquement pour les traitements concernés.
L’option remote n’est active que lorsque le SDK démarre le processus CLI, c’est-à-dire en mode stdio uniquement. Elle est ignorée lors d’une connexion à un serveur externe via useTcp().

Activation par session (à la demande)

Pour lancer le partage à distance en cours de session, utilisez le RPC. C’est l’équivalent des commandes CLI /remote on et /remote off.

Remote Control à l’échelle du runtime (mode TCP)

L’option remote: true s’applique lorsque le SDK lance le processus CLI. Elle ne fonctionne donc qu’en mode stdio. Lorsque vous vous connectez à un serveur CLI existant en mode TCP, cette option est ignorée. En mode TCP, utilisez $client->rpc()->sessions() pour gérer un Remote Control unique pour tout le runtime. Contrairement à remote()->enable() par session, ces méthodes vous permettent de démarrer, arrêter et transférer le Remote Control entre sessions, et de lire son état actuel.
L’état vaut off, connecting, active ou error. Lorsque l’état est active, vous pouvez aussi lire frontendUrl et isSteerable.
Pour signaler au runtime que la possibilité de pilotage à distance d’une session a changé, utilisez le RPC au niveau de la session.

Génération de QR code

L’URL distante récupérée peut être convertie en QR code et remise à un mobile. Vous pouvez utiliser BaconQrCode, également utilisé par Laravel Fortify.

Points d’attention

  • L’option remote n’est active que lorsque le SDK démarre le processus CLI. Elle est ignorée quand vous vous connectez à un serveur externe via useTcp().
  • Si workingDirectory n’est pas un dépôt GitHub, la configuration distante est ignorée en mode toujours actif. L’activation à la demande (remote()->enable()) peut renvoyer une erreur.
  • Configurez correctement les identifiants (github_token ou use_logged_in_user).

Voir aussi

Pour les dernières informations, consultez le dépôt GitHub.
Dernière modification le 19 octobre 2026