Skip to main content

Sobre as extensões do Copilot

Saiba mais sobre o processo de desenvolvimento para o Extensões do Copilot.

Quem pode usar esse recurso?

Qualquer pessoa com um plano do Copilot Pro, do Copilot Pro+ ou do Copilot Free pode usar o Extensões do Copilot.

Para organizações ou empresas com um plano do Copilot Business ou do Copilot Enterprise, proprietários de organização e administradores de empresa podem conceder acesso a Extensões do Copilot.

O Extensões do Copilot não está disponível para o GitHub Enterprise Server.

Sobre o Extensões do Copilot

Extensões do Copilot são integrações que expandem a funcionalidade do Copilot Chat, permitindo que os desenvolvedores tragam ferramentas, serviços e comportamentos personalizados externos para a experiência do Chat. Você pode usar Extensões do Copilot para estender os recursos do Copilot Chat de várias maneiras, entre elas:

  • Consulta de documentação: uma Extensão do Copilot pode permitir que o Copilot Chat consulte um serviço de documentação de terceiros para encontrar informações sobre um tópico específico.
  • Codificação assistida por IA: uma Extensão do Copilot pode usar um modelo de IA de terceiros para fornecer sugestões de código.
  • Recuperação de dados: uma Extensão do Copilot pode permitir que o Copilot Chat consulte um serviço de dados de terceiros para recuperar informações sobre um tópico específico.
  • Execução da ação: uma Extensão do Copilot pode permitir que o Copilot Chat execute uma ação específica, como postar em um quadro de mensagens ou atualizar um item de rastreamento em um sistema externo.

As Extensões do GitHub Copilot são criadas com GitHub Apps. Elas são mais adequadas para desenvolvedores que desejam compatibilidade entre plataformas, bem como gerenciamento de aplicativos e o suporte do GitHub.

Clientes e IDEs compatíveis

Clientes e IDEsSuporte para Extensões do GitHub Copilot
Visual Studio Code
Visual Studio.
GitHub.com
GitHub Mobile
IDEs JetBrains
GitHub Codespaces
Vim/Neovim
Copilot na CLI
Xcode

Visibilidade das Extensões do GitHub Copilot

As Extensões do GitHub Copilot podem ser privadas, públicas e compartilháveis ou públicas e listadas no GitHub Marketplace. A opção de visibilidade escolhida dependerá do seu caso de uso e do público-alvo que você está segmentando.

  • As extensões privadas são frequentemente preferidas por grandes empresas ou empresas que:
    • Desejam ter mais personalização e controles sobre o acesso aos dados
    • Precisam de integração com um grande volume de documentos e bancos de dados internos
    • Têm políticas de segurança rígidas, o que dificulta autorizar permissões para terceiros
  • As extensões públicas são adequadas para:
    • Projetos de software livre
    • Desenvolvimento colaborativo e uso entre organizações dentro de uma empresa
    • Compartilhar sua ferramenta e obter feedback antes de publicar no GitHub Marketplace
  • As extensões do GitHub Marketplace são ideais para terceiros que desejam:
    • Oferecer serviços a um público mais amplo
    • Integrar suas ferramentas ao fluxo de trabalho do desenvolvedor na GitHub e no IDE
    • Aproveite o ecossistema da GitHub para aumentar a conscientização sobre seu produto

Permissões das Extensões do GitHub Copilot

As permissões variam de acordo com a extensão, dependendo do nível de autorização exigido pela extensão para responder à consulta. Você pode exibir as permissões necessárias na página de instalação da extensão, localizada após a etapa de informações de cobrança e antes da etapa de instalação e autorização.

Para usuários de extensão: no mínimo, as permissões do Copilot Chat devem ser definidas como "Somente leitura". Permissões adicionais podem incluir a execução de ações de gravação em outras superfícies, e a autorização de acesso de leitura a dados no nível da organização e do repositório no GitHub.

Para criadores de extensão: além do indicado acima, você também pode solicitar o contexto local de um editor do usuário para ajustar ainda mais as respostas. Para fazer isso, as permissões do Copilot Editor Context devem ser definidas como "Somente leitura". Os usuários serão notificados para fornecer a autorização necessária.

Para obter mais informações sobre as permissões do GitHub App, confira Escolhendo permissões para um Aplicativo GitHub.

Concedendo permissões para acessar os recursos da organização

Usuários com uma assinatura individual do Copilot podem instalar e usar Extensões do Copilot. Os usuários com uma assinatura Copilot Business ou Copilot Enterprise precisam de um administrador da organização para habilitar esse recurso.

Somente administradores da organização podem conceder permissões para as Extensões do Copilot acessarem recursos da organização.

Para conceder acesso aos membros da organização, o administrador da organização deve:

  • Instalar a extensão
  • Conceder à extensão permissão para acessar repositórios específicos
  • Autorizar o acesso para todos ou para repositórios específicos

Controlar o acesso no nível da empresa

Se você é um administrador empresarial, você pode desabilitar as Extensões do Copilot na empresa definindo a política Extensões do Copilot como "Desabilitada". A configuração "Sem Política" permite que os administradores da organização definam sua própria política.

Não, não há uma lista de permitidos ou lista de bloqueados no nível da empresa.

Compartilhar dados com as Extensões do Copilot

Os seguintes dados são compartilhados ao interagir com as Extensões do Copilot:

  • Dados anexados à sua conta e ao uso do Copilot Chat, como a ID do usuário do GitHub, e carimbos de data/hora das mensagens.
  • Mensagens passadas no thread de chat em que você está invocando uma extensão. Apenas uma extensão pode ser usada por thread, impedindo o compartilhamento de dados entre extensões. O período de retenção de dados no contexto do thread é de 30 dias.
  • Dados adicionais da organização e do repositório autorizados para a extensão pelo administrador da sua organização. Os administradores que instalam extensões devem aprovar o acesso às permissões necessárias antes de concluir a instalação.
  • Para o Chat do Copilot no GitHub, se o administrador aprovou a extensão para acessar metadados do repositório ou da organização, esses dados também serão compartilhados.

Sobre conjuntos de habilidades e agentes

Conjuntos de habilidades e agentes são as duas maneiras de estender as funcionalidades e o contexto do Copilotpor meio do Plataforma de Extensibilidade do Copilot. Eles permitem que você integre serviços externos e APIs ao Copilot Chat, mas cada um deles atende a diferentes casos de uso e oferece diferentes níveis de controle e complexidade:

  • Conjuntos de habilidades são leves e simplificados, projetados para desenvolvedores que precisam do Copilot para executar tarefas específicas (por exemplo, recuperação de dados ou operações simples) com configuração mínima. Eles lidam com roteamento, criação de prompts, avaliação de função e geração de resposta automaticamente, tornando-os ideais para integrações rápidas e simples. Para obter mais informações sobre conjuntos de habilidades, confira Sobre conjuntos de habilidades para extensões do Copilot.
  • Agentes são para integrações complexas que precisam de controle total sobre como as solicitações são processadas e as respostas são geradas. Eles permitem que você implemente a lógica personalizada, integre-se a outras LLMs e/ou à API do Copilot, gerencie o contexto da conversa e lide com todos os aspectos da interação do usuário. Embora os Agentes exijam mais engenharia e manutenção, eles oferecem flexibilidade máxima para fluxos de trabalho sofisticados. Para saber mais sobre agentes, confira Sobre agentes para extensões do Copilot.

Sobre a passagem de contexto

Você pode permitir que a Extensão do Copilot receba contexto do editor, como o arquivo aberto no momento, habilitando o nível de acesso somente leitura para a permissão de "Copilot Editor Context" em suas configurações do GitHub App. Confira a etapa 10 de Configurando seu GitHub App.

A Plataforma de extensibilidade do GitHub Copilot manipula automaticamente as mensagens quando o contexto implícito e explícito não está disponível ou não é autorizado. Para habilitar a passagem de contexto, você precisa solicitar permissões dos usuários. Para habilitar a passagem de contexto, você precisa:

  • Atualizar suas APIs para lidar com novos tipos de referência.
  • Solicitar permissões dos usuários. Ao solicitar permissões, siga estas melhores práticas:
    • Comunique claramente para que contexto você precisa e com que finalidade precisa delas.
    • Implemente o tratamento de erros apropriado para o contexto indisponível que sua lógica de aplicativo e API chama.
    • Se o contexto não estiver disponível, forneça o valor onde possível sem esses dados.
    • Solicite apenas as permissões mínimas necessárias para sua extensão.

A passagem de contexto respeita exclusões de conteúdo, que se referem a todos os arquivos listados em suas configurações de exclusão de contexto, incluindo arquivos que começam com ..

Para obter mais informações sobre a passagem de contexto, confira Context passing for your agent.

Como usar APIs nas Extensões do GitHub Copilot

A criação de Extensões do GitHub Copilot requer o uso da API do GitHub. Opcionalmente, a API do Copilot pode ser usada para recursos adicionais. Para obter detalhes sobre a formatação de solicitação e resposta, consulte a documentação da API da OpenAI.

Observação

A API do Copilot está disponível para criadores de Extensão do Copilot, mas somente extensões de Chat do GitHub Apps e VS Code podem ser usadas para acessar esses pontos de extremidade.

Recursos para a criação de Extensões do GitHub Copilot

A GitHub fornece um kit de ferramentas abrangente para construtores de extensões, com exemplos de código, uma ferramenta de depuração para CLI, SDKs de início rápido e um repositório de feedback do usuário. Para obter mais informações, consulte a organização copilot-extensions na GitHub.

Antes de criar sua própria Extensão do GitHub Copilot do zero, você pode explorar um Agente do Copilot existente e integrá-lo a um GitHub App para ver como funciona. O GitHub fornece alguns exemplos de Agentes do Copilot que você pode clonar e usar como base para sua própria Extensão do GitHub Copilot:

  • Blackbeard: um Agente do Copilot simples que responde a solicitações como um pirata, usando a API de LLM do Copilot e prompts especiais do sistema. É um bom ponto de partida para aprender a construir sua Extensão do GitHub Copilot. Para obter mais informações, consulte a Extensão do Copilot Blackbeard.

  • GitHub Models: um Agente do Copilot mais complexo que permite perguntar e interagir com vários LLMs listados no GitHub Marketplace usando o Copilot Chat. Para obter mais informações, consulte GitHub Models Extensão do Copilot.

    Observação

    GitHub Models estão em versão prévia pública e sujeitos a alterações.

  • Chamada de função: um agente de exemplo escrito em Go que demonstra chamadas de funções caixas de diálogo de confirmação. Para obter mais informações, consulte a extensão de chamadas de funções.

  • Extensão RAG: um agente de exemplo escrito em Go que demonstra uma implementação simples de geração aumentada de recuperação. Para obter mais informações, consulte Extensão RAG.

  • SDK de Visualização: um SDK que simplifica o processo de criação de Extensões do GitHub Copilot cuidando da verificação de solicitação, da formatação de resposta e das interações de API. Ele permite que os construtores se concentrem na funcionalidade principal da extensão, em vez de em clichês, simplificando a integração de ferramentas, APIs e fontes de dados no Copilot Chat. Para obter mais informações, consulte SDK de preview.

Sobre a criação de Copilot-enabled VS Code chat participants

Observação

A documentação do GitHub se concentra na criação de Extensões do GitHub Copilot, e não de Copilot-enabled VS Code chat participants.

Você pode criar uma Extensão do Copilot exclusiva e nativa para o Visual Studio Code, chamada de Copilot-enabled VS Code chat participant.

As Extensões do GitHub Copilot e Copilot-enabled VS Code chat participants usam a mesma plataforma de back-end para rotear solicitações para extensões. Ambos fornecem experiências do usuário final semelhantes, integram-se ao Copilot Chat e podem aproveitar a API do Copilot ou outras LLMs.

Embora compartilhem semelhanças, veja abaixo várias diferenças importantes:

  • As Extensões do GitHub Copilot podem ser usadas em qualquer editor com suporte para extensões, enquanto os Copilot-enabled VS Code chat participants só estão disponíveis no Visual Studio Code.
  • As Extensões do GitHub Copilot são extensões do lado do servidor, precisando da infraestrutura do servidor para serem compiladas. Essas extensões fornecem uma conexão interna com seus workspaces do GitHub, conforme definido pelo administrador de sua organização.
  • As Copilot-enabled VS Code chat participants são extensões do lado do cliente que têm mais acesso aos recursos e às APIs do VS Code, permitindo mais interações específicas do editor, como acesso a dados do espaço de trabalho local, manipulação da interface do Visual Studio Code e acesso de leitura/gravação a arquivos locais. Eles não exigem infraestrutura de servidor.
  • Como as Copilot-enabled VS Code chat participants são locais no computador do usuário, elas não podem ser controladas pelas políticas do Copilot de uma organização ou empresa no GitHub.com.
  • As Copilot-enabled VS Code chat participants são publicadas no VS Code Marketplace, não no GitHub Marketplace.

As Copilot-enabled VS Code chat participants são mais adequadas para desenvolvedores que desejam criar extensões que usam funcionalidades e APIs específicas do VS Code ou para estender extensões existentes do VS Code.

Para obter mais informações sobre Copilot-enabled VS Code chat participants, consulte extensões de Chat, na documentação do Visual Studio Code.

Indenização para Extensões do Copilot

As Extensões do Copilot não estão cobertas pela política de indenização do GitHub Copilot. No entanto, essa exclusão se aplica apenas a problemas que surgem em threads de chat da extensão.

A instalação e o uso das extensões não afetam a cobertura de indenização de issues ocorridos ao usar outros recursos do Copilot, como preenchimentos de código e chat.

Leitura adicional