Sobre criar Extensões do Copilot
Extensões do Copilot are integrations that expand the functionality of Copilot Chat, allowing developers to bring external tools, services, and custom behaviors into the Chat experience. You can use Extensões do Copilot to extend the capabilities of Copilot Chat in a variety of ways, including:
- Querying documentation: A Extensão do Copilot can allow Copilot Chat to query a third-party documentation service to find information about a specific topic.
- AI-assisted coding: A Extensão do Copilot can use a third-party AI model to provide code suggestions.
- Data retrieval: A Extensão do Copilot can allow Copilot Chat to query a third-party data service to retrieve information about a specific topic.
- Action execution: A Extensão do Copilot can allow Copilot Chat to execute a specific action, such as posting to a message board or updating a tracking item in an external system.
Extensões do GitHub Copilot are built with GitHub Apps. They are best suited for developers who want cross-platform compatibility and app management and support from GitHub.
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 GitHub 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 GitHub 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 Passagem de contexto para seu agente.
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 Participantes de chat do VS Code habilitados para Copilot
Observação
A documentação do GitHub se concentra na criação de Extensões do GitHub Copilot, e não de Participantes de chat do VS Code habilitados para Copilot.
Você pode criar uma Extensão do Copilot exclusiva e nativa para o Visual Studio Code, chamada de Participante de chat do VS Code habilitado para Copilot.
As Extensões do GitHub Copilot e Participantes de chat do VS Code habilitados para Copilot 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 Participantes de chat do VS Code habilitados para Copilot 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 Participantes de chat do VS Code habilitados para Copilot 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 Participantes de chat do VS Code habilitados para Copilot 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 Participantes de chat do VS Code habilitados para Copilot são publicadas no VS Code Marketplace, não no GitHub Marketplace.
As Participantes de chat do VS Code habilitados para Copilot 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 Participantes de chat do VS Code habilitados para Copilot, 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.