Modalità TCP
Di norma l’SDK avvia un nuovo processo Copilot CLI per ogni richiesta (modalità stdio). Con la modalità TCP puoi connetterti a un server Copilot CLI avviato in anticipo.Vantaggi della modalità TCP
- Miglioramento delle performance: nessun overhead di avvio processo
- Condivisione delle risorse: più processi Laravel possono condividere lo stesso server CLI
- Gestione del processo: gestibile come processo in background con Laravel Forge / Laravel Cloud
- Adatto al deploy: supporta il riavvio automatico durante il deploy
Uso
1. Avvia il server Copilot CLI
2. Imposta la variabile d’ambiente
tcp://è opzionale. Funziona anche conhttp://o senza schema.- Puoi specificare solo la porta. In tal caso l’host è automaticamente
127.0.0.1. - La specifica del solo host è valida solo per
127.0.0.1elocalhost. In tal caso la porta di default è12345.
File di configurazione
Puoi configurare la connessione TCP inconfig/copilot.php.
COPILOT_URL (cli_url) sia COPILOT_CLI_PATH, ha priorità la modalità TCP.
Cambio di modalità a runtime
Di norma la modalità TCP o stdio viene scelta automaticamente in base al file di configurazione. Puoi anche cambiarla esplicitamente nel codice.Uso con Laravel Forge / Laravel Cloud
Laravel Forge
-
Crea un Daemon: crea un Daemon dalla dashboard Forge.
-
Imposta la variabile d’ambiente: aggiungi
COPILOT_URLin.env. - Riavvio al deploy: riavvia il Daemon nello script di deploy.
Laravel Cloud
Puoi eseguirlo come processo in background usando la funzionalità worker di Laravel Cloud. Per i dettagli consulta Uso su Laravel Cloud.Note
Sicurezza
Riconnessione
La versione attuale non ha una riconnessione automatica. Se la connessione cade viene sollevata un’eccezione.Verifica della modalità corrente
Nel codice puoi verificare in che modalità è il client.Troubleshooting
Connessione fallita
- Verifica che il server Copilot CLI sia in esecuzione
- Verifica che la porta sia corretta
- Verifica la configurazione del firewall
Errore di timeout
Aumenta il valore ditimeout in config/copilot.php.
Per le informazioni più recenti fai riferimento al repository GitHub.