Skip to main content

Enterprise Server 3.22 は、現在リリース候補として使用できます。

GitHub Copilot CLI を設定して使用する

GitHub Enterprise Server インスタンスのモデル プロバイダーを構成し、Copilot CLIクライアントをインスタンスに接続します。

メモ

この機能は テクニカル プレビュー であり、変更される可能性があります。

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はい
truefalseこの機能を有効または無効にします。
app.copilot-proxy.endpoint-urlはいURI任意のバージョン プレフィックス (たとえば、 https://api.openai.com/v1) を含む完全なアップストリーム ベース URL。
secrets.copilot-proxy.endpoint-keyはいStringアップストリーム プロバイダーの API キー。
app.copilot-proxy.provider-model-idはいString
Copilot CLIが内部的にモデルを検索するために使用するプロバイダー モデル ID。
app.copilot-proxy.provider-typeはい
openaiazureanthropicプロバイダーの種類。 OpenAI には、OpenAI、Ollama、vLLM、Foundry Local、およびその他の OpenAI Chat Completions API 互換エンドポイントが含まれます。
app.copilot-proxy.upstream-timeoutいいえ整数 (秒単位)アップストリーム要求の読み取り/送信タイムアウト (秒単位)。 設定されていない場合は、既定のタイムアウトにフォールバックします。
app.copilot-proxy.provider-wire-apiいいえ
completionsresponsesプロバイダーのワイヤ API 形式。
app.copilot-proxy.provider-wire-modelいいえString内部モデル ID と異なる場合、アップストリーム プロバイダーに送信されるモデル識別子をオーバーライドします。
app.copilot-proxy.enable-upstream-probeいいえ
truefalseスタートアップ アップストリーム プローブを有効または無効にします。 デフォルトでは有効になっています。 無効にすると、スタートアップ プローブはスキップされます。

たとえば、次のコマンドは 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_GHES_HOSTはい
GitHub Enterprise Server インスタンスのホスト名。
COPILOT_PROVIDER_GHES_TOKENはい
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 資格情報の両方が存在する場合は、環境変数が優先されます。
  1. GitHub CLIを認証します。

    gh auth login --hostname YOUR-GHES-HOSTNAME
    
  2. 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)"
  1. 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 CloudGitHub Enterprise Server
AI 支援コーディング (プロンプト、コード生成、デバッグ)
シェル コマンドとファイル操作
GitHub
gh CLI による操作(Issue、PR、リポジトリ)
(そのインスタンスに対して認証済みの gh CLI が必要です)
GitHub MCP サーバー ツール
Web 検索と Web フェッチ
Copilot モデルの選択 (GitHub ホスト型モデル)
テレメトリと使用状況レポート
自動更新