Skip to main content

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