Zum Hauptinhalt springen

Session-Kontext und Filterung

Ab GitHub Copilot SDK v0.1.24 enthält jede Session einen Kontext mit Arbeitsverzeichnis und Git-Informationen, und Sie können die Session-Liste danach filtern.

SessionContext

SessionContext enthält Arbeitsverzeichnis und Git-Repository-Informationen zum Zeitpunkt der Session-Erstellung.

Eigenschaften

  • cwd (string): Absoluter Pfad des Arbeitsverzeichnisses
  • gitRoot (?string): Wurzelverzeichnis des Git-Repositorys (außerhalb eines Git-Repos null)
  • repository (?string): GitHub-Repository (Format owner/repo, z. B. invokable/laravel-copilot-sdk)
  • branch (?string): Aktueller Git-Branch-Name

Anwendungsbeispiel

SessionListFilter

Mit SessionListFilter können Sie nur Sessions eines bestimmten Arbeitsverzeichnisses oder Repositorys abrufen.

Eigenschaften

  • cwd (?string): Exakter Filter auf das Arbeitsverzeichnis
  • gitRoot (?string): Filter auf das Git-Wurzelverzeichnis
  • repository (?string): Filter auf das Repository (Format owner/repo)
  • branch (?string): Filter auf den Branch-Namen

Anwendungsbeispiele

Filter als Array angeben

Verwendung der Klasse SessionListFilter

Event session.context_changed

Wenn sich das Arbeitsverzeichnis während einer Session ändert, wird das Event session.context_changed ausgelöst.

Event-Typ

Event-Daten

Die Event-Daten enthalten die aktualisierten Kontextinformationen.

SessionMetadata

SessionMetadata wurde um die Eigenschaften context, clientName und lastClientName erweitert.

Neue Eigenschaft

  • context (?SessionContext): Arbeitsverzeichnis und Git-Informationen der Session
  • clientName (?string): Name des Clients, der die Session erstellt hat (zum Beispiel github/cli), oder null, wenn unbekannt
  • lastClientName (?string): Name des Clients, der die Session zuletzt ausgeführt hat. Das ist der erstellende Client oder ein Client, der sie fortgesetzt und ausgeführt hat. Bloßes Fortsetzen zum Ansehen ändert den Wert nicht. Bei älteren Sessions ist der Wert unbekannt und daher null

Anwendungsbeispiel

Praxisbeispiele

Sessions eines bestimmten Projekts abrufen

Sessions von Feature-Branches verwalten

Sessions nach Arbeitsverzeichnis organisieren

Hinweise

  • context enthält Git-Informationen (gitRoot, repository, branch) nur für Sessions, die innerhalb eines Git-Repos erstellt wurden.
  • Das Feld context ist ab Copilot CLI v0.0.409 verfügbar. In älteren Versionen wird null zurückgegeben.
  • Die Filterung funktioniert per exakter Übereinstimmung. Teilstring-Matching und Wildcards werden nicht unterstützt.
  • Alle Felder von SessionListFilter sind optional. Ohne Filterangabe werden alle Sessions zurückgegeben.
Aktuelle Informationen finden Sie im GitHub-Repository.
Zuletzt geändert am 9. November 2026