Skip to main content

Acerca de la compilación de Copilot Extensions

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

¿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

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

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

Acerca de la creación de

son un tipo de creadas en GitHub Apps. son más adecuadas para desarrolladores que desean 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

Acerca de la visibilidad de

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

Acerca de los permisos de

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 desarrolladores: como mínimo, los permisos de Copilot Chat deben establecerse 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 generadores: 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 obtener 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

Solo los administradores de la organización pueden conceder permisos para para 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 instalar la extensión.
  • El administrador de la organización debe conceder el permiso de extensión para acceder a repositorios específicos.
  • El administrador de la organización debe autorizar el acceso para todos o repositorios específicos.

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 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 Acerca de los agentes de Copilot.

Acerca del paso de contexto

Puedes permitir que la 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 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

La compilación de 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 , 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

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 desde cero, es posible que desee explorar un existente y después integrarla con una GitHub App para ver cómo funciona. GitHub proporciona un ejemplo de , que puede clonar y usar como base para su propia :

  • Blackbeard: un 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 . Para obtener más información, consulte de Blackbeard.

  • GitHub Models: un más complejo que le permite preguntar e interactuar con varios LLM enumerados en GitHub Marketplace a través de . Para obtener más información, consulte GitHub Models .

    Nota:

    GitHub Models se encuentran en versión preliminar pública y están sujetos a cambios. Para solicitar acceso, únase a la lista de espera.

  • 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 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 . Para más información, consulte SDK en versión preliminar.

Acerca de la creación de

Nota:

La documentación de GitHub se centra en la creación de , no en .

Puede crear un que sea exclusivo y nativo de Visual Studio Code, denominado . Esta opción es más adecuada para los desarrolladores que quieran crear extensiones que utilicen API y funciones específicas de VS Code o ampliar las extensiones de VS Code.

También conocido como extensiones de chat de VS Code, funcionan de forma similar a al ampliar las funcionalidades de , con algunas diferencias notables:

  • VS Code Las extensiones de chat solo se pueden usar en VS Code.
  • VS Code Las extensiones de chat 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.
  • VS Code Las extensiones de chat se publican en el VS Code Marketplace, no en GitHub Marketplace.
  • VS Code Las extensiones de chat son locales para el equipo del usuario y no se pueden controlar mediante una organización's de la empresa.

Para obtener más información sobre , consulte Extensiones de chat en la documetación de Visual Studio Code.

Información adicional