Skip to main content

Cloud Sessions

Cloud Sessions ist eine Funktion, mit der Sessions nicht als lokaler Copilot-CLI-Prozess, sondern in einer von GitHub gehosteten Umgebung ausgeführt werden. Aufgaben werden in Mission Control eingeplant, und der cloudseitige copilot-agent verbindet sich, um die Verarbeitung fortzusetzen. Reguläre Remote Sessions sind die Funktion, „lokal laufende Sessions über GitHub Web/Mobile sichtbar zu machen”. Wenn Sie den Ausführungsort selbst in die von GitHub gehostete Umgebung verlagern möchten, verwenden Sie Cloud Sessions.

Voraussetzungen

  • Der Benutzer verfügt über Copilot-Berechtigungen zur Nutzung des Cloud Agents
  • Authentifizierung ist mit einem GitHub-Token oder einem angemeldeten Copilot-CLI-Benutzer möglich
  • Verknüpfen Sie – wenn möglich – Informationen zum GitHub-Repository
  • Organisationsrichtlinien erlauben Cloud-Ausführung und Remote-Ansicht

Grundlegende Verwendung

Geben Sie in SessionConfig unter cloud eine CloudSessionOptions an. Repository-Informationen sind aus SDK-Sicht optional, es wird jedoch empfohlen, sie anzugeben, um Mission Control und dem Cloud-Agent Kontext zu geben.
Die Angabe als Array ist ebenfalls möglich.

Zeitpunkt zum Senden des ersten Prompts

Eine Cloud Session wird zweistufig initialisiert. session.create kehrt zurück, sobald die Aufgabe in Mission Control eingeplant wurde, doch bis sich der cloudseitige copilot-agent verbindet und session.start auslöst, vergeht etwas Zeit. Um sicherzustellen, dass der erste Prompt ankommt, abonnieren Sie zunächst die Ereignisse und senden erst, nachdem producer das session.start des copilot-agent bestätigt hat.
In realen Anwendungen lässt sich der Ablauf gut handhaben, wenn Sie den Prompt in einer Queue oder in einer asynchronen Verarbeitung erst nach der Bestätigung von session.start senden.

Unterschied zu Remote Sessions

Hinweise

  • Cloud Sessions unterliegen Berechtigungs- und Organisationsrichtlinien
  • Mit streaming: true erhalten Sie Echtzeitereignisse wie assistant.message_delta
  • Der Umgang mit Berechtigungsanfragen entspricht dem normaler Sessions. Über die Laravel-Facade gilt standardmäßig „deny-all”, geben Sie daher bei Bedarf z. B. PermissionHandler::approveSafety() an

Referenzen

Aktuelle Informationen finden Sie im GitHub-Repository.
Zuletzt geändert am 13. Juli 2026