# GitHub Copilot Integration

> **Letzte Überprüfung**: 2026-09-18 · 📄 Laut offizieller Dokumentation (VS Code 1.138.0 / mitgelieferte Copilot-Erweiterung 0.66.0, Copilot CLI v1.0.86 veröffentlicht am 2026-09-17)

## Auf einen Blick

| Punkt | Details |
|---|---|
| Verfügbare Modelle | Claude ✅ (nur der Typ `messages`) · GPT ✅ (Chat / Responses) · Chinesische Modelle ✅ (Chat) · Gemini ❌ (kein entsprechendes Protokoll verfügbar) |
| Protokoll & Base URL | VS Code `url` erwartet den **vollständigen Pfad**: `https://api.qcode.cc/api/v1/messages` · `https://api.qcode.cc/openai/v1/chat/completions` · `https://api.qcode.cc/openai/v1/responses`; die CLI erwartet nur die **Wurzel** (Route B) |
| Konfiguration | VS Code: Befehls­palette `Chat: Manage Language Models` → `chatLanguageModels.json`; CLI: Umgebungsvariablen |
| Offizielle Dokumentation | [VS Code language models](https://code.visualstudio.com/docs/agent-customization/language-models) · [Copilot CLI BYOK](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/use-byok-models) |

## Voraussetzungen

- **Route A**: VS Code ≥ 1.122 (Custom Endpoint seit 2026-05-28 im Stable-Kanal).
- **Route B**: GitHub Copilot CLI installiert.
- Ein QCode.cc `cr_` Key ([Dashboard](https://qcode.cc/dashboard)). Modelle werden von QCode pro Token abgerechnet – unabhängig von einer Copilot-Abo-Gebühr (siehe [Subscriptions vs API Keys vs QCode Keys](/docs/reference/subscription-vs-api-key)).

## Einrichtung

### Route A: VS Code Custom Endpoint (empfohlen)

Öffnen Sie die Befehls­palette (`Ctrl/Cmd+Shift+P`) → **`Chat: Manage Language Models`** → wählen Sie **Custom Endpoint**; VS Code öffnet `chatLanguageModels.json` zur Bearbeitung. Vier offizielle Regeln:

- `vendor` muss `customendpoint` sein; das Schlüssel­feld heißt `apiKey`.
- `apiType` hat drei zulässige Werte: `messages` (Anthropic-Protokoll), `chat-completions`, `responses`. **Claude-Modelle funktionieren ausschließlich mit `messages`**.
- `url` sollte die **vollständige Anfrage-URL einschließlich Pfad** sein (offizielle Empfehlung); andernfalls fügt VS Code `/v1` ein und erzeugt leicht eine 404.
- Um im Agent-Modus aufzutauchen, benötigt ein Eintrag `"toolCalling": true`, andernfalls wird das Modell nicht im Auswahlfeld angezeigt.

Claude und GPT/chinesische Modelle nebeneinander:

```json
[
  { "name": "QCode Claude", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "messages",
    "url": "https://api.qcode.cc/api/v1/messages",
    "toolCalling": true,
    "models": [ { "id": "claude-sonnet-5" } ] },
  { "name": "QCode OpenAI", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "chat-completions",
    "url": "https://api.qcode.cc/openai/v1/chat/completions",
    "toolCalling": true,
    "models": [ { "id": "gpt-5.6" }, { "id": "glm-5.3" } ] }
]
```

GPT über das Responses-Protokoll (derselbe Kanal, den Codex nutzt, nur GPT):

```json
[
  { "name": "QCode Responses", "vendor": "customendpoint", "apiKey": "cr_your-QCode-key",
    "apiType": "responses",
    "url": "https://api.qcode.cc/openai/v1/responses",
    "toolCalling": true,
    "models": [ { "id": "gpt-5.6" } ] }
]
```

Speichern Sie die Datei – die Modelle erscheinen dann in der Chat-Modellauswahl.

### Route B: Copilot CLI mit eigenem Key

Die CLI deklariert ein eigenes Modell über vier Umgebungsvariablen; `COPILOT_PROVIDER_TYPE` akzeptiert offiziell nur `openai` (Standard), `azure`, `anthropic`. Für den QCode Anthropic-Kanal:

```bash
# Anthropic Messages route — base URL is the ROOT, no path appended
export COPILOT_PROVIDER_TYPE=anthropic
export COPILOT_PROVIDER_BASE_URL="https://api.qcode.cc/api"
export COPILOT_PROVIDER_API_KEY="cr_your-QCode-key"
export COPILOT_MODEL="claude-sonnet-5"

# OpenAI-compatible route — base URL includes /v1 but not /chat/completions
export COPILOT_PROVIDER_TYPE=openai
export COPILOT_PROVIDER_BASE_URL="https://api.qcode.cc/openai/v1"
export COPILOT_PROVIDER_API_KEY="cr_your-QCode-key"
export COPILOT_MODEL="gpt-5.6"
```

Verwenden Sie jeweils nur einen Block (die spätere Export-Anweisung überschreibt): Der erste Block verbindet Claude über den Anthropic-Kanal, der zweite verbindet GPT / chinesische Modelle über den OpenAI-kompatiblen Kanal – bei dem die Base URL auf `/v1` endet, also genau umgekehrt zu Route A.

🔴 Die größte Falle auf dieser Seite: **VS Code erwartet den vollständigen Pfad in `url`, die CLI erwartet die Wurzel in `BASE_URL`** – eine Form in die andere zu übernehmen schlägt immer fehl.

### Copilot auf JetBrains

GitHub führt JetBrains unter den Clients, die lokales BYOK unterstützen; OpenAI-kompatible Custom Endpoints sind seit 2026-07-14 verfügbar und werden unter Copilot **Manage Models** konfiguriert. Auf Feld­ebene sind die Details offiziell noch nicht dokumentiert, und Anthropic-Endpunkte für JetBrains sind auf den offiziellen Seiten nicht bestätigt – behandeln Sie [GitHub Copilot docs](https://docs.github.com/copilot) als maßgeblich.
## Überprüfen der Verbindung

Wählen Sie das eigene Modell in Copilot Chat (oder der `copilot` CLI) aus und senden Sie eine Nachricht:

- Eine normale Antwort = Verbindung erfolgreich.
- `401` = `apiKey` / `COPILOT_PROVIDER_API_KEY` falsch (vollständiges `cr_`-Präfix beibehalten).
- `404` = Die URL-Struktur ist fehlerhaft – VS Code benötigt den vollständigen Pfad, die CLI die Wurzel (siehe Tabelle oben).
- Jede Anfrage ist unter Ihrem Schlüssel auf [probe.qcode.cc](https://probe.qcode.cc) sichtbar. Die vollständige Checkliste finden Sie unter [Fehlerbehebung](/docs/reference/troubleshooting).

## Bekannte Einschränkungen

- **Inline-Vervollständigungen laufen weiterhin über GitHub**: Eigene Endpunkte / BYOK betreffen nur Chat und Agent (offizielle Grenze).
- **Keine Gemini-Option**: `apiType` unterstützt kein Gemini-Protokoll, daher sind `gemini-*`-Modelle hier nicht verfügbar – wählen Sie einen anderen Client (siehe [Übersicht Tool-Kompatibilität](/docs/ide/tool-compatibility)).
- Organisationsrichtlinien können eigene Modellendpunkte deaktivieren; Enterprise-Nutzer sollten zuerst ihre Richtlinie prüfen.
- Die Vollpfadform `messages` (`/api/v1/messages`) folgt der offiziellen Empfehlung, vollständige URLs zu verwenden; falls sich Ihr VS Code-Build anders verhält (automatisches Einfügen von `/v1`), beheben Sie dies anhand der 404/400-Codes wie oben beschrieben.
- Fähigkeitsfelder (`vision`, `maxInputTokens`, `maxOutputTokens`, …) können pro Eintrag deklariert werden; Semantik gemäß offizieller Seite.

## Verwandte Dokumentation

- [VS Code-Integration (Claude Code extension)](/docs/ide/vscode)
- [Endpunkte und API-Pfade](/docs/getting-started/endpoints-and-api-paths)
- [Übersicht Tool-Kompatibilität](/docs/ide/tool-compatibility)
- [Abos vs. API-Keys vs. QCode-Keys](/docs/reference/subscription-vs-api-key)
- [JetBrains IDE Integration](/docs/ide/jetbrains)