Skip to main content

Sobre a construção de extensões do Copilot

Saiba mais sobre o processo de desenvolvimento para Copilot Extensions.

Note

As GitHub Copilot Extensions estão em versão prévia pública e sujeitas a alterações.

Sobre as Copilot Extensions

Copilot Extensions 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 Copilot Extensions para estender os recursos do Copilot Chat de várias maneiras, entre elas:

  • Consulta de documentação: uma Copilot Extension 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 Copilot Extension pode usar um modelo de IA de terceiros para fornecer sugestões de código.
  • Recuperação de dados: uma Copilot Extension 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 Copilot Extension 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.

Sobre a criação de GitHub Copilot Extensions

GitHub Copilot Extensions são um tipo de Copilot Extension construídas com GitHub Apps. GitHub Copilot Extensions 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 GitHub Copilot Extensions
Visual Studio Code
Visual Studio.
GitHub.com
GitHub Mobile
IDEs JetBrains
GitHub Codespaces
Vim/Neovim
Copilot in the CLI
Xcode

Sobre a visibilidade de GitHub Copilot Extensions

As GitHub Copilot Extensions 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

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 Copilot Extensibility Platform. 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 os conjuntos de habilidades 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 os agentes do Copilot".

Sobre a passagem de contexto

Note

A passagem de contexto está em versão prévia pública e está sujeita a alterações.

Você pode permitir que o Copilot Extension 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 Criar um aplicativo GitHub para sua extensão do Copilot.

O GitHub Copilot Extensibility Platform 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. 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.
  • Caso o contexto não esteja 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, arquivos .env e arquivos listados nas configurações de exclusão de conteúdo.

Recursos para a criação de GitHub Copilot Extensions

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 GitHub Copilot Extension do zero, você pode explorar um Copilot agent existente e integrá-lo a um GitHub App para ver como funciona. O GitHub fornece alguns exemplos de Copilot agents que você pode clonar e usar como base para sua própria GitHub Copilot Extension:

  • Blackbeard: um Copilot agent 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 GitHub Copilot Extension. Para obter mais informações, consulte a Copilot Extension Blackbeard.

  • GitHub Models: um Copilot agent 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 a Copilot Extension GitHub Models.

    Note

    GitHub Models estão em versão prévia pública e sujeitos a alterações. Para solicitar acesso, entre para a lista de espera.

  • 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 preview: um SDK que simplifica o processo de construção de GitHub Copilot Extensions manipulando a verificação de solicitação, a formatação de resposta e as 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 Visual Studio Code extensions

Note

A documentação do GitHub se concentra na criação de GitHub Copilot Extensions, e não de Copilot-enabled Visual Studio Code extensions.

Você pode criar uma Copilot Extension exclusiva e nativa para o Visual Studio Code, chamada de Copilot-enabled Visual Studio Code extensions. Essa opção é mais adequada para desenvolvedores que desejam criar extensões que usam funcionalidades e APIs específicas do VS Code, ou ainda para aqueles que desejam estender extensões existentes do VS Code.

Também conhecidas como extensões de Chat do VS Code, as Copilot-enabled Visual Studio Code extensions funcionam de maneira semelhante às GitHub Copilot Extensions, estendendo os recursos do Copilot Chat, mas com algumas diferenças dignas de nota:

  • As extensões de Chat do VS Code só podem ser usadas no VS Code.
  • As extensões de Chat do VS Code 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.
  • As extensões de Chat doVS Code são publicadas no VS Code Marketplace, e não no GitHub Marketplace.
  • As extensões de Chat do VS Code são locais na máquina do usuário e não podem ser controladas pelas políticas de uma organização.

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

Leitura adicional