Remote Sessions
Al habilitar Remote Sessions puedes acceder a la misma sesión desde la web o el móvil mediante Mission Control de GitHub. Al activarlo, cada sesión se conecta a Mission Control y se emite una URL que puedes compartir como enlace o código QR. Si lo que quieres es ejecutar la propia sesión en el entorno hospedado por GitHub en lugar de en local o en un servidor propio, usa Cloud Sessions.Requisitos previos
- El usuario está autenticado (token de GitHub o usuario ya logueado)
workingDirectoryes un repositorio de GitHub
Habilitar a nivel de cliente (siempre ON)
Si habilitasremote: true, se emite automáticamente una URL remota para todas las sesiones dentro del repositorio de GitHub.
En lugar de añadirlo de forma fija en config/copilot.php, resulta más manejable activarlo con useStdio() solo para los procesos que lo necesiten.
La opción
remote solo es efectiva cuando el SDK arranca el proceso CLI. Es decir, solo funciona en modo stdio. Se ignora cuando te conectas a un servidor externo, por ejemplo con useTcp().Habilitar por sesión (bajo demanda)
Si quieres iniciar el compartido remoto a mitad de camino, cambia el estado vía RPC. Equivale a los comandos/remote on y /remote off del CLI.
Remote Control para todo el runtime (modo TCP)
La opciónremote: true se aplica cuando el SDK inicia el proceso de la CLI, por lo que solo funciona en modo stdio. Cuando te conectas a un servidor CLI existente en modo TCP, esta opción se ignora.
En modo TCP, usa $client->rpc()->sessions() para gestionar un único Remote Control para todo el runtime. A diferencia de remote()->enable() por sesión, estos métodos te permiten iniciar, detener y transferir Remote Control entre sesiones, y consultar su estado actual.
off, connecting, active o error. Cuando el estado es active, también puedes consultar frontendUrl e isSteerable.
Generar códigos QR
Puedes convertir la URL remota obtenida en un código QR y pasársela al móvil. Puedes usar BaconQrCode, que también usa Laravel Fortify.Consideraciones
- La opción
remotesolo es efectiva cuando el SDK arranca el proceso CLI. Se ignora al conectar con un servidor externo, por ejemplo conuseTcp(). - Si
workingDirectoryno es un repositorio de GitHub, en el modo siempre ON se salta la configuración remota. Con la activación bajo demanda (remote()->enable()) puede producirse un error. - Configura correctamente las credenciales (
github_tokenouse_logged_in_user).
Referencias
Consulta la información más reciente en el repositorio de GitHub.