Skip to main content

referência de comando da CLI GitHub Copilot

Encontre comandos e atalhos de teclado para ajudá-lo a usar CLI do Copilot com eficiência.

Comandos de linha de comando

CommandPropósito
copilotInicie a interface interativa do usuário.
copilot completion SHELLImprima um script de shell para o shell escolhido que pode ser usado para ativar a conclusão automática de tabulação para CLI do Copilot. Shells com suporte: bash, , zsh. fish Consulte Como usar copilot completion.
copilot help [TOPIC]Exibir informações de ajuda. Os tópicos de ajuda incluem: config, , commands, environment, logging, monitoring, e permissions``providers.
copilot initInicialize Copilot instruções personalizadas para este repositório.
copilot loginAutentique-se com Copilot por meio do fluxo do dispositivo OAuth. Aceita --host HOST para especificar a URL do host GitHub (padrão: https://github.com).
copilot login [OPÇÃO]Autentique-se com Copilot por meio do fluxo do dispositivo OAuth. Veja copilot login as opções.
copilot mcpGerencie as configurações do servidor MCP na linha de comando.
copilot pluginGerenciar plug-ins e mercados de plug-ins.
copilot updateBaixe e instale a versão mais recente.
copilot versionExibir informações de versão e verificar se há atualizações.

          `copilot login` opções
OpçãoPropósito
--host HOST
          GitHub URL do host (padrão: `https://github.com`). Use isso para autenticar com uma GitHub Enterprise Cloud instância que usa residência de dados (por exemplo, `https://example.ghe.com`). |

O modo de autenticação padrão é um fluxo de navegador baseado na Web. Após a conclusão, um token de autenticação é armazenado com segurança no repositório de credenciais do sistema. Se um repositório de credenciais não for encontrado, o token será armazenado em um arquivo de configuração de texto simples sob ~/.copilot/ (ou no diretório especificado pelo COPILOT_HOME se definido).

Como alternativa, CLI do Copilot usará um token de autenticação encontrado em variáveis de ambiente. Os seguintes são verificados em ordem de precedência: COPILOT_GITHUB_TOKEN, , GH_TOKEN. GITHUB_TOKEN Esse método é mais adequado para uso sem cabeça, como automação.

Os tipos de token com suporte incluem fine-grained personal access tokens (PATs v2) com a permissão "Solicitações do Copilot", tokens OAuth do aplicativo Copilot CLI e tokens OAuth do aplicativo GitHub CLI (gh). Clássicos personal access tokens (ghp_) não são suportados.

          **Exemplos:**
# Authenticate with github.com
copilot login

# Authenticate with GitHub Enterprise Cloud (data residency)
copilot login --host https://example.ghe.com

# Use a fine-grained PAT via environment variable
COPILOT_GITHUB_TOKEN=github_pat_... copilot

Usando copilot completion

O comando copilot completion SHELL gera um script para o shell especificado (bash, zsh ou fish).

Ao fornecer esse script (ou escrevê-lo no diretório de conclusão do shell), você pode habilitar a conclusão da guia em seu terminal para copilot subcomandos, opções de comando e opções de valor conhecidas para opções de comando.

Exemplos de uso

Bash (somente sessão atual):

Bash
source <(copilot completion bash)

Bash (persistente, Linux):

Bash
copilot completion bash | sudo tee /etc/bash_completion.d/copilot

Zsh — escreva a saída em um diretório no seu $fpath. Reinicie o shell depois de executar este comando:

Shell
copilot completion zsh > "${fpath[1]}/_copilot"

Peixe:

Shell
copilot completion fish > ~/.config/fish/completions/copilot.fish

Atalhos globais na interface interativa

AtalhoPropósito
@ FILENAMEInclua o conteúdo do arquivo no contexto.
# NUMBERInclua um GitHub problema ou solicitação de pull no contexto.
! COMMANDExecute um comando no shell local, ignorando Copilot.
?Abra ajuda rápida (em um prompt vazio).
EscCancele a operação atual.
Ctrl+CCancelar a operação/limpar a entrada. Pressione duas vezes para sair.
Ctrl+DDesligamento.
CTRL+GEdite o prompt em um editor externo ($EDITOR).
Ctrl+LLimpar a tela.
Ctrl+Enter ou Ctrl+QColoca na fila uma mensagem para enviar enquanto o agente está ocupado.
Ctrl+RPesquisa inversa por meio do histórico de comandos.
Ctrl+VCole o conteúdo da área de transferência como anexo.
Ctrl+X , em seguida, /Depois de começar a digitar um prompt, isso permite que você execute um comando de barra , por exemplo, se você quiser alterar o modelo sem precisar digitar novamente o prompt.
Ctrl+X , em seguida, eEdite o prompt em um editor externo ($EDITOR).
Ctrl+X , em seguida, oAbra o link mais recente da linha do tempo.
Ctrl+ZSuspenda o processo em segundo plano (Unix).
Shift+Enter ou Option+Enter (Mac) / Alt+Enter (Windows/Linux)Insira uma nova linha na entrada.
Shift+TabCiclo entre o modo padrão, plano e piloto automático.

Atalhos de linha do tempo na interface interativa

AtalhoPropósito
Ctrl+OEmbora não haja nada na entrada do prompt, isso expande os itens recentes na linha do tempo de resposta do Copilot para mostrar mais detalhes.
Ctrl+EEmbora não haja nada na entrada do prompt, isso expande todos os itens na linha do tempo de resposta do Copilot.
CTRL+TExpanda/recolha a exibição de raciocínio nas respostas.
Página Para Cima/Página Para BaixoRole a linha do tempo para cima ou para baixo em uma página.
AtalhoPropósito
Ctrl+AIr para o início da linha (ao digitar).
Ctrl+BMova para o caractere anterior.
Ctrl+EMover para o final da linha (quando se está digitando).
Ctrl+FMova para o próximo caractere.
CTRL+HExclua o caractere anterior.
Ctrl+KApague desde o cursor até o final da linha. Se o cursor estiver no final da linha, exclua a quebra de linha.
Ctrl+UApague desde o cursor até o início da linha.
Ctrl+WExclua a palavra anterior.
InícioVá para o início do texto.
EndMova para o final do texto.
Alt+/ (Windows/Linux)
          <kbd>Opção</kbd>+<kbd>←</kbd>/<kbd>→</kbd> (Mac) | Mova o cursor uma palavra por vez.             |

| / | Navegue pelo histórico de comandos. | | Tab / Ctrl+Y | Aceite a sugestão atual de conclusão integrada. |

Comandos de barra na interface interativa

CommandPropósito
/add-dir PATHAdicione um diretório à lista de permissões para acesso ao arquivo.
/agentNavegue e selecione entre os agentes disponíveis (se houver). Consulte Sobre agentes personalizados.
/ask QUESTIONFaça uma pergunta rápida sem adicionar ao histórico da conversa. Disponível apenas no modo experimental.
/allow-all [on|off|show], /yolo [on|off|show]Habilite todas as permissões (ferramentas, caminhos e URLs).
/changelog [summarize] [VERSION|last N|since VERSION], /release-notes [summarize] [VERSION|last N|since VERSION]Exiba o registro de alterações da CLI. Opcionalmente, especifique uma versão, uma contagem de versões recentes ou uma versão inicial. Adicione a palavra-chave summarize para um resumo gerado por IA.
/chronicle <standup|tips|improve|reindex>Ferramentas e insights sobre o histórico de sessões. Disponível apenas no modo experimental.
/clear [PROMPT]
          `/new [PROMPT]`
          `/reset [PROMPT]`
         | Inicie uma nova conversa. |

| /compact | Resumir o histórico de conversas para reduzir o uso da janela de contexto. Consulte Gerenciando o contexto em CLI do GitHub Copilot. | | /context | Mostrar o uso e a visualização do token da janela de contexto. Consulte Gerenciando o contexto em CLI do GitHub Copilot. | | /copy | Copie a última resposta para a área de transferência. | | /cwd, /cd [PATH] | Altere o diretório de trabalho ou exiba o diretório atual. | | /delegate [PROMPT] | Delegar alterações em um repositório remoto com uma solicitação de pull gerada por IA. Consulte Delegando tarefas para Copilot. | | /diff | Examine as alterações feitas no diretório atual. | | /downgrade <VERSION> | Baixe e reinicie em uma versão específica da CLI. Disponível para contas de equipe. | | /env | Mostrar detalhes do ambiente carregado (instruções, servidores MCP, habilidades, agentes, plug-ins, LSPs, extensões). | | /exit, /quit | Saia da CLI. | | /experimental [on\|off\|show] | Alterne, defina ou mostre recursos experimentais. | | /feedback, /bug | Forneça comentários sobre a CLI. | | /fleet [PROMPT] | Habilite a execução de subagentes paralelos de partes de uma tarefa. Consulte Executando tarefas em paralelo com o /fleet comando. | | /help | Mostrar a ajuda para comandos interativos. | | /ide | Conecte-se a um workspace do IDE. Consulte Conectando CLI do GitHub Copilot a VS Code. | | /init | Inicialize instruções personalizadas e recursos de agentes do Copilot para este repositório. Consulte Inicialização do Projeto para Copilot. | | /instructions | Exibir e alternar arquivos de instrução personalizados. | | /keep-alive [on\|busy\|NUMBERm\|NUMBERh] | Impedir que o computador durma: enquanto uma sessão da CLI estiver ativa, enquanto o agente estiver ocupado ou por um período de tempo definido. Disponível apenas no modo experimental. | | /list-dirs | Exiba todos os diretórios para os quais o acesso ao arquivo foi permitido. | | /login | Faça login em Copilot. | | /logout | Faça logoff do Copilot. | | /lsp [show\|test\|reload\|help] [SERVER-NAME] | Gerencie a configuração do servidor de idiomas. | | /mcp [show\|add\|edit\|delete\|disable\|enable\|auth\|reload] [SERVER-NAME] | Gerenciar a configuração do servidor MCP. Consulte Adicionando servidores MCP para CLI do GitHub Copilot. | | /model, /models [MODEL] | Selecione o modelo de IA que você deseja usar. | | /plan [PROMPT] | Crie um plano de implementação antes da codificação. | | /plugin [marketplace\|install\|uninstall\|update\|list] [ARGS...] | Gerenciar plug-ins e mercados de plug-ins. Consulte Sobre plug-ins para CLI do GitHub Copilot. | | /pr [view\|create\|fix\|auto] | Gerenciar solicitações de pull para o branch atual. Consulte Gerenciando solicitações de pull com o comando /pr. | | /remote [on\|off] | Mostrar o status do controle remoto (se nenhum argumento for fornecido), habilitar a direção remota (on) ou encerrar a conexão remota (off). Consulte Controlando uma CLI do GitHub Copilot sessão de outro dispositivo. | | /rename [NAME] | Renomeie a sessão atual (gera automaticamente um nome caso a opção não seja especificada; alias para /session rename). | | /research TOPIC | Execute uma investigação aprofundada usando fontes de busca e web do GitHub. Consulte Pesquisando com CLI do GitHub Copilot. | | /reset-allowed-tools | Redefina a lista de ferramentas permitidas. | | /restart | Reinicie a CLI, preservando a sessão atual. | | /resume [SESSION-ID], /continue [SESSION-ID] | Alterne para uma sessão diferente escolhendo em uma lista (opcionalmente, especifique uma ID de sessão). | | /review [PROMPT] | Execute o agente de revisão de código para analisar as alterações. Consulte Solicitando uma revisão de código com CLI do GitHub Copilot. | | /session [info\|checkpoints [n]\|files\|plan\|rename [NAME]\|cleanup\|prune\|delete [ID]\|delete-all], /sessions [info\|checkpoints [n]\|files\|plan\|rename [NAME]\|cleanup\|prune\|delete [ID]\|delete-all] | Mostrar informações de sessão e gerenciar sessões. Subcomandos: info, , checkpoints, files, plan, rename, cleanup, , prune, , delete. delete-all | | /share [file\|html\|gist] [session\|research] [PATH], /export [file\|html\|gist] [session\|research] [PATH] | Compartilhe a sessão em um arquivo Markdown, arquivo HTML interativo ou GitHub gist. | | /skills [list\|info\|add\|remove\|reload] [ARGS...] | Gerenciar habilidades para funcionalidades aprimoradas. Consulte Adicionando habilidades de agente para CLI do GitHub Copilot. | | /statusline, /footer | Configure quais itens aparecem na linha de status. | | /tasks | Exibir e gerenciar tarefas em segundo plano (subagentes e sessões de shell). | | /terminal-setup | Configure o terminal para suporte de entrada multilinha (Shift+Enter e Ctrl+Enter). | | /theme [default\|dim\|high-contrast\|colorblind] | Exibir ou definir o modo de cor. | | /undo, /rewind | Refaça a última ação e reverta as alterações no arquivo. | | /update, /upgrade | Atualize a CLI para a versão mais recente. | | /usage | Exibir estatísticas e métricas de uso de sessão. | | /user [show\|list\|switch] | Gerencie o usuário atual GitHub . | | /version | Exibir informações de versão e verificar se há atualizações. |

Para obter uma lista completa dos comandos slash disponíveis, insira /help na interface interativa da CLI.

Opções de linha de comando

OpçãoPropósito
--add-dir=PATHAdicione um diretório à lista de permissões para acesso a arquivos (pode ser usado várias vezes).
--add-github-mcp-tool=TOOLAdicione uma ferramenta para habilitar para o GitHub servidor MCP, em vez do subconjunto padrão da CLI (pode ser usado várias vezes). Use * para todas as ferramentas.
--add-github-mcp-toolset=TOOLSETAdicione um conjunto de ferramentas para habilitar para o GitHub servidor MCP, em vez do subconjunto padrão da CLI (pode ser usado várias vezes). Use all para todos os conjuntos de ferramentas.
--additional-mcp-config=JSONAdicione apenas um servidor MCP para esta sessão. A configuração do servidor pode ser fornecida como uma cadeia de caracteres JSON ou um caminho de arquivo (prefixo com @). Amplia a configuração de ~/.copilot/mcp-config.json. Substitui qualquer configuração de servidor MCP instalada com o mesmo nome. Consulte Adicionando servidores MCP para CLI do GitHub Copilot.
--agent=AGENTEspecifique um agente personalizado a ser usado. Consulte Sobre agentes personalizados.
--allow-allHabilitar todas as permissões (equivalente a --allow-all-tools --allow-all-paths --allow-all-urls).
--allow-all-pathsDesabilite a verificação do caminho do arquivo e permita o acesso a qualquer caminho.
--allow-all-toolsPermitir que todas as ferramentas sejam executadas automaticamente sem confirmação. Necessário ao usar a CLI programaticamente (env: COPILOT_ALLOW_ALL).
--allow-all-urlsPermitir acesso a todas as URLs sem confirmação.
--allow-tool=TOOL ...Ferramentas que a CLI tem permissão para usar. Não solicitará permissão. Para várias ferramentas, use uma lista entre aspas e separada por vírgulas. Consulte Permitir e negar o uso da ferramenta.
--allow-url=URL ...Permitir o acesso a URLs ou domínios específicos. Para várias URLs, use uma lista entre aspas e separada por vírgulas.
--autopilotHabilite a continuação do piloto automático no modo de prompt. Consulte Permitindo que GitHub Copilot CLI funcione de forma autônoma.
--available-tools=TOOL ...Somente essas ferramentas estarão disponíveis para o modelo. Para várias ferramentas, use uma lista entre aspas e separada por vírgulas. Consulte Permitir e negar o uso da ferramenta.
--banner, --no-bannerMostrar ou ocultar o banner de inicialização.
--bash-envHabilitar o suporte de BASH_ENV para shells bash.
--connect[=SESSION-ID]Conecte-se diretamente a uma sessão remota (opcionalmente, especifique uma ID de sessão ou ID da tarefa). Conflitos com --resume e --continue.
--continueRetome a sessão mais recente no diretório de trabalho atual, voltando à sessão globalmente mais recente.
--deny-tool=TOOL ...Ferramentas que a CLI não tem permissão para usar. Não solicitará permissão. Para várias ferramentas, use uma lista entre aspas e separada por vírgulas.
--deny-url=URL ...Negar acesso a URLs ou domínios específicos, tem precedência sobre --allow-url. Para várias URLs, use uma lista entre aspas e separada por vírgulas.
--disable-builtin-mcpsDesabilitar todos os servidores MCP internos (atualmente: github-mcp-server).
--disable-mcp-server=SERVER-NAMEDesabilite um servidor MCP específico (pode ser usado várias vezes).
--disallow-temp-dirImpedir o acesso automático ao diretório temporário do sistema.
--effort=LEVEL, --reasoning-effort=LEVELDefinir o nível de esforço de raciocínio (low, medium, ). high
--enable-all-github-mcp-toolsHabilite todas as GitHub ferramentas do servidor MCP, em vez do subconjunto padrão da CLI. Substitui as opções --add-github-mcp-toolset e --add-github-mcp-tool.
--enable-reasoning-summariesSolicite resumos de raciocínio para modelos OpenAI que dão suporte a ele.
--excluded-tools=TOOL ...Essas ferramentas não estarão disponíveis para o modelo. Para várias ferramentas, use uma lista entre aspas e separada por vírgulas.
--experimentalHabilitar recursos experimentais (use --no-experimental para desabilitar).
-h, --helpExibir ajuda.
-i PROMPT, --interactive=PROMPTInicie uma sessão interativa e execute esse prompt automaticamente.
--log-dir=DIRECTORYDefina o diretório do arquivo de log (padrão: ~/.copilot/logs/).
--log-level=LEVELDefina o nível de log (opções: none, , , error, warning, info, , debug). all``default
--max-autopilot-continues=COUNTNúmero máximo de mensagens de continuação no modo de piloto automático (padrão: ilimitado). Consulte Permitindo que GitHub Copilot CLI funcione de forma autônoma.
--mode=MODEDefina o modo de agente inicial (opções: interactive, plan, ). autopilot Não é possível combinar com --autopilot ou --plan.
--model=MODELDefina o modelo de IA que você deseja usar. Passe auto para permitir Copilot a escolha do melhor modelo disponível automaticamente.
--mouse[=VALUE]Habilite o suporte ao mouse no modo de tela alternativa. VALUE pode ser on (padrão) ou off. Quando habilitada, a CLI captura eventos do mouse no modo de tela alt — roda de rolagem, cliques etc. Quando desabilitado, o comportamento do mouse nativo do terminal é preservado. Depois de definir a configuração, ela será salva no arquivo de configuração.
-n NAME, --name=NAMEDefina um nome para a nova sessão. Usado por --resume e /resume para localizar sessões por nome.
--no-ask-userDesabilite a ask_user ferramenta (o agente funciona de forma autônoma sem fazer perguntas).
--no-auto-updateDesabilite o download de atualizações da CLI automaticamente.
--no-bash-envDesative o suporte de BASH_ENV para shells bash.
--no-colorDesative toda a saída de cor.
--no-custom-instructionsDesabilite o carregamento de instruções personalizadas de AGENTS.md e arquivos relacionados.
--no-experimentalDesabilitar recursos experimentais.
--no-mouseDesabilite o suporte ao mouse.
--no-remoteDesabilite o acesso remoto para esta sessão.
--output-format=FORMATFORMAT pode ser text (padrão) ou json (saídas JSONL: um objeto JSON por linha).
-p PROMPT, --prompt=PROMPTExecute um prompt programaticamente (sai após a conclusão). Consulte Executando CLI do GitHub Copilot programaticamente.
--planInicie no modo plano. Abreviação de --mode plan. Não é possível combinar com --mode ou --autopilot.
--plain-diffDesative a renderização de diferenças avançadas (realce de sintaxe através da ferramenta de diff especificada na sua configuração do Git).
--plugin-dir=DIRECTORYCarregue um plug-in de um diretório local (pode ser usado várias vezes).
--remoteHabilite o acesso remoto a esta sessão a partir de GitHub.com e GitHub Mobile. Consulte Controlando uma CLI do GitHub Copilot sessão de outro dispositivo.
--resume[=VALUE]Retome uma sessão interativa anterior escolhendo em uma lista. Opcionalmente, especifique uma ID de sessão, um prefixo de ID ou um nome de sessão. A correspondência de nomes é exata e não diferencia maiúsculas de minúsculas; volta para o resumo gerado automaticamente quando nenhum nome explícito corresponde.
-s, --silentGerar somente a resposta do agente (sem estatísticas de uso), útil para scripts com -p.
--screen-readerHabilitar otimizações de leitor de tela.
--secret-env-vars=VAR ...Redigir uma variável de ambiente do shell e do servidor MCP (pode ser usada várias vezes). Para várias variáveis, use uma lista entre aspas e separada por vírgulas. Os valores nas variáveis de ambiente GITHUB_TOKEN e COPILOT_GITHUB_TOKEN são omitidos do resultado por padrão.
--share=PATHCompartilhe uma sessão em um arquivo Markdown após a conclusão de uma sessão programática (caminho padrão: ./copilot-session-<ID>.md).
--share-gistCompartilhe uma sessão em um gist secreto do GitHub após a conclusão de uma sessão programática.
--stream=MODEHabilitar ou desabilitar o modo de streaming (opções de modo: on ou off).
-v, --versionMostrar informações de versão.
--yoloHabilitar todas as permissões (equivalente a --allow-all).

Para obter uma lista completa de comandos e opções, execute copilot help.

Observação

As opções --remote, --no-remote e --connect exigem que o recurso de sessões remotas esteja disponível em sua conta.

Valores de disponibilidade da ferramenta

As opções --available-tools e --excluded-tools dão suporte a estes valores:

Ferramentas do Shell

Nome da ferramentaDescrição
bash / powershellExecutar comandos
list_bash / list_powershellListar sessões ativas do shell
read_bash / read_powershellLer a saída de uma sessão de shell
stop_bash / stop_powershellEncerrar uma sessão de shell
write_bash / write_powershellEnviar entrada para uma sessão de shell

Ferramentas de operação de arquivo

Nome da ferramentaDescrição
apply_patchAplicar patches (usados por alguns modelos em vez de edit/create)
createCriar novos arquivos
editEditar arquivos por meio da substituição de cadeia de caracteres
viewLer arquivos ou diretórios

Ferramentas de delegação de agente e tarefas

Nome da ferramentaDescrição
list_agentsListar agentes disponíveis
read_agentVerificar o status do agente em segundo plano
taskExecutar subagentes

Outras ferramentas

Nome da ferramentaDescrição
ask_userFaça uma pergunta ao usuário
globLocalizar padrões de correspondência de arquivos
grep(ou rg)Pesquisar texto em arquivos
show_fileApresentar snippets de código embutidos na linha do tempo. Disponível apenas no modo experimental.
skillInvocar habilidades personalizadas
web_fetchBuscar e analisar o conteúdo da Web

Padrões de permissão de ferramenta

As opções --allow-tool e --deny-tool aceitam padrões de permissão no formato Kind(argument). O argumento é opcional: omiti-lo corresponde a todas as ferramentas desse tipo.

VarianteDescriçãoPadrões de exemplo
memoryArmazenando fatos na memória do agentememory
readLeituras de arquivo ou diretório
          `read`, `read(.env)` |

| shell | Execução de comando do Shell | shell(git push) shell(git:*) shell | | url | Acesso à URL por meio de web-fetch ou shell | url(github.com), url(https://*.api.com) | | write | Criação ou modificação de arquivo | write, write(src/*.ts) | | SERVER-NAME | Invocação da ferramenta de servidor MCP | MyMCP(create_issue), MyMCP |

Para as shell regras, o sufixo :* corresponde ao comando principal seguido por um espaço, impedindo correspondências parciais. Por exemplo, shell(git:*) corresponde git push e git pull não corresponde gitea.

As regras de negação sempre têm precedência sobre as regras de permissão, mesmo quando --allow-all estão definidas.

# Allow all git commands except git push
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'

# Allow a specific MCP server tool
copilot --allow-tool='MyMCP(create_issue)'

# Allow all tools from a server
copilot --allow-tool='MyMCP'

Variáveis de ambiente

VariableDescrição
COLORFGBGFallback para detecção de plano de fundo do terminal escuro/claro.
COPILOT_ALLOW_ALLConfigure para true permitir todas as permissões automaticamente (equivalente a --allow-all).
COPILOT_AUTO_UPDATEDefina como false para desabilitar atualizações automáticas.
COPILOT_CACHE_HOMESubstitua o diretório de cache (usado para caches do marketplace, pacotes de atualização automática e outros dados efêmeros). Consulte Diretório de configuração do GitHub Copilot CLI para ver os padrões da plataforma.
COPILOT_CUSTOM_INSTRUCTIONS_DIRSLista separada por vírgulas de diretórios adicionais para instruções personalizadas.
COPILOT_EDITORComando do editor para edição interativa (checado após $VISUAL e $EDITOR). Assume o valor padrão de vi se nenhum for definido.
COPILOT_GH_HOST
          GitHub nome do host apenas para CLI do Copilot, substituindo `GH_HOST`. Use quando `GH_HOST` alvos GitHub Enterprise Server , mas Copilot precisa se autenticar no GitHub.com ou no GitHub Enterprise Cloud nome de host. |

| COPILOT_GITHUB_TOKEN | Token de autenticação. Tem precedência sobre GH_TOKEN e GITHUB_TOKEN. | | COPILOT_HOME | Sobrescreva a configuração e o diretório de estado. Padrão: $HOME/.copilot. | | COPILOT_MODEL | Defina o modelo de IA. | | COPILOT_PROMPT_FRAME | Defina como 1 para habilitar o quadro decorativo da IU ao redor do prompt de entrada ou como 0 para desabilitá-lo. Substitui o PROMPT_FRAME sinalizador de recurso experimental para a sessão atual. | | COPILOT_SKILLS_DIRS | Lista separada por vírgulas de diretórios adicionais para habilidades. | | COPILOT_SUBAGENT_MAX_CONCURRENT | Máximo de subagentes simultâneos em toda a árvore de sessão. Padrão: 32. Intervalo: 1256. | | COPILOT_SUBAGENT_MAX_DEPTH | Profundidade máxima de aninhamento de subagente. Padrão: 6. Intervalo: 1256. | | GH_HOST | GitHub nome do host para ambos GitHub CLI e CLI do Copilot (padrão: github.com). Defina como seu GitHub Enterprise Cloud nome de host com residência de dados. Substitua com COPILOT_GH_HOST somente para CLI do Copilot. | | GH_TOKEN | Token de autenticação. Tem precedência sobre GITHUB_TOKEN. | | GITHUB_TOKEN | Token de autenticação. | | PLAIN_DIFF | Definir para true para desativar a renderização de diferenças avançadas. | | USE_BUILTIN_RIPGREP | Defina como false para usar o ripgrep do sistema em vez da versão agrupada. |

Configurações do arquivo de configuração

Para obter informações detalhadas sobre as configurações do arquivo de configuração, incluindo a lista completa de configurações de usuário, configurações de repositório, configurações locais e como elas são em cascata, consulte Diretório de configuração do GitHub Copilot CLI.

Observação

As configurações do usuário foram armazenadas anteriormente em ~/.copilot/config.json. As configurações editáveis pelo usuário existentes nesse local são migradas automaticamente para ~/.copilot/settings.json ao inicialização.

inicialização do projeto Copilot

Quando você usa o comando copilot init ou o comando barra /init em uma sessão interativa, Copilot analisa sua base de código e grava ou atualiza um arquivo .github/copilot-instructions.md no repositório. Este arquivo de instruções personalizado contém diretrizes específicas do projeto que melhorarão as sessões futuras da CLI.

Normalmente, você usará copilot init, ou /init, quando iniciar um novo projeto ou quando começar a usar CLI do Copilot em um repositório existente.

O copilot-instructions.md arquivo que é criado ou atualizado normalmente documenta:

  • Comandos de compilação, teste e lint.
  • Arquitetura de alto nível.
  • Convenções específicas do Codebase.

Se o arquivo já existir, Copilot sugerirá melhorias que você pode optar por aplicar ou rejeitar.

A CLI procura o copilot-instructions.md arquivo na inicialização e, se ele estiver ausente, ele exibirá a mensagem:

          💡 Nenhuma instrução de co-piloto foi encontrada. Execute /init para gerar um arquivo copilot-instructions.md para este projeto.

Se você não quiser criar esse arquivo, poderá ocultar permanentemente essa mensagem de inicialização para o repositório atual usando o /init suppress comando barra.

Para obter mais informações, consulte Adicionando instruções personalizadas do repositório para GitHub Copilot.

Referência de ganchos

Para obter informações detalhadas sobre ganchos, incluindo formatos de configuração de gancho, eventos de gancho, conteúdos de entrada e controle de decisão, consulte referência de ganchos da CLI GitHub Copilot.

Configuração do servidor MCP

Os servidores MCP fornecem ferramentas adicionais para o agente da CLI. Configurar servidores persistentes em ~/.copilot/mcp-config.json. Use --additional-mcp-config para adicionar servidores para uma única sessão.

          `copilot mcp` Subcomando

Use copilot mcp para gerenciar as configurações do servidor MCP da linha de comando sem iniciar uma sessão interativa.

SubcommandDescrição
list [--json]Listar todos os servidores MCP configurados agrupados por origem.
get <name> [--json]Mostrar configuração e ferramentas para um servidor específico.
add <name>Adicione um servidor à configuração do usuário. Grava em ~/.copilot/mcp-config.json.
remove <name>Remova um servidor no nível do usuário. Os servidores de espaço de trabalho devem ser editados diretamente em seus arquivos de configuração.
          **
          `copilot mcp add` Opções:**
OpçãoDescrição
-- <command> [args...]Comandos e argumentos para servidores locais (stdio).
--url <url>URL para servidores remotos.
--type <type>Tipo de transporte: local, , stdio, httpou sse.
--env KEY=VALUEVariável de ambiente (repetível).
--header KEY=VALUECabeçalho HTTP para servidores remotos (repetível).
--tools <tools>Filtro de ferramenta: "*" para todos, uma lista separada por vírgulas ou "" para nenhum.
--timeout <ms>Tempo limite em milissegundos.
--jsonA saída adicionou a configuração como JSON.
--show-secretsMostrar valores completos de variável de ambiente e cabeçalho.

Cuidado

          `--show-secrets` é capaz de imprimir valores confidenciais de variáveis de ambiente e de cabeçalho no seu terminal ou nos arquivos de log. Use essa opção apenas em ambientes confiáveis e evite copiar, colar ou capturar a saída em logs ou histórico compartilhados.

Tipos de transporte

TipoDescriçãoCampos obrigatórios
local / stdioProcesso local comunicando-se por meio de stdin/stdout.
          `command`, `args` |

| http | Servidor remoto utilizando transporte HTTP transmissível. | url | | sse | Servidor remoto usando o transporte de eventos Server-Sent. | url |

Campos de configuração do servidor local

CampoObrigatórioDescrição
commandSimComando para iniciar o servidor.
argsSimArgumentos de comando (matriz).
toolsSimFerramentas para habilitar: ["*"] para todos ou uma lista de nomes de ferramentas específicos.
envNoVariáveis de ambiente. Dá suporte a $VAR, ${VAR} e ${VAR:-default} expansão.
cwdNoDiretório de trabalho para o servidor.
timeoutNoTempo limite de chamada de ferramenta em milissegundos.
typeNo
          `"local"` ou `"stdio"`. Padrão: `"local"`. |

Campos de configuração de servidor remoto

CampoObrigatórioDescrição
typeSim
          `"http"` ou `"sse"`. |

| url | Sim | URL do servidor. | | tools | Sim | Ferramentas para habilitar. | | headers | No | Cabeçalhos HTTP. Dá suporte à expansão variável. | | oauthClientId | No | ID do cliente OAuth estático (ignora o registro dinâmico). | | oauthPublicClient | No | Se o cliente OAuth é público. Padrão: true. | | oidc | No | Habilitar a injeção de token OIDC. Quando true, injeta uma GITHUB_COPILOT_OIDC_MCP_TOKEN variável de ambiente (servidores locais) ou um Bearer``Authorization cabeçalho (servidores remotos). | | timeout | No | Tempo limite de chamada de ferramenta em milissegundos. |

Autenticação nova do OAuth

Servidores MCP remotos que usam OAuth podem mostrar um needs-auth status quando um token expira ou quando uma conta diferente é necessária. Use /mcp auth <server-name> para disparar um fluxo OAuth novo. Isso abre um prompt de autenticação do navegador, permitindo que você entre ou alterne contas. Depois de concluir o fluxo, o servidor se reconecta automaticamente.

Mapeamento de filtro

Controlar como a saída da ferramenta MCP é processada usando o filterMapping campo na configuração de um servidor.

ModoDescrição
noneSem filtragem.
markdownFormatar saída como Markdown.
hidden_charactersRemova caracteres ocultos ou de controle. Padrão.

Servidores MCP internos

A CLI inclui servidores MCP internos que estão disponíveis sem configuração adicional.

ServidorDescrição
github-mcp-server
          GitHub Integração de API: problemas, solicitações de pull, confirmações, pesquisa de código e GitHub Actions. |

| playwright | Automação do navegador: navegar, clicar, digitar, captura de tela e manipulação de formulários. | | fetch | Solicitações HTTP pela ferramenta fetch. | | time | Utilitários de tempo: get_current_time e convert_time. |

Use --disable-builtin-mcps para desabilitar todos os servidores internos ou --disable-mcp-server SERVER-NAME desabilitar um específico.

Nomenclatura do servidor MCP

Os nomes de servidor podem conter caracteres imprimíveis, incluindo espaços, caracteres Unicode e pontuação. Caracteres de controle (U+0000–U+001F, U+007F) e a chave de fechamento (}) não são permitidos. Os nomes de servidor são usados como prefixos para nomes de ferramentas, por exemplo, um servidor nomeado my-server produz nomes de ferramentas como my-server-fetch, e um servidor nomeado My Server produz My Server-fetch.

Níveis de confiança do servidor MCP

Os servidores MCP são carregados de várias fontes, cada uma com um nível de confiança diferente.

FonteNível de confiançaRevisão necessária
InternaAltoNo
Repositório (.github/mcp.json)MediumRecomendado
Espaço de Trabalho (.mcp.json)MediumRecomendado
Configuração do usuário (~/.copilot/mcp-config.json)User-definedResponsabilidade do usuário
Servidores remotosBaixoSempre

Todas as invocações da ferramenta MCP exigem permissão explícita. Isso se aplica até mesmo a operações somente leitura em serviços externos.

Lista de permissões do MCP da Empresa

          GitHub Enterprise as organizações podem impor uma lista de permissões de servidores MCP permitidos. Quando ativa, a CLI avalia cada servidor não padrão em relação à política corporativa antes de se conectar.

Quando uma GitHub Enterprise política do Registro é detectada (ou o MCP_ENTERPRISE_ALLOWLIST sinalizador de recurso experimental está habilitado), a CLI:

  1. Calcula uma impressão digital para cada servidor não padrão configurado com base em seu comando, argumentos e URL remota.
  2. Envia as impressões digitais para o endpoint de avaliação da lista de permissão da empresa.
  3. Permite apenas servidores cujas impressões digitais são aprovadas; todos os outros são bloqueados com uma mensagem nomeando a empresa.

Essa verificação é encerrada por falha: se o ponto de extremidade de avaliação não for acessível ou retornar um erro, os servidores não padrão serão bloqueados até que a política possa ser verificada.

Quando um servidor é bloqueado por uma lista de permissões da empresa, a CLI exibe:

MCP server "SERVER-NAME" was blocked by your enterprise "ENTERPRISE-NAME".
Contact your enterprise administrator to add this server to the allowlist.

Os servidores padrão internos são sempre isentos da imposição da lista de permissões.

Migrando de .vscode/mcp.json

Se o projeto usar .vscode/mcp.json (formato de configuração MCP do VS Code), migre para .mcp.jsonCLI do GitHub Copilot. A migração mapeia novamente a servers chave para mcpServers.

          **Conchas POSIX (bash, zsh, peixe e outros):**
jq '{mcpServers: .servers}' .vscode/mcp.json > .mcp.json

Requer jq.

          **PowerShell**:
pwsh -NoProfile -Command "`$json = Get-Content '.vscode/mcp.json' -Raw | ConvertFrom-Json; `$content = ([pscustomobject]@{ mcpServers = `$json.servers } | ConvertTo-Json -Depth 100); [System.IO.File]::WriteAllText('.mcp.json', `$content, (New-Object System.Text.UTF8Encoding `$false))"

Em Windows, substitua pwsh por powershell se estiver usando Windows PowerShell em vez do PowerShell Core.

Referência de habilidades

As habilidades são arquivos markdown que estendem o que a CLI pode fazer. Cada habilidade reside em seu próprio diretório que contém um SKILL.md arquivo. Quando invocado (via /SKILL-NAME ou automaticamente pelo agente), o conteúdo da habilidade é injetado na conversa.

Campos de frontmatter de habilidades

CampoTipoObrigatórioDescrição
namecadeiaSimIdentificador exclusivo para a habilidade. Somente letras, números e hifens. Máximo de 64 caracteres.
descriptioncadeiaSimO que a habilidade faz e quando usá-la. Máximo de 1024 caracteres.
allowed-toolscadeia de caracteres ou string[]NoLista separada por vírgulas ou matriz yaml de ferramentas que são automaticamente permitidas quando a habilidade está ativa. Use "*" para todas as ferramentas.
user-invocablebooleanNoSe os usuários podem invocar a habilidade com /SKILL-NAME. Padrão: true.
disable-model-invocationbooleanNoImpedir que o agente invoque automaticamente essa habilidade. Padrão: false.

Localizações de habilidades

As habilidades são carregadas desses locais em ordem de prioridade (o primeiro encontrado vence para nomes duplicados).

LocalidadeScopeDescrição
.github/skills/ProjetoHabilidades específicas de projeto.
.agents/skills/ProjetoLocal alternativo do projeto.
.claude/skills/ProjetoLocal compatível com Claude.
Pai .github/skills/HerdadoSuporte para diretório raiz do Monorepo.
~/.copilot/skills/PessoalHabilidades pessoais para todos os projetos.
~/.agents/skills/PessoalHabilidades de agente compartilhadas em todos os projetos.
Diretórios de plug-inPlug-inHabilidades de complementos instalados.
COPILOT_SKILLS_DIRSPersonalizadoDiretórios adicionais (separados por vírgula).
(agrupado com a CLI)InternaHabilidades enviadas com a CLI. Prioridade mais baixa , substituível por qualquer outra fonte.

Comandos (formato de habilidade alternativa)

Os comandos são uma alternativa às habilidades armazenadas como arquivos individuais .md em .claude/commands/. O nome do comando é derivado do nome do arquivo. Os arquivos de comando usam um formato simplificado (nenhum name campo necessário) e dão suporte description, allowed-toolse disable-model-invocation. Os comandos têm prioridade menor do que as habilidades com o mesmo nome.

Referência de agentes personalizados

Agentes personalizados são agentes de IA especializados definidos em arquivos Markdown. O nome do arquivo (extensão menos) torna-se a ID do agente. Use .agent.md ou .md como a extensão de arquivo.

Agentes integrados

AgenteModelo padrãoDescrição
code-reviewclaude-sonnet-4.5Revisão de código com alta relação sinal/ruído. Analisa as diferenças em busca de bugs, problemas de segurança e erros lógicos.
configure-copilotvariesSubagente interno para o gerenciamento da configuração do CLI do Copilot por meio da linguagem natural — adicionando servidores MCP, instalando agentes e gerenciando competências. Disponível apenas no modo experimental.
exploreclaude-haiku-4.5Exploração rápida da base de código. Pesquisa arquivos, lê código e responde a perguntas. Retorna respostas focadas em menos de 300 palavras. Seguro para ser executado em paralelo.
general-purposeclaude-sonnet-4.5Agente de funcionalidade completa para tarefas complexas de várias etapas. É executado em uma janela de contexto separada.
researchclaude-sonnet-4.6Agente de pesquisa profunda. Gera um relatório com base em informações em sua base de código, em repositórios relevantes e na Web.
rubber-duckmodelo complementarUse um modelo complementar para fornecer uma crítica construtiva de propostas, designs, implementações ou testes. Identifica pontos fracos e sugere melhorias. Ao usar Claude, ele usa um modelo gpt; ao usar GPT, ele usa Claude Opus 4.7. Nunca faz alterações diretas de código. Disponível apenas no modo experimental.
taskclaude-haiku-4.5Execução de comandos (testes, compilações, lints). Retorna um breve resumo em caso de sucesso, saída completa em caso de falha.

Campos de frontmatter personalizados do agente

CampoTipoObrigatórioDescrição
descriptioncadeiaSimDescrição mostrada na lista de agentes e na ferramenta task.
inferbooleanNoPermitir a delegação automática pelo agente principal. Padrão: true.
mcp-serversobjetoNoServidores MCP para conectar. Usa o mesmo esquema que ~/.copilot/mcp-config.json.
modelcadeiaNoModelo de IA para este agente. Quando não definido, herda o modelo do agente externo. Quando o modelo de sessão é definido Auto como (selecionado pelo servidor), os subagentes sempre herdam o modelo de sessão resolvido, independentemente desse campo.
namecadeiaNoNome de exibição. O padrão é o nome do arquivo.
toolscadeia de caracteres[]NoFerramentas disponíveis para o agente. Padrão: ["*"] (todas as ferramentas).

Locais do agente personalizado

ScopeLocalidade
Projeto
          `.github/agents/` ou `.claude/agents/` |

| Usuário | ~/.copilot/agents/ | | Plug-in | <plugin>/agents/ |

Agentes em nível de projeto têm precedência sobre agentes em nível de usuário. Os agentes de plug-in têm a prioridade mais baixa.

Limites de subagente

A CLI impõe limites de profundidade e simultaneidade para impedir a geração de agente fugitivo.

LimitDefaultVariável de ambiente
Profundidade máxima6COPILOT_SUBAGENT_MAX_DEPTH
Máximo simultâneo32COPILOT_SUBAGENT_MAX_CONCURRENT
          **A profundidade** conta quantos agentes estão aninhados dentro um do outro. Quando o limite de profundidade é atingido, o agente mais interno não pode gerar subagentes adicionais. 
          **Concorrência** conta quantos subagentes estão sendo executados simultaneamente em toda a árvore de sessão. Quando o limite é atingido, novas solicitações de subagente são rejeitadas até que um agente ativo finalize sua tarefa. Os valores são limitados entre `1` e `256`.

Respostas de aprovação de permissão

Quando a CLI solicita permissão para executar uma operação, você pode responder com as seguintes chaves.

ChaveEfeito
yPermitir essa solicitação específica uma vez.
nNegar essa solicitação específica uma vez.
!Permitir todas as solicitações semelhantes para o restante da sessão.
#Negar todas as solicitações semelhantes para o restante da sessão.
?Mostrar informações detalhadas sobre a solicitação.

As aprovações de sessão são redefinidas quando você executa /clear ou inicia uma nova sessão.

Monitoramento do OpenTelemetry

          CLI do Copilot pode exportar rastreamentos e métricas por meio do [OpenTelemetry](https://opentelemetry.io/) (OTel), proporcionando visibilidade das interações do agente, chamadas LLM, execuções de ferramentas e uso de token. Todos os nomes de sinal e atributos seguem as [Convenções Semânticas do OTel GenAI](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/).

O OTel está desativado por padrão sem sobrecarga. Ele é ativado quando qualquer uma das seguintes condições é atendida:

  • COPILOT_OTEL_ENABLED=true
  • OTEL_EXPORTER_OTLP_ENDPOINT está definido
  • COPILOT_OTEL_FILE_EXPORTER_PATH está definido

Variáveis de ambiente OTel

VariableDefaultDescrição
COPILOT_OTEL_ENABLEDfalseHabilite explicitamente o OTel. Não é necessário se OTEL_EXPORTER_OTLP_ENDPOINT estiver definido.
OTEL_EXPORTER_OTLP_ENDPOINTURL do ponto de extremidade OTLP. Definir isso habilita automaticamente o OTel.
COPILOT_OTEL_EXPORTER_TYPEotlp-httpTipo de exportador: otlp-http ou file. Seleciona automaticamente file quando COPILOT_OTEL_FILE_EXPORTER_PATH está definido.
OTEL_SERVICE_NAMEgithub-copilotNome do serviço em atributos de recurso.
OTEL_RESOURCE_ATTRIBUTESAtributos de recursos extras como pares separados por vírgula key=value . Use a codificação por porcentagem para caracteres especiais.
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENTfalseCapture o conteúdo completo do prompt e da resposta. Consulte a captura de conteúdo.
OTEL_LOG_LEVELNível do log de diagnóstico OTel: NONE, ERROR, WARN, INFO, DEBUG, VERBOSE, ALL.
COPILOT_OTEL_FILE_EXPORTER_PATHEscreva todos os sinais neste arquivo como linhas JSON. Definir isso habilita automaticamente o OTel.
COPILOT_OTEL_SOURCE_NAMEgithub.copilotNome do escopo de instrumentação para rastreador e medidor.
OTEL_EXPORTER_OTLP_HEADERSCabeçalhos de autenticação para o exportador OTLP (por exemplo, Authorization=Bearer token).

Vestígios

O runtime emite uma árvore de intervalo hierárquica para cada interação do agente. Cada árvore contém um invoke_agent intervalo raiz, com chat e execute_tool intervalos filho.

          `invoke_agent` atributos de 'span'

Encapsula toda a invocação do agente: todas as chamadas LLM e execuções de ferramentas para uma mensagem de usuário.

  • As sessões de nível superior usam o tipo de abrangência CLIENT (invocação de serviço remoto) com server.address e server.port.
  • Invocação de subagente (por exemplo, explorar, tarefa) usa o tipo de span INTERNAL (em processo) sem atributos de servidor.
AttributeDescriçãoTipo de intervalo
gen_ai.operation.nameinvoke_agentAmbas
gen_ai.provider.nameProvedor (por exemplo, github, anthropic)Ambas
gen_ai.agent.idIdentificador de sessãoAmbas
gen_ai.agent.nameNome do agente (quando disponível)Ambas
gen_ai.agent.descriptionDescrição do agente (quando disponível)Ambas
gen_ai.agent.versionVersão de execuçãoAmbas
gen_ai.conversation.idIdentificador de sessãoAmbas
gen_ai.request.modelModelo solicitadoAmbas
gen_ai.response.finish_reasons
          `["stop"]` ou `["error"]` | Ambas |

| gen_ai.usage.input_tokens | Total de tokens de entrada (todas as voltas) | Ambas | | gen_ai.usage.output_tokens | Total de tokens de saída (todos os turnos) | Ambas | | gen_ai.usage.cache_read.input_tokens | Leitura de tokens de entrada armazenados em cache | Ambas | | gen_ai.usage.cache_creation.input_tokens | Tokens de entrada em cache criados | Ambas | | github.copilot.turn_count | Número de viagens de ida e volta de LLM | Ambas | | github.copilot.cost | Custo monetário | Ambas | | github.copilot.aiu | Unidades de IA consumidas | Ambas | | server.address | Nome do host do servidor | CLIENT somente | | server.port | Porta do servidor | CLIENT somente | | error.type | Nome da classe de erro (em caso de erro) | Ambas | | gen_ai.input.messages | Mensagens de entrada completas como JSON (somente captura de conteúdo) | Ambas | | gen_ai.output.messages | Mensagens de saída completas como JSON (somente captura de conteúdo) | Ambas | | gen_ai.system_instructions | Conteúdo da solicitação do sistema como JSON (captura de conteúdo somente) | Ambas | | gen_ai.tool.definitions | Esquemas de ferramentas como JSON (somente captura de conteúdo) | Ambas |

          `chat` atributos de 'span'

Um intervalo por solicitação LLM. Tipo de intervalo: CLIENT.

AttributeDescrição
gen_ai.operation.namechat
gen_ai.provider.nameNome do provedor
gen_ai.request.modelModelo solicitado
gen_ai.conversation.idIdentificador de sessão
gen_ai.response.idID de resposta
gen_ai.response.modelModelo resolvido
gen_ai.response.finish_reasonsRazões de parada
gen_ai.usage.input_tokensTokens de entrada desta vez
gen_ai.usage.output_tokensTokens de saída neste turno
gen_ai.usage.cache_read.input_tokensLeitura de tokens armazenados em cache
gen_ai.usage.cache_creation.input_tokensTokens em cache criados
github.copilot.costCusto de turno
github.copilot.aiuAs unidades de IA foram consumidas neste turno
github.copilot.server_durationDuração no lado do servidor
github.copilot.initiatorIniciador de solicitação
github.copilot.turn_idIdentificador de turno
github.copilot.interaction_idIdentificador de interação
github.copilot.time_to_first_chunkTempo para a primeira parte de transmissão, em segundos (somente transmissão)
server.addressNome do host do servidor
server.portPorta do servidor
error.typeNome da classe de erro (em caso de erro)
gen_ai.input.messagesMensagens completas de prompt como JSON (captura de conteúdo apenas)
gen_ai.output.messagesMensagens de resposta completas como JSON (somente captura de conteúdo)
gen_ai.system_instructionsConteúdo da solicitação do sistema como JSON (captura de conteúdo somente)

          `execute_tool` atributos de 'span'

Um intervalo por chamada de ferramenta. Tipo de intervalo: INTERNAL.

AttributeDescrição
gen_ai.operation.nameexecute_tool
gen_ai.provider.nameNome do provedor (quando disponível)
gen_ai.tool.nameNome da ferramenta (por exemplo, readFile)
gen_ai.tool.typefunction
gen_ai.tool.call.idIdentificador de chamada de ferramenta
gen_ai.tool.descriptionDescrição da ferramenta
error.typeNome da classe de erro (em caso de erro)
gen_ai.tool.call.argumentsArgumentos de entrada da ferramenta como JSON (apenas captura de conteúdo)
gen_ai.tool.call.resultSaída da ferramenta como JSON (somente captura de conteúdo)

Métricas

Métricas de convenção do GenAI

MétricaTipoUnidadeDescrição
gen_ai.client.operation.durationHistogramasDuração da chamada à API LLM e da invocação do agente
gen_ai.client.token.usageHistogramatokensContagens de token por tipo (input/output)
gen_ai.client.operation.time_to_first_chunkHistogramasHora de receber a primeira parte de streaming
gen_ai.client.operation.time_per_output_chunkHistogramasLatência entre partes após a primeira parte

Métricas específicas do fornecedor

MétricaTipoUnidadeDescrição
github.copilot.tool.call.countContadorchamadasInvocações de ferramenta por gen_ai.tool.name e success
github.copilot.tool.call.durationHistogramasLatência de execução da ferramenta por gen_ai.tool.name
github.copilot.agent.turn.countHistogramaturnosCiclos de ida e volta de LLM por chamada de agente

Eventos com intervalo

Eventos de ciclo de vida registrados no intervalo ativo entre chat e invoke_agent.

AcontecimentoDescriçãoAtributos de chave
github.copilot.hook.startUm gancho começou a ser executado
          `github.copilot.hook.type`, `github.copilot.hook.invocation_id` |

| github.copilot.hook.end | O hook foi concluído com êxito | github.copilot.hook.type, github.copilot.hook.invocation_id | | github.copilot.hook.error | Falha em um gancho | github.copilot.hook.type github.copilot.hook.invocation_id github.copilot.hook.error_message | | github.copilot.session.truncation | O histórico de conversas foi truncado | github.copilot.token_limit, github.copilot.pre_tokens, github.copilot.post_tokens, github.copilot.pre_messages, github.copilot.post_messages, github.copilot.tokens_removed, , github.copilot.messages_removed, , github.copilot.performed_by | | github.copilot.session.compaction_start | Compactação de histórico iniciada | Nenhum | | github.copilot.session.compaction_complete | Compactação de histórico concluída | github.copilot.success, github.copilot.pre_tokens, github.copilot.post_tokens, github.copilot.tokens_removed, , github.copilot.messages_removed``github.copilot.message(somente captura de conteúdo) | | github.copilot.skill.invoked | Uma habilidade foi invocada | github.copilot.skill.name, github.copilot.skill.path, , github.copilot.skill.plugin_name``github.copilot.skill.plugin_version | | github.copilot.session.shutdown | A sessão está sendo fechada | github.copilot.shutdown_type, github.copilot.total_premium_requests, github.copilot.lines_added, , github.copilot.lines_removed``github.copilot.files_modified_count | | github.copilot.session.abort | O usuário cancelou a operação atual | github.copilot.abort_reason | | exception | Erro de sessão | github.copilot.error_type github.copilot.error_status_code github.copilot.error_provider_call_id |

Atributos de recursos

Todos os sinais carregam esses atributos de recurso.

AttributeValor
service.name
          `github-copilot` (configurável via `OTEL_SERVICE_NAME`) |

| service.version | Versão de execução |

Captura de conteúdo

Por padrão, nenhum conteúdo de prompt, respostas ou argumentos de ferramenta são capturados– somente metadados como nomes de modelo, contagens de token e durações. Para capturar o conteúdo completo, defina OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true.

Aviso

A captura de conteúdo pode incluir informações confidenciais, como código, conteúdo de arquivo e prompts do usuário. Habilite isso apenas em ambientes confiáveis.

Quando a captura de conteúdo é habilitada, os atributos a seguir são preenchidos.

AttributeConteúdo
gen_ai.input.messagesMensagens de prompt completo (JSON)
gen_ai.output.messagesMensagens de resposta completas (JSON)
gen_ai.system_instructionsConteúdo do prompt do sistema (JSON)
gen_ai.tool.definitionsEsquemas de ferramentas (JSON)
gen_ai.tool.call.argumentsArgumentos de entrada da ferramenta
gen_ai.tool.call.resultSaída da ferramenta

Leitura adicional