Observação
Esse recurso está dentro versão prévia técnica e sujeito a alterações.
Você pode configurar Copilot CLI para funcionar com GitHub Enterprise Server em ambientes desconectados ou isolados da rede, sem conectividade com a nuvem GitHub. Um administrador configura um provedor de modelos para a instância e os usuários se conectam Copilot CLI com suas GitHub Enterprise Server credenciais.
A configuração desse recurso envolve duas funções:
- Administrador: configura o provedor de modelo na GitHub Enterprise Server instância usando
ghe-config. Essa é uma configuração única que requer acesso SSH administrativo. - Usuário final: define variáveis de ambiente em um computador local para se conectar Copilot CLI à instância.
Pré-requisitos
- Você tem acesso SSH administrativo à GitHub Enterprise Server instância.
- Você tem uma chave de API de um provedor LLM com suporte.
- Copilot CLI é instalado em computadores cliente. Consulte Instalando a CLI do GitHub Copilot.
- GitHub CLI (
gh) é instalado em computadores cliente. Consulte o GitHub CLI manual na GitHub CLI documentação.
Para obter informações sobre provedores com suporte e requisitos de modelo, consulte Usando seus próprios modelos LLM na CLI do GitHub Copilot.
Configurando sua GitHub Enterprise Server instância
Esta etapa é para o operador ou administrador da GitHub Enterprise Server instância.
Com acesso administrativo por SSH à instância GitHub Enterprise Server, configure o provedor do modelo usando os seguintes valores de ghe-config. Depois de configurar, execute ghe-config-apply para aplicar as alterações.
| Nome da variável | Obrigatório | Opções | Description |
|---|---|---|---|
app.copilot-proxy.enabled | Yes | ||
true, false | Habilita ou desabilita o recurso. | ||
app.copilot-proxy.endpoint-url | Yes | URI | A URL de base upstream completa, incluindo qualquer prefixo de versão (por exemplo, https:/). |
secrets.copilot-proxy.endpoint-key | Yes | String | A chave de API para o provedor upstream. |
app.copilot-proxy.provider-model-id | Yes | String | O ID do provedor de modelo que Copilot CLI usa para localizar o modelo internamente. |
app.copilot-proxy.provider-type | Yes | ||
openai, azure, anthropic | O tipo de provedor. OpenAI inclui OpenAI, Ollama, vLLM, Foundry Local e qualquer outro endpoint compatível com a API de Chat Completions da OpenAI. | ||
app.copilot-proxy.upstream-timeout | Não | Inteiro, em segundos | Tempo limite de leitura/envio em segundos para solicitações upstream. Se não estiver definido, retornará ao tempo limite padrão. |
app.copilot-proxy.provider-wire-api | Não | ||
completions, responses | O formato da API de fio para o provedor. | ||
app.copilot-proxy.provider-wire-model | Não | String | Substitui o identificador de modelo enviado ao provedor upstream se ele for diferente da ID do modelo interno. |
app.copilot-proxy.enable-upstream-probe | Não | ||
true, false | Ativa ou desativa a sonda upstream de inicialização. Por padrão, está habilitado. Quando desativada, a sonda de inicialização é ignorada. |
Por exemplo, os comandos a seguir configuram um provedor 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
Substitua YOUR-API-KEY pela chave de API real antes de aplicar a configuração.
Configurando seu Copilot CLI cliente (usuário final)
Configure Copilot CLI para se conectar à sua GitHub Enterprise Server instância definindo as seguintes variáveis de ambiente antes de iniciar Copilot CLI.
| Variável de ambiente | Obrigatório | Description |
|---|---|---|
COPILOT_PROVIDER_ | Yes | O nome do host da sua instância GitHub Enterprise Server. |
COPILOT_PROVIDER_ | Yes | Um personal access token para a GitHub Enterprise Server instância. Esse token autentica solicitações à instância. |
COPILOT_OFFLINE | Yes | Habilita o modo offline. O GitHub Enterprise Server provedor só estará ativo quando o modo offline estiver habilitado. |
Noções básicas sobre tokens de cliente (usuário final)
Copilot CLI precisa de acesso à inferência de LLM, por isso COPILOT_PROVIDER_GHES_TOKEN é sempre necessário. Você também provavelmente desejará Copilot CLI executar GitHub operações como criar problemas, solicitações de pull e repositórios de pesquisa. Essas operações podem ser feitas por meio do GitHub CLI.
É recomendável e preferencial que você execute gh auth login --hostname YOUR-GHES-HOSTNAME. Depois que ele for bem-sucedido, a próxima etapa será definir COPILOT_PROVIDER_GHES_TOKEN como o token gerado em gh auth login --hostname YOUR-GHES-HOSTNAME. É mais seguro recuperar o token dinamicamente em vez de copiá-lo de ~/.config/gh/hosts.yml. Você pode fazer isso usando COPILOT_PROVIDER_GHES_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)".
Como alternativa, você pode gerar um personal access token em sua GitHub Enterprise Server instância, definir esse token como COPILOT_PROVIDER_GHES_TOKENe usar o mesmo token ao executar gh auth login --hostname YOUR-GHES-HOSTNAME.
A abordagem acima funciona quando você está usando Copilot CLI interativamente. Para automação, você precisa fazer algumas coisas de forma diferente:
- Definir
GH_ENTERPRISE_TOKEN(ouGITHUB_ENTERPRISE_TOKEN) como personal access token. - Defina
GH_HOSTcomo o nome do host do servidor. - Quando as credenciais
GH_ENTERPRISE_TOKENegh auth loginexistirem para o mesmo host, a variável de ambiente prevalece.
Configuração recomendada do usuário final
-
Autenticar GitHub CLI.
gh auth login --hostname YOUR-GHES-HOSTNAME -
Defina as variáveis de ambiente exigidas por 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=trueSe você estiver autenticado com
gh auth loginvárias contas, poderá definirGH_HOSTcomo nome de host do servidor e definirGH_ENTERPRISE_TOKEN(ouGITHUB_ENTERPRISE_TOKEN) como"$(gh auth token --hostname YOUR-GHES-HOSTNAME)". Isso garante que GitHub CLI aponte para sua instância GitHub Enterprise Server.export GH_HOST=YOUR-GHES-HOSTNAME export GH_ENTERPRISE_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)" -
Inicie o Copilot CLI.
copilot
Você pode executar toda essa configuração como um script.
Examples
Se ambas GitHub Enterprise Server e suas Copilot CLI configurações estiverem corretas, você deverá ver respostas como as seguintes em sua Copilot CLI sessão.
• 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…
Capacidades compatíveis com GitHub Enterprise Server
Para obter as informações mais atualizadas sobre os recursos do Copilot CLI, consulte GitHub Copilot CLI como a fonte principal de referência. Em geral, qualquer funcionalidade que dependa da conectividade com GitHub os serviços de nuvem não está disponível na GitHub Enterprise Server configuração offline.
A tabela a seguir fornece uma visão geral indicativa do que está disponível na oferta GitHub Enterprise Server.
| Capacidade | GitHub / GitHub Enterprise Cloud | GitHub Enterprise Server |
|---|---|---|
| Programação assistida por IA (prompts, geração de código, depuração) | ||
| Comandos do Shell e operações de arquivo | ||
GitHub operações (problemas, PRs, repositórios) via gh CLI | ||
(requer gh CLI autenticada na instância) | ||
| GitHub Ferramentas do servidor MCP | ||
| Pesquisa na Web e busca na Web | ||
| Copilot seleção de modelos (GitHubmodelos hospedados) | ||
| Relatórios de telemetria e uso | ||
| Atualização automática |