Skip to main content

Acerca de Copilot Extensions

Obtenga más información sobre el proceso de desarrollo de Extensiones de Copilot.

¿Quién puede utilizar esta característica?

Cualquiera con un plan de , o puede usar .

En el caso de las organizaciones o empresas con un plan de o , los propietarios de las organizaciones y los administradores de las empresas pueden conceder acceso a .

no está disponible para GitHub Enterprise Server.

Acerca de Extensiones de Copilot

Extensiones de Copilot son integraciones que amplían la funcionalidad de Copilot Chat, lo que permite a los desarrolladores incorporar herramientas externas, servicios y comportamientos personalizados en la experiencia de chat. Puede usar Extensiones de Copilot para ampliar las funcionalidades de Copilot Chat de varias maneras, incluidas:

  • Documentación sobre consultas: una Extensión de Copilot puede permitir que Copilot Chat consulte un servicio de documentación de terceros para encontrar información sobre un tema específico.
  • Codificación asistida por IA: una Extensión de Copilot puede usar un modelo de IA de terceros para proporcionar sugerencias de código.
  • Recuperación de datos: una Extensión de Copilot puede permitir que Copilot Chat consulte un servicio de datos de terceros para obtener información sobre un tema específico.
  • Ejecución de acciones: una Extensión de Copilot puede permitir que Copilot Chat ejecute una acción específica, como publicar en un panel de mensajes o actualizar un elemento de seguimiento en un sistema externo.

Extensión de GitHub Copilot se crean con GitHub Apps. Son más adecuadas para desarrolladores que quieren compatibilidad multiplataforma y administración de aplicaciones y soporte técnico de GitHub.

Clientes e IDE admitidos

Clientes e IDEAsistencia de
Visual Studio Code
Visual Studio
GitHub.com
GitHub Mobile
IDE de JetBrains
GitHub Codespaces
Vim/Neovim
Xcode

Visibilidad de Extensión de GitHub Copilot

Extensión de GitHub Copilot puede ser público, privado y tener la capacidad de compartirse, o público y estar publicado en GitHub Marketplace. La opción de visibilidad que elija dependerá de su caso de uso y de la audiencia de destino.

  • Las extensiones privadas suelen ser las preferidas de grandes empresas o de empresas que:
    • Desean más personalización y controles sobre el acceso a datos
    • Necesitan integrar con un gran volumen de documentos y bases de datos internos
    • Tienen directivas de seguridad estrictas que dificultan la autorización de permisos para terceros
  • Las extensiones públicas son adecuadas para:
    • Proyectos de código abierto
    • El desarrollo colaborativo y uso entre organizaciones dentro de una empresa
    • Uso compartido de la herramienta y obtención de comentarios antes de publicarla en GitHub Marketplace
  • Las extensiones de GitHub Marketplace son ideales para terceros que quieran:
    • Ofrecer su servicio a un público más amplio
    • Integrar su herramienta en el flujo de trabajo del desarrollador en GitHub y el IDE
    • Aprovechar el ecosistema de GitHub para aumentar el alcance de su producto

Permisos de Extensión de GitHub Copilot

Los permisos varían según la extensión, en función del nivel de autorización que requiere la extensión para responder a la consulta. Puedes ver los permisos necesarios en la página de instalación de la extensión, ubicada después del paso de información de facturación y antes del paso de instalación y autorización.

Para los usuarios de extensiones: como mínimo, los permisos de Copilot Chat se deben establecer en "Solo lectura". Los permisos adicionales pueden incluir la ejecución de acciones de escritura en otras superficies y autorizar el acceso de lectura a los datos de nivel de organización y repositorio en GitHub.

Para los creadores de extensiones: además de lo anterior, también puedes solicitar contexto local desde el editor de un usuario para adaptar aún más las respuestas. Para ello, los permisos de contexto del editor de Copilot deben establecerse en "Solo lectura". Se notificará a los usuarios para que proporcionen la autorización necesaria.

Para más información sobre los permisos de GitHub App, consulta Elección de permisos para una aplicación de GitHub.

Concesión de permisos para acceder a los recursos de la organización

Los usuarios con una suscripción individual de Copilot puede instalar y utilizar Extensiones de Copilot. Los usuarios con una suscripción de Copilot para empresas o Copilot para empresas necesitan que un administrador de la organización habilite esta característica.

Solo los administradores de la organización pueden conceder permisos para Extensiones de Copilot a fin de acceder a los recursos de la organización.

Para conceder acceso a los miembros de la organización, el administrador de la organización debe:

  • Instalación de la extensión
  • Conceder a la extensión permiso para acceder a repositorios específicos
  • Autorizar el acceso a todos los repositorios o a repositorios específicos

Controlar el acceso en el nivel empresarial

Si eres administrador de empresa, puedes deshabilitar Extensiones de Copilot en la empresa si estableces la directiva Extensiones de Copilot en "Disabled". El valor "No Policy" permite a los administradores de la organización establecer su propia directiva.

No, no hay listas de permitidos ni listas de bloqueados a nivel empresarial.

Uso compartido de datos con Extensiones de Copilot

Los datos siguientes se comparten cuando interactúas con Extensiones de Copilot:

  • Datos adjuntos a tu cuenta y el uso de Copilot Chat, como el id. de usuario de GitHub y marcas de tiempo de los mensajes.
  • Mensajes del pasado dentro del hilo de chat donde está invocando una extensión. Solo se puede usar una extensión por hilo, lo que impide el uso compartido de datos entre extensiones. El período de retención de datos para el contexto del hilo es de 30 días.
  • Cualquier dato adicional de la organización y el repositorio autorizado para la extensión por el administrador de la organización. Los administradores que instalan extensiones deben aprobar el acceso a los permisos necesarios antes de completar la instalación.
  • Para Chat de Copilot en GitHub, si el administrador ha aprobado la extensión para acceder los metadatos del repositorio o de la organización, también se compartirán los datos.

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 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 About agents for Copilot Extensions.

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 Context passing for your agent.

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 Copilot-enabled VS Code chat participants

Nota:

La documentación de GitHub se centra en la creación de Extensión de GitHub Copilot, no de Copilot-enabled VS Code chat participants.

Puedes crear una instancia de Extensión de Copilot que sea exclusiva y nativa de Visual Studio Code, lo que se denomina Copilot-enabled VS Code chat participant.

Extensión de GitHub Copilot y Copilot-enabled VS Code chat participants 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 Copilot-enabled VS Code chat participants 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.
  • Copilot-enabled VS Code chat participants 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 Copilot-enabled VS Code chat participants 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 Copilot-enabled VS Code chat participants se publican en VS Code Marketplace, no en GitHub Marketplace.

Copilot-enabled VS Code chat participants 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 Copilot-enabled VS Code chat participants, 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.

Información adicional