Hinweis
Diese Funktion befindet sich in Technische Vorschau und kann Änderungen unterliegen.
Sie können Copilot CLI so konfigurieren, dass es mit GitHub Enterprise Server in isolierten oder air-gapped Umgebungen ohne Verbindung zur GitHub Cloud funktioniert. Ein Administrator konfiguriert einen Modellanbieter für die Instanz, und Benutzer stellen eine Verbindung mit ihren Copilot CLI Anmeldeinformationen herGitHub Enterprise Server.
Das Einrichten dieses Features umfasst zwei Rollen:
- Administrator: Konfiguriert den Modellanbieter auf der GitHub Enterprise Server-Instanz mit
ghe-config. Dies ist ein einmaliges Setup, das administrativen SSH-Zugriff erfordert. - Endbenutzer: Legt Umgebungsvariablen auf einem lokalen Computer fest, um eine Verbindung mit der Instanz herzustellen Copilot CLI .
Voraussetzungen
- Sie haben Administrator-SSH-Zugriff auf die GitHub Enterprise Server Instanz.
- Sie verfügen über einen API-Schlüssel von einem unterstützten LLM-Anbieter.
- Copilot CLI wird auf Clientcomputern installiert. Siehe Installation von GitHub Copilot CLI.
- GitHub CLI (
gh) wird auf Clientcomputern installiert. Siehe GitHub CLI Handbuch in der GitHub CLI Dokumentation.
Informationen zu unterstützten Anbietern und Modellanforderungen finden Sie unter Verwenden Ihrer eigenen LLM-Modelle in GitHub Copilot CLI.
Konfigurieren Ihrer GitHub Enterprise Server Instanz
Dieser Schritt richtet sich an den Operator oder Administrator der GitHub Enterprise Server Instanz.
Konfigurieren Sie mit administrativem SSH-Zugriff auf die GitHub Enterprise Server Instanz den Modellanbieter mithilfe der folgenden ghe-config Werte. Führen Sie nach dem Konfigurieren die ghe-config-apply Schritte aus, um die Änderungen anzuwenden.
| Variablenname | Erforderlich | Optionen | Description |
|---|---|---|---|
app.copilot-proxy.enabled | Yes | ||
true, false | Aktiviert oder deaktiviert das Feature. | ||
app.copilot-proxy.endpoint-url | Yes | URI | Die vollständige Upstream-Basis-URL einschließlich eines beliebigen Versionspräfixes (z. B. https:/). |
secrets.copilot-proxy.endpoint-key | Yes | String | Der API-Schlüssel für den Upstreamanbieter. |
app.copilot-proxy.provider-model-id | Yes | String | Die Modell-ID des Anbieters, die Copilot CLI zur internen Identifizierung des Modells verwendet. |
app.copilot-proxy.provider-type | Yes | ||
openai, azure``anthropic | Der Anbietertyp. OpenAI umfasst OpenAI, Ollama, vLLM, Foundry Local und alle anderen openAI Chat Completions API-kompatiblen Endpunkte. | ||
app.copilot-proxy.upstream-timeout | No | Ganzzahl, in Sekunden | Lese-/Sendetimeout in Sekunden für upstream-Anforderungen. Wenn sie nicht festgelegt ist, wird der Standardtimeout wieder verwendet. |
app.copilot-proxy.provider-wire-api | No | ||
completions, responses | Das Draht-API-Format für den Anbieter. | ||
app.copilot-proxy.provider-wire-model | No | String | Überschreibt den Modellbezeichner, der an den Upstreamanbieter gesendet wird, wenn er sich von der internen Modell-ID unterscheidet. |
app.copilot-proxy.enable-upstream-probe | No | ||
true, false | Aktiviert oder deaktiviert die Upstream-Sonde beim Start. Standardmäßig aktiviert. Wenn sie deaktiviert ist, wird die Startsonde übersprungen. |
Beispielsweise konfigurieren die folgenden Befehle einen OpenAI-Anbieter.
ghe-config app.copilot-proxy.enabled true
ghe-config app.copilot-proxy.endpoint-url 'https://api.openai.com/v1'
ghe-config secrets.copilot-proxy.endpoint-key 'YOUR-API-KEY'
ghe-config app.copilot-proxy.provider-model-id 'gpt-5.5'
ghe-config app.copilot-proxy.provider-wire-model 'gpt-5.5'
ghe-config app.copilot-proxy.provider-type openai
ghe-config app.copilot-proxy.upstream-timeout 300
ghe-config app.copilot-proxy.enable-upstream-probe false
ghe-config-apply
Ersetzen Sie YOUR-API-KEY durch den tatsächlichen API-Schlüssel, bevor Sie die Konfiguration anwenden.
Konfigurieren des Copilot CLI Clients (Endbenutzer)
Konfigurieren Sie Copilot CLI so, dass eine Verbindung zu Ihrer GitHub Enterprise Server-Instanz hergestellt wird, indem Sie die folgenden Umgebungsvariablen festlegen, bevor Sie Copilot CLI starten.
| Umgebungsvariable | Erforderlich | Description |
|---|---|---|
COPILOT_PROVIDER_ | Yes | Der Hostname Ihrer GitHub Enterprise Server Instanz. |
COPILOT_PROVIDER_ | Yes | A personal access token für die GitHub Enterprise Server Instanz. Dieses Token authentifiziert Anforderungen an die Instanz. |
COPILOT_OFFLINE | Yes | Aktiviert den Offlinemodus. Der Anbieter ist nur aktiv, wenn der GitHub Enterprise Server Offlinemodus aktiviert ist. |
Grundlegendes zu Clienttoken (Endbenutzertoken)
Copilot CLI benötigt Zugriff auf LLM-Rückschlüsse, daher COPILOT_PROVIDER_GHES_TOKEN ist immer erforderlich. Sie werden Copilot CLI wahrscheinlich auch verwenden wollen, um GitHub-Vorgänge auszuführen, z. B. Issues zu erstellen, Pull Requests zu erstellen und Repositorien zu durchsuchen. Solche Vorgänge können über GitHub CLI durchgeführt werden.
Es wird empfohlen, gh auth login --hostname YOUR-GHES-HOSTNAME vorzugsweise auszuführen. Nachdem dies erfolgreich war, besteht der nächste Schritt darin, COPILOT_PROVIDER_GHES_TOKEN auf das in gh auth login --hostname YOUR-GHES-HOSTNAME generierte Token zu setzen. Es ist sicherer, das Token dynamisch abzurufen, anstatt es zu kopieren.~/.config/gh/hosts.yml Dies können Sie mit COPILOT_PROVIDER_GHES_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)" tun.
Alternativ können Sie auf Ihrer personal access token-Instanz ein GitHub Enterprise Server-Token generieren, dieses Token als COPILOT_PROVIDER_GHES_TOKEN festlegen und beim Ausführen von gh auth login --hostname YOUR-GHES-HOSTNAME dasselbe Token verwenden.
Der obige Ansatz funktioniert, wenn Sie Copilot CLI interaktiv verwenden. Für die Automatisierung müssen Sie einige Dinge anders erledigen:
- Legen Sie
GH_ENTERPRISE_TOKEN(oderGITHUB_ENTERPRISE_TOKEN) auf personal access token fest. - Legen Sie
GH_HOSTden Hostnamen Ihres Servers fest. - Wenn für denselben Host sowohl
GH_ENTERPRISE_TOKEN- als auchgh auth login-Anmeldeinformationen vorhanden sind, hat die Umgebungsvariable Vorrang.
Empfohlene Einrichtung des Endbenutzers
-
Authentifizieren GitHub CLI.
gh auth login --hostname YOUR-GHES-HOSTNAME -
Legen Sie die umgebungsvariablen fest, die erforderlich sind.Copilot CLI
export COPILOT_PROVIDER_GHES_HOST=YOUR-GHES-HOSTNAME export COPILOT_PROVIDER_GHES_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)" export COPILOT_OFFLINE=trueWenn Sie bei mehreren Konten mit
gh auth loginauthentifiziert sind, können SieGH_HOSTauf den Hostnamen Ihres Servers setzen undGITHUB_ENTERPRISE_TOKEN(oder"$(gh auth token --hostname YOUR-GHES-HOSTNAME)") aufGH_ENTERPRISE_TOKENsetzen. Dadurch wird sichergestellt, dass GitHub CLI auf Ihre GitHub Enterprise Server-Instanz verweist.export GH_HOST=YOUR-GHES-HOSTNAME export GH_ENTERPRISE_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)" -
Starten Sie Copilot CLI.
copilot
Sie können dieses gesamte Setup als Skript ausführen.
Beispiele
Wenn sowohl ihre GitHub Enterprise Server Konfigurationen als auch Ihre Copilot CLI Konfigurationen korrekt sind, sollten Antworten wie die folgende in Ihrer Copilot CLI Sitzung angezeigt werden.
• fabric-core-mcp — disabled
• powerbi-mcp — disabled
• slack — connected
● Current model: gpt-5.5
❯ Hello 13:31
● Hello!
❯ what is going on in github/codeql-action repo? 13:33
● I’ll check recent repository activity on the GHES host: repo metadata, open
PRs/issues, and latest commits.
$ Shell Fetch repo metadata 2 lines… 5s
gh api --hostname "$GH_HOST" repos/github/codeql-action --jq '{name_with_own…
Unterstützte Funktionen auf GitHub Enterprise Server
Die aktuellsten Informationen zu den Funktionen von Copilot CLI finden Sie in GitHub Copilot CLI als maßgeblicher Quelle. Im Allgemeinen ist jede Funktion, die auf konnektivitätsbasierten GitHub Clouddiensten basiert, in der GitHub Enterprise Server Offlinekonfiguration nicht verfügbar.
Die folgende Tabelle bietet einen orientierenden Überblick darüber, was im GitHub Enterprise Server Angebot verfügbar ist.
| Fähigkeit | GitHub / GitHub Enterprise Cloud | GitHub Enterprise Server |
|---|---|---|
| KI-gestützte Codierung (Eingabeaufforderungen, Codegenerierung, Debuggen) | ||
| Shellbefehle und Dateivorgänge | ||
GitHub Vorgänge (Probleme, PRs, Repos) über gh CLI | ||
(erfordert bei der Instanz angemeldete gh CLI) | ||
| GitHub MCP-Server-Tools | ||
| Websuche und Web-Abruf | ||
| Copilot Modellauswahl (GitHubgehostete Modelle) | ||
| Telemetrie- und Nutzungsberichterstattung | ||
| Automatische Aktualisierung |