GitHub Copilot mit GAC verwenden

May 17, 2026 · View on GitHub

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Русский | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano

GAC unterstützt die Authentifizierung über GitHub Copilot, sodass Sie Ihr Copilot-Abonnement verwenden können, um auf Modelle von OpenAI, Anthropic, Google und mehr zuzugreifen — alles in Ihrem GitHub Copilot-Plan enthalten.

Was ist GitHub Copilot OAuth?

GitHub Copilot OAuth verwendet den Device Flow — eine sichere, browserbasierte Authentifizierungsmethode, die keinen lokalen Callback-Server erfordert. Sie besuchen eine URL, geben einen Einmalcode ein und autorisieren GAC, Ihren Copilot-Zugang zu nutzen. Im Hintergrund tauscht GAC Ihr langlebiges GitHub-OAuth-Token gegen kurzlebige Copilot-Sitzungstoken (~30 Min.) aus, die den Zugang zur Copilot-API gewähren.

Dies gibt Ihnen Zugang zu Modellen mehrerer Anbieter über ein einzelnes Abonnement:

  • OpenAIgpt-4o, gpt-4.1, gpt-4.1-mini, o3, o4-mini
  • Anthropicclaude-opus-4.6, claude-opus-4, claude-sonnet-4, claude-sonnet-4.5, claude-haiku-4.5
  • Googlegemini-2.5-pro, gemini-2.5-flash

Vorteile

  • Multi-Anbieter-Zugang: Verwenden Sie Modelle von OpenAI, Anthropic und Google über ein einzelnes Abonnement
  • Kosteneffektiv: Nutzen Sie Ihr bestehendes Copilot-Abonnement anstatt separat für API-Schlüssel zu bezahlen
  • Keine API-Schlüsselverwaltung: Device-Flow-Authentifizierung — keine Schlüssel zum Rotieren oder Speichern
  • GitHub Enterprise-Unterstützung: Funktioniert mit GHE-Instanzen über das --host-Flag

Einrichtung

Option 1: Während der ersten Einrichtung (Empfohlen)

Wenn Sie uvx gac init ausführen, wählen Sie einfach „Copilot" als Ihren Anbieter:

uvx gac init

Der Assistent wird:

  1. Sie auffordern, „Copilot" aus der Anbieterliste auszuwählen
  2. Einen Einmalcode anzeigen und Ihren Browser für die Device-Flow-Authentifizierung öffnen
  3. Ihr OAuth-Token in ~/.gac/oauth/copilot.json speichern
  4. Das Standardmodell festlegen

Option 2: Später zu Copilot wechseln

Wenn Sie GAC bereits mit einem anderen Anbieter konfiguriert haben:

uvx gac model

Wählen Sie dann „Copilot" aus der Anbieterliste und authentifizieren Sie sich.

Option 3: Direkte Anmeldung

Authentifizieren Sie sich direkt, ohne Ihr Standardmodell zu ändern:

uvx gac auth copilot login

GAC normal verwenden

Nach der Authentifizierung verwenden Sie GAC wie gewohnt:

# Ihre Änderungen stagen
git add .

# Mit Copilot generieren und committen
uvx gac

# Oder das Modell für einen einzelnen Commit überschreiben
uvx gac -m copilot:gpt-4.1
uvx gac -m copilot:claude-sonnet-4.5
uvx gac -m copilot:gemini-2.5-pro

Verfügbare Modelle

Copilot bietet Zugang zu Modellen mehrerer Anbieter. Aktuelle Modelle umfassen:

AnbieterModelle
OpenAIgpt-4o, gpt-4.1, gpt-4.1-mini, o3, o4-mini
Anthropicclaude-opus-4.6, claude-opus-4, claude-sonnet-4, claude-sonnet-4.5, claude-haiku-4.5
Googlegemini-2.5-pro, gemini-2.5-flash

Hinweis: Die nach der Anmeldung angezeigte Modellliste ist informativ und kann veralten, wenn GitHub neue Modelle hinzufügt. Überprüfen Sie die GitHub Copilot-Dokumentation für die aktuell verfügbaren Modelle.

GitHub Enterprise

Um sich bei einer GitHub Enterprise-Instanz zu authentifizieren:

uvx gac auth copilot login --host ghe.mycompany.com

GAC verwendet automatisch die korrekten Device-Flow- und API-Endpunkte für Ihre GHE-Instanz. Das Sitzungstoken wird pro Host zwischengespeichert, sodass verschiedene GHE-Instanzen unabhängig voneinander verwaltet werden.

CLI-Befehle

GAC bietet dedizierte CLI-Befehle für die Copilot-Authentifizierungsverwaltung:

Anmelden

Authentifizieren oder erneut authentifizieren Sie sich mit GitHub Copilot:

uvx gac auth copilot login

Ihr Browser öffnet sich zu einer Device-Flow-Seite, auf der Sie einen Einmalcode eingeben. Wenn Sie bereits authentifiziert sind, werden Sie gefragt, ob Sie sich erneut authentifizieren möchten.

Für GitHub Enterprise:

uvx gac auth copilot login --host ghe.mycompany.com

Abmelden

Entfernen Sie gespeicherte Copilot-Tokens:

uvx gac auth copilot logout

Dies löscht die gespeicherte Token-Datei unter ~/.gac/oauth/copilot.json und den Sitzungs-Cache.

Status

Überprüfen Sie Ihren aktuellen Copilot-Authentifizierungsstatus:

uvx gac auth copilot status

Oder überprüfen Sie alle Anbieter auf einmal:

uvx gac auth

Wie es funktioniert

Der Copilot-Authentifizierungsflow unterscheidet sich von ChatGPT und Claude Code OAuth:

  1. Device Flow — GAC fordert einen Gerätcode von GitHub an und zeigt ihn an
  2. Browser-Autorisierung — Sie besuchen die URL und geben den Code ein
  3. Token-Polling — GAC fragt GitHub ab, bis Sie die Autorisierung abschließen
  4. Sitzungstoken-Austausch — Das GitHub-OAuth-Token wird gegen ein kurzlebiges Copilot-Sitzungstoken ausgetauscht
  5. Automatische Aktualisierung — Sitzungstoken (~30 Min.) werden automatisch aus dem zwischengespeicherten OAuth-Token erneuert

Im Gegensatz zu PKCE-basiertem OAuth (ChatGPT/Claude Code) erfordert der Device Flow keinen lokalen Callback-Server oder Port-Verwaltung.

Fehlerbehebung

„Copilot-Authentifizierung nicht gefunden"

Führen Sie den Anmeldebefehl aus, um sich zu authentifizieren:

uvx gac auth copilot login

„Copilot-Sitzungstoken konnte nicht abgerufen werden"

Dies bedeutet, dass GAC ein GitHub-OAuth-Token erhalten hat, aber es nicht gegen ein Copilot-Sitzungstoken austauschen konnte. Normalerweise bedeutet dies:

  1. Kein Copilot-Abonnement — Ihr GitHub-Konto hat kein aktives Copilot-Abonnement
  2. Token widerrufen — Das OAuth-Token wurde widerrufen; authentifizieren Sie sich erneut mit uvx gac auth copilot login

Sitzungstoken abgelaufen

Sitzungstoken laufen nach ~30 Minuten ab. GAC erneuert sie automatisch aus dem zwischengespeicherten OAuth-Token, sodass Sie sich nicht häufig neu authentifizieren müssen. Wenn die automatische Aktualisierung fehlschlägt:

uvx gac auth copilot login

„Ungültiger oder unsicherer Hostname"

Das --host-Flag validiert Hostnamen streng, um SSRF-Angriffe zu verhindern. Wenn Sie diesen Fehler sehen:

  • Stellen Sie sicher, dass der Hostname keine Ports enthält (z.B. ghe.company.com statt ghe.company.com:8080)
  • Keine Protokolle oder Pfade einschließen (z.B. ghe.company.com statt https://ghe.company.com/api)
  • Private IP-Adressen und localhost sind aus Sicherheitsgründen blockiert

GitHub Enterprise-Probleme

Wenn die GHE-Authentifizierung fehlschlägt:

  1. Überprüfen Sie, ob Ihre GHE-Instanz Copilot aktiviert hat
  2. Prüfen Sie, ob Ihr GHE-Hostname von Ihrem Computer aus erreichbar ist
  3. Stellen Sie sicher, dass Ihr GHE-Konto eine Copilot-Lizenz hat
  4. Versuchen Sie es mit dem --host-Flag explizit: uvx gac auth copilot login --host ghe.mycompany.com

Unterschiede zu anderen OAuth-Anbietern

FunktionChatGPT OAuthClaude CodeCopilot
Auth-MethodePKCE (Browser-Callback)PKCE (Browser-Callback)Device Flow (Einmalcode)
Callback-ServerPorts 1455-1465Ports 8765-8795Nicht erforderlich
Token-LebensdauerLanglebig (Auto-Refresh)Ablaufend (Neu-Auth)Sitzung ~30 Min. (Auto-Refresh)
ModelleCodex-optimiertes OpenAIClaude-FamilieMulti-Anbieter (OpenAI + Anthropic + Google)
GHE-UnterstützungNeinNeinJa (--host-Flag)

Sicherheitshinweise

  • Committen Sie niemals Ihr OAuth-Token in die Versionskontrolle
  • GAC speichert OAuth-Tokens in ~/.gac/oauth/copilot.json (außerhalb Ihres Projektverzeichnisses)
  • Sitzungstoken werden in ~/.gac/oauth/copilot_session.json mit 0o600-Berechtigungen zwischengespeichert
  • Hostnamen werden streng validiert, um SSRF- und URL-Injektionsangriffe zu verhindern
  • Private IP-Adressen, Loopback-Adressen und localhost sind als Hostnamen blockiert
  • Der Device Flow öffnet keine lokalen Ports, was die Angriffsfläche verringert

Siehe auch