メモ
この機能は テクニカル プレビュー であり、変更される可能性があります。
Copilot CLI Cloud に接続できない、または接続しない分離環境やエアギャップ環境でも、GitHub を GitHub Enterprise Server と連携して動作するように構成できます。 管理者はインスタンスのモデル プロバイダーを構成し、ユーザーはGitHub Enterprise Server資格情報を使用してCopilot CLIに接続します。
この機能の設定には、次の 2 つのロールが含まれます。
- 管理者:
ghe-configを使用して、GitHub Enterprise Server インスタンスでモデル プロバイダーを構成します。 これは、管理 SSH アクセスが必要な 1 回限りのセットアップです。 - エンド ユーザー: Copilot CLI をインスタンスに接続するように、ローカル コンピューター上の環境変数を設定します。
前提条件
- GitHub Enterprise Server インスタンスへの管理 SSH アクセス権があります。
- サポートされている LLM プロバイダーの API キーがあります。
- Copilot CLI はクライアント コンピューターにインストールされます。 「GitHub Copilot CLI のインストール」を参照してください。
- GitHub CLI (
gh) がクライアント コンピューターにインストールされます。 ドキュメント内のGitHub CLIを参照してください。
サポートされているプロバイダーとモデルの要件については、 GitHub Copilot CLI での独自の LLM モデルの使用 を参照してください。
GitHub Enterprise Server インスタンスの構成
この手順は、 GitHub Enterprise Server インスタンスのオペレーターまたは管理者を対象とします。
GitHub Enterprise Server インスタンスへの管理 SSH アクセスを使用して、次のghe-config値を使用してモデル プロバイダーを構成します。 構成後、 ghe-config-apply を実行して変更を適用します。
| 変数名 | 必須 | オプション | Description |
|---|---|---|---|
app.copilot-proxy.enabled | はい | ||
true、false | この機能を有効または無効にします。 | ||
app.copilot-proxy.endpoint-url | はい | URI | 任意のバージョン プレフィックス (たとえば、 https:/) を含む完全なアップストリーム ベース URL。 |
secrets.copilot-proxy.endpoint-key | はい | String | アップストリーム プロバイダーの API キー。 |
app.copilot-proxy.provider-model-id | はい | String | |
| Copilot CLIが内部的にモデルを検索するために使用するプロバイダー モデル ID。 | |||
app.copilot-proxy.provider-type | はい | ||
openai、azure、anthropic | プロバイダーの種類。 OpenAI には、OpenAI、Ollama、vLLM、Foundry Local、およびその他の OpenAI Chat Completions API 互換エンドポイントが含まれます。 | ||
app.copilot-proxy.upstream-timeout | いいえ | 整数 (秒単位) | アップストリーム要求の読み取り/送信タイムアウト (秒単位)。 設定されていない場合は、既定のタイムアウトにフォールバックします。 |
app.copilot-proxy.provider-wire-api | いいえ | ||
completions、responses | プロバイダーのワイヤ API 形式。 | ||
app.copilot-proxy.provider-wire-model | いいえ | String | 内部モデル ID と異なる場合、アップストリーム プロバイダーに送信されるモデル識別子をオーバーライドします。 |
app.copilot-proxy.enable-upstream-probe | いいえ | ||
true、false | スタートアップ アップストリーム プローブを有効または無効にします。 デフォルトでは有効になっています。 無効にすると、スタートアップ プローブはスキップされます。 |
たとえば、次のコマンドは OpenAI プロバイダーを構成します。
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
構成を適用する前に、 YOUR-API-KEY を実際の API キーに置き換えます。
Copilot CLI クライアント (エンド ユーザー) の構成
Copilot CLIを開始する前に、次の環境変数を設定して、GitHub Enterprise Server インスタンスに接続するようにCopilot CLIを構成します。
| 環境変数 | 必須 | Description |
|---|---|---|
COPILOT_PROVIDER_ | はい | |
| GitHub Enterprise Server インスタンスのホスト名。 | ||
COPILOT_PROVIDER_ | はい | |
| personal access token インスタンス用の GitHub Enterprise Server。 このトークンは、インスタンスに対する要求を認証します。 | ||
COPILOT_OFFLINE | はい | オフライン モードを有効にします。 |
| GitHub Enterprise Server プロバイダーは、オフライン モードが有効になっている場合にのみアクティブです。 |
クライアント (エンド ユーザー) トークンについて
Copilot CLI は LLM 推論にアクセスする必要があるため、 COPILOT_PROVIDER_GHES_TOKEN は常に必要です。 また、GitHub で Issue の作成、プルリクエスト、リポジトリの検索などの Copilot CLI 操作を実行する必要が生じる可能性も高いでしょう。 このような操作は、 GitHub CLIを介して実行できます。
gh auth login --hostname YOUR-GHES-HOSTNAMEを実行することをお勧めします。 成功したら、次の手順では、gh auth login --hostname YOUR-GHES-HOSTNAMEで生成されたトークンにCOPILOT_PROVIDER_GHES_TOKENを設定します。 トークンを ~/.config/gh/hosts.ymlからコピーするのではなく、動的に取得する方が安全です。 これを行うには、 COPILOT_PROVIDER_GHES_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)"を使用します。
または、GitHub Enterprise Server インスタンスでpersonal access tokenを生成し、そのトークンをCOPILOT_PROVIDER_GHES_TOKENとして設定し、gh auth login --hostname YOUR-GHES-HOSTNAMEの実行時に同じトークンを使用することもできます。
上記のアプローチは、 Copilot CLI を対話形式で使用する場合に機能します。 自動化のためには、いくつかの操作を異なる方法で行う必要があります。
GH_ENTERPRISE_TOKEN(またはGITHUB_ENTERPRISE_TOKEN) をpersonal access tokenに設定します。GH_HOSTをサーバーのホスト名に設定します。- 同じホストに対して
GH_ENTERPRISE_TOKEN資格情報とgh auth login資格情報の両方が存在する場合は、環境変数が優先されます。
推奨されるエンド ユーザーのセットアップ
-
GitHub CLIを認証します。
gh auth login --hostname YOUR-GHES-HOSTNAME -
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=true
gh auth loginで複数のアカウントに認証されている場合は、サーバーのホスト名にGH_HOSTを設定し、GH_ENTERPRISE_TOKEN (またはGITHUB_ENTERPRISE_TOKEN) を"$(gh auth token --hostname YOUR-GHES-HOSTNAME)"に設定できます。 これにより、GitHub Enterprise Server はお使いの GitHub CLI インスタンスをターゲットにします。
export GH_HOST=YOUR-GHES-HOSTNAME
export GH_ENTERPRISE_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)"
- Copilot CLI を起動します。
copilot
このセットアップ全体をスクリプトとして実行できます。
例示
GitHub Enterprise ServerとCopilot CLIの両方の構成が正しい場合は、Copilot CLI セッションに次のような応答が表示されます。
• 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…
でサポートされている機能 GitHub Enterprise Server
Copilot CLI 機能に関する最新情報については、信頼できる第一の情報源として GitHub Copilot CLI を参照してください。 一般に、 GitHub クラウド サービスへの接続に依存する機能は、 GitHub Enterprise Server オフライン構成では使用できません。
次の表は、GitHub Enterprise Server の提供内容の大まかな概要を示しています。
| 能力 | GitHub / GitHub Enterprise Cloud | GitHub Enterprise Server |
|---|---|---|
| AI 支援コーディング (プロンプト、コード生成、デバッグ) | ||
| シェル コマンドとファイル操作 | ||
| GitHub | ||
gh CLI による操作(Issue、PR、リポジトリ) | ||
(そのインスタンスに対して認証済みの gh CLI が必要です) | ||
| GitHub MCP サーバー ツール | ||
| Web 検索と Web フェッチ | ||
| Copilot モデルの選択 (GitHub ホスト型モデル) | ||
| テレメトリと使用状況レポート | ||
| 自動更新 |