Cloud Sessions
Le Cloud Sessions consentono di eseguire le sessioni nell’ambiente hostato da GitHub anziché in un processo Copilot CLI locale. Un task viene prenotato in Mission Control e ilcopilot-agent lato cloud si connette per procedere con l’elaborazione.
Le normali Remote Sessions rendono “visibili da GitHub Web/mobile le sessioni in esecuzione in locale”. Se vuoi che sia proprio il luogo di esecuzione ad essere nell’ambiente hostato da GitHub, usa le Cloud Sessions.
Prerequisiti
- L’utente deve avere i permessi Copilot per usare Cloud Agent
- Puoi autenticarti tramite token GitHub oppure con un utente Copilot CLI già loggato
- Se possibile, associa le informazioni del repository GitHub
- La policy dell’organizzazione consente esecuzione in cloud e visualizzazione remota
Uso di base
SpecificaCloudSessionOptions in cloud di SessionConfig. Le informazioni sul repository sono opzionali dal punto di vista dei tipi SDK, ma è consigliato specificarle per fornire contesto a Mission Control e all’agente cloud.
Quando inviare il primo prompt
Una Cloud Session viene inizializzata in due fasi.session.create ritorna nel momento in cui il task viene prenotato in Mission Control, ma passa un po’ di tempo prima che il copilot-agent lato cloud si connetta ed emetta session.start.
Per consegnare in modo affidabile il primo prompt, sottoscrivi prima gli eventi e invialo dopo aver confermato il session.start del producer copilot-agent.
session.start.
Differenze rispetto alle Remote Sessions
| Funzionalità | Luogo di esecuzione | Uso principale |
|---|---|---|
| Remote Sessions | In locale o su server proprio | Consultare/operare sessioni esistenti da Web/mobile |
| Cloud Sessions | Ambiente hostato da GitHub | Elaborare senza eseguire Copilot CLI sul dispositivo utente o su server propri |
Considerazioni
- Le Cloud Sessions sono influenzate da permessi e policy dell’organizzazione
- Impostando
streaming: truepuoi ricevere eventi in tempo reale comeassistant.message_delta - La gestione delle richieste di permesso è la stessa delle sessioni normali. Nella versione Laravel, tramite Facade, il default è deny-all, quindi specifica se necessario
PermissionHandler::approveSafety()ecc.
Riferimenti
Per le informazioni più recenti fai riferimento al repository GitHub.