Acerca de la creación de Extensiones de Copilot
Extensiones de 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 Extensiones de Copilot to extend the capabilities of Copilot Chat in a variety of ways, including:
- Querying documentation: A Extensión de Copilot can allow Copilot Chat to query a third-party documentation service to find information about a specific topic.
- AI-assisted coding: A Extensión de Copilot can use a third-party AI model to provide code suggestions.
- Data retrieval: A Extensión de Copilot can allow Copilot Chat to query a third-party data service to retrieve information about a specific topic.
- Action execution: A Extensión de 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.
Extensión de 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.
Acerca de los conjuntos de aptitudes y los agentes
Los conjuntos de aptitudes y los agentes son las dos maneras de ampliar las capacidades de Copilot y el contexto mediante la . Permiten integrar servicios externos y API en , pero cada uno atiende diferentes casos de uso y ofrece distintos niveles de control y complejidad:
- Los conjuntos de aptitudes son ligeros y funcionales y están diseñados para desarrolladores que necesitan que Copilot lleve a cabo tareas específicas (por ejemplo, recuperación de datos u operaciones simples) con una configuración mínima. Controlan el enrutamiento, la creación de indicaciones, la evaluación de funciones y la generación de respuestas automáticamente, lo que hace que sean perfectos para integraciones rápidas y sencillas. Para obtener más información sobre los conjuntos de aptitudes, consulta Acerca de los conjuntos de aptitudes para Extensiones de GitHub Copilot.
- Los agentes son para integraciones complejas que necesitan un control total sobre cómo se procesan las solicitudes y se generan respuestas. Permiten implementar lógica personalizada, integrarla con otros modelos LLM o la API de Copilot, administrar el contexto de conversación y controlar todos los aspectos de la interacción del usuario. Aunque los agentes requieren más tareas de ingeniería y mantenimiento, ofrecen máxima flexibilidad para flujos de trabajo sofisticados. Para más información sobre los agentes, consulta Acerca de los agentes para Extensiones de GitHub Copilot.
Acerca del paso de contexto
Puedes permitir que la Extensión de Copilot reciba contexto del editor, como el archivo abierto actualmente, habilitando el nivel de acceso Read-only para el permiso "Copilot Editor Context" en la configuración de GitHub App. Consulta el paso 10 de Configuración de la GitHub App.
La Plataforma de extensibilidad de GitHub Copilot controla automáticamente la mensajería cuando el contexto implícito y explícito no está disponible o autorizado. Para habilitar el paso de contexto, debes solicitar permisos de los usuarios. Para habilitar el paso de contexto, debes hacer lo siguiente:
- Actualizar las API para controlar los nuevos tipos de referencia.
- Solicitar permisos de los usuarios. Al solicitar permisos, sigue estos procedimientos recomendados:
- Comunica claramente qué contexto necesitas y para qué lo necesitas.
- Implementa un control de errores adecuado para contextos no disponibles tanto en la lógica de tu propia aplicación como en las llamadas a la API.
- En caso de que el contexto no esté disponible, proporciona valor en la medida de lo posible sin depender de estos datos.
- Solicita solo los permisos mínimos necesarios para la extensión.
El paso de contexto respeta las exclusiones de contenido, que hace referencia a los archivos enumerados en la configuración de exclusión de contexto, incluidos los archivos que comienzan por .
.
Para obtener más información sobre el paso de contexto, consulta Paso de contexto para el agente.
Uso de API en Extensión de GitHub Copilot
La compilación de Extensión de GitHub Copilot requiere el uso de la API GitHub. Opcionalmente, la API Copilot se puede usar para funcionalidades adicionales. Para más información sobre el formato de solicitud y respuesta, consulta la documentación de la API de OpenAI.
Nota:
La API de Copilot está disponible para los generadores de Extensión de Copilot, pero solo se pueden usar las extensiones de chat de GitHub Apps y VS Code para acceder a estos puntos de conexión.
Recursos para crear Extensión de GitHub Copilot
GitHub proporciona un kit de herramientas completo para generadores de extensiones, con ejemplos de código, una herramienta de depuración de la CLI, SDK de inicio rápido y un repositorio de comentarios de usuarios. Para obtener más información, consulte la organización de extensiones de Copilot en GitHub.
Antes de crear su propia Extensión de GitHub Copilot desde cero, es posible que desee explorar un Agente de Copilot existente y después integrarla con una GitHub App para ver cómo funciona. GitHub proporciona un ejemplo de Agentes de Copilot, que puede clonar y usar como base para su propia Extensión de GitHub Copilot:
-
Blackbeard: un Agente de Copilot simple que responde a solicitudes como un pirata, usando la API del LLM Copilot y avisos especiales del sistema. Es un buen punto inicial para aprender a crear una Extensión de GitHub Copilot. Para obtener más información, consulta Extensión de Copilot de Blackbeard.
-
GitHub Models: un Agente de Copilot más complejo que le permite preguntar e interactuar con varios LLM enumerados en GitHub Marketplace a través de Copilot Chat. Para obtener más información, consulta GitHub Models Extensión de Copilot.
Nota:
GitHub Models se encuentran en versión preliminar pública y están sujetos a cambios.
-
Llamada a funciones: un agente de ejemplo escrito en Go que muestra la llamada de función y los cuadros de diálogo de confirmación. Para obtener más información, consulte Extensión de llamada a funciones.
-
Extensión de RAG: un agente de ejemplo escrito en Go que muestra una implementación sencilla de la generación aumentada de recuperación. Para obtener más información, consulte Extensión de RAG.
-
SDK en versión preliminar: un SDK que simplifica el proceso de compilación de Extensión de GitHub Copilot mediante el control de la comprobación de solicitudes, el formato de respuesta y las interacciones de API. Permite a los generadores centrarse en la funcionalidad principal de su extensión en lugar de centrarse en ser reutilizable, ya que simplifica la integración de herramientas, API y orígenes de datos en Copilot Chat. Para más información, consulte SDK en versión preliminar.
Acerca de la creación de Participantes de chat de VS Code habilitados para Copilot
Nota:
La documentación de GitHub se centra en la creación de Extensión de GitHub Copilot, no de Participantes de chat de VS Code habilitados para Copilot.
Puedes crear una instancia de Extensión de Copilot que sea exclusiva y nativa de Visual Studio Code, lo que se denomina Participante de chat de VS Code habilitado para Copilot.
Extensión de GitHub Copilot y Participantes de chat de VS Code habilitados para Copilot usan la misma plataforma de back-end para enrutar solicitudes a las extensiones. Ambos proporcionan experiencias de usuario final similares, se integran con Copilot Chat, y pueden aprovechar la API de Copilot u otros LLM.
Aunque comparten similitudes, a continuación se muestran varias diferencias clave:
- Extensión de GitHub Copilot se pueden usar en cualquier editor en el que se admitan extensiones, mientras que Participantes de chat de VS Code habilitados para Copilot solo están disponibles en Visual Studio Code.
- Extensión de GitHub Copilot son extensiones del lado servidor, lo que requiere que se compile la infraestructura del servidor. Estas extensiones proporcionan una conexión integrada a las áreas de trabajo de GitHub, tal y como establece el administrador de la organización.
- Participantes de chat de VS Code habilitados para Copilot son extensiones del lado cliente y tienen más acceso a las características y API de VS Code, lo que permite interacciones más específicas del editor, como el acceso a datos del área de trabajo local, la manipulación de la interfaz de Visual Studio Code y el acceso de lectura y escritura a los archivos locales. No requieren infraestructura de servidor.
- Como las instancias de Participantes de chat de VS Code habilitados para Copilot son locales en el equipo del usuario, no se pueden controlar mediante las directivas de Copilot de una organización o empresa en GitHub.com.
- Las instancias de Participantes de chat de VS Code habilitados para Copilot se publican en VS Code Marketplace, no en GitHub Marketplace.
Participantes de chat de VS Code habilitados para Copilot son más adecuados para los desarrolladores que quieran crear extensiones que utilicen API y funciones específicas de VS Code, o bien ampliar las extensiones de VS Code existentes.
Para más información sobre Participantes de chat de VS Code habilitados para Copilot, consulta Extensiones de chat en la documentación de Visual Studio Code.
Indemnizaciones para Extensiones de Copilot
Extensiones de Copilot no están cubiertas por la directiva de indemnizaciones de GitHub Copilot. Sin embargo, esta exclusión solo se aplica a los problemas que surgen dentro de los hilos de chat de la extensión.
La instalación y el uso de extensiones no afectan a la cobertura de indemnización por cualquier problema que se produzca mientras se usan otras características de Copilot como la finalización de código y chat.