Modo TCP
Normalmente el SDK arranca un nuevo proceso de Copilot CLI por cada petición (modo stdio). Con el modo TCP puedes conectar a un servidor Copilot CLI arrancado previamente.Ventajas del modo TCP
- Mejor rendimiento: no hay overhead de arranque de proceso
- Recursos compartidos: varios procesos Laravel pueden compartir el mismo servidor CLI
- Gestión de procesos: puedes gestionarlo como proceso en segundo plano con Laravel Forge / Laravel Cloud
- Compatible con despliegues: soporta el reinicio automático en cada despliegue
Uso
1. Arranca el servidor Copilot CLI
2. Configura la variable de entorno
tcp://es opcional. Funciona también conhttp://o sin esquema.- Puedes indicar solo el puerto; en ese caso el host es
127.0.0.1de forma automática. - Si indicas solo el host, únicamente son válidos
127.0.0.1ylocalhost; en ese caso el puerto por defecto es12345.
Fichero de configuración
Puedes configurar la conexión TCP enconfig/copilot.php.
COPILOT_URL (cli_url) como COPILOT_CLI_PATH, tiene prioridad el modo TCP.
Cambio de modo en tiempo de ejecución
Normalmente se elige automáticamente TCP o stdio según el fichero de configuración. También puedes cambiarlo explícitamente en el código.Operar en Laravel Forge / Laravel Cloud
Laravel Forge
-
Crea un Daemon: crea un Daemon en el panel de Forge.
-
Configura la variable de entorno: añade
COPILOT_URLen.env. - Reinicia en el despliegue: reinicia el Daemon en el script de despliegue.
Laravel Cloud
Puedes ejecutarlo como proceso en segundo plano con la funcionalidad de workers de Laravel Cloud. Consulta Uso en Laravel Cloud para más detalles.Consideraciones
Seguridad
Reconexión
La versión actual no tiene reconexión automática. Si se pierde la conexión, se lanza una excepción.Comprobar el modo actual
Puedes comprobar en qué modo está el cliente desde el programa.Solución de problemas
No se puede conectar
- Comprueba que el servidor Copilot CLI está arrancado
- Comprueba que el puerto es correcto
- Revisa la configuración del firewall
Error de timeout
Aumenta el valor detimeout en config/copilot.php.
Consulta la información más reciente en el repositorio de GitHub.