Introducción
Los complementos son paquetes que amplían la funcionalidad de Copilot CLI. Consulta Información sobre GitHub Copilot complementos.
Nota:
Puede encontrar ayuda sobre el uso de complementos escribiendo copilot plugin [SUBCOMMAND] --help en el terminal.
Estructura del complemento
Un complemento consta de un directorio con una estructura específica y un plugin.json archivo de manifiesto. Agent Plugins 1.0 requiere el manifiesto en la raíz del complemento. Los complementos heredados admiten ubicaciones de manifiesto adicionales. Un complemento también puede contener cualquier combinación de agentes, aptitudes, enlaces y configuraciones de servidor MCP.
Copilot CLI admite dos formatos de complemento:
- Plugins de agente 1.0, un formato portátil para habilidades y servidores MCP. Declarar la etiqueta canónica
$schemaenplugin.jsonhace que el complemento use este formato. - El formato heredado Copilot, que admite componentes específicos de Copilot y rutas de componentes configurables. Un manifiesto sin los complementos
$schemadel agente sigue usando este formato.
Se admiten ambos formatos. Elija Agent Plugins 1.0 cuando quiera hacer portables las aptitudes y los servidores MCP en distintos clientes compatibles. Elija el formato heredado cuando necesite rutas personalizadas para componentes o esté manteniendo un plugin específico de Copilot ya existente. En Plugins de agente 1.0, las habilidades y los servidores MCP son portátiles, y los componentes específicos de Copilot, como agentes, comandos, reglas, hooks y servidores LSP, proceden del directorio com.github.copilot del plugin.
Creación de un complemento
-
Cree un directorio para el complemento.
-
Elija un formato de complemento y agregue un
plugin.jsonarchivo de manifiesto a la raíz del directorio.Para crear un complemento de Agent Plugins 1.0, incluya la etiqueta canónica
$schema:
Archivo de complementos de agente de ejemplo 1.0 plugin.json
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "my-dev-tools",
"description": "React development utilities",
"version": "1.2.0",
"author": {
"name": "Jane Doe",
"email": "jane@example.com"
},
"license": "MIT",
"keywords": ["react", "frontend"]
}
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "my-dev-tools",
"description": "React development utilities",
"version": "1.2.0",
"author": {
"name": "Jane Doe",
"email": "jane@example.com"
},
"license": "MIT",
"keywords": ["react", "frontend"]
}
El esquema solo permite $schema, version, name, description, author, homepage, repository, license, keywords y extensions como campos de nivel superior. Los campos de nivel superior desconocidos se notifican y se ignoran. El campo extensions es un mapa de datos específicos del cliente indexados por un espacio de nombres de dominio inverso.
Para crear un complemento heredado, omita Agent Plugins $schema. Puede usar campos de ruta del componente en el manifiesto:
Archivo heredado plugin.json de ejemplo
{
"name": "my-dev-tools",
"description": "React development utilities",
"agents": "agents/",
"skills": ["skills/", "extra-skills/"],
"hooks": "hooks.json",
"mcpServers": ".mcp.json"
}
{
"name": "my-dev-tools",
"description": "React development utilities",
"agents": "agents/",
"skills": ["skills/", "extra-skills/"],
"hooks": "hooks.json",
"mcpServers": ".mcp.json"
}
Para obtener más información sobre el conjunto completo de campos que puede incluir en este archivo, consulte Referencia del plugin CLI de GitHub Copilot.
-
Agregue componentes al complemento.
En un complemento Agent Plugins 1.0, las aptitudes deben ser subdirectorios inmediatos de
skills/y cada aptitud debe contener unSKILL.mdarchivo. La configuración de MCP debe estar enmcp.json, en la raíz del complemento. No puede invalidar estas ubicaciones enplugin.json. Los componentes específicos de Copilot se encuentran en el directoriocom.github.copilot, comocom.github.copilot/agents/para agentes personalizados ycom.github.copilot/hooks/hooks.jsonpara hooks.En un complemento heredado, use las ubicaciones predeterminadas de los componentes o las rutas de acceso de los componentes configuradas en
plugin.json.Por ejemplo:
-
Agregue un agente mediante la creación de un
NAME.agent.mdarchivo en unagentssubdirectorio. En un complemento Agent Plugins 1.0, cree el archivo encom.github.copilot/agents/. En un complemento heredado, créelo enagents/.Markdown --- name: my-agent description: Helps with specific tasks tools: ["bash", "edit", "view"] --- You are a specialized assistant that...
--- name: my-agent description: Helps with specific tasks tools: ["bash", "edit", "view"] --- You are a specialized assistant that... -
Agregue una aptitud mediante la creación de un
skills/NAMEsubdirectorio del directorio del complemento, dondeNAMEes el nombre de la aptitud. A continuación, dentro de este subdirectorio, cree unSKILL.mdarchivo que defina la aptitud.Por ejemplo, para crear una aptitud de "implementación", cree
skills/deploy/SKILL.md:Markdown --- name: deploy description: Deploy the current project to... --- Instructions for the skill...
--- name: deploy description: Deploy the current project to... --- Instructions for the skill... -
Para un complemento Agent Plugins 1.0, agregue servidores MCP en un archivo raíz
mcp.json. La configuración de MCP usa su propio esquema de complementos de agente:JSON { "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", "mcpServers": { "deployment-api": { "type": "streamable-http", "url": "https://deploy.example.com/mcp" }, "local-validator": { "type": "stdio", "command": "node", "args": ["${PLUGIN_ROOT}/server/index.js"], "cwd": "${PLUGIN_ROOT}", "env": { "DATA_DIR": "${PLUGIN_DATA}/validator" } } } }{ "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", "mcpServers": { "deployment-api": { "type": "streamable-http", "url": "https://deploy.example.com/mcp" }, "local-validator": { "type": "stdio", "command": "node", "args": ["${PLUGIN_ROOT}/server/index.js"], "cwd": "${PLUGIN_ROOT}", "env": { "DATA_DIR": "${PLUGIN_DATA}/validator" } } } }Se acepta el nombre de transporte
streamable-httppara los servidores HTTP Streamable. Para los servidoresstdio, Copilot CLI proporciona las variables de entornoPLUGIN_ROOTyPLUGIN_DATAy expande${PLUGIN_ROOT}y${PLUGIN_DATA}enargs, los valoresenvycwd.
-
-
Instale el complemento localmente para que pueda probarlo a medida que lo desarrolle.
Por ejemplo, donde
./my-plugines la ruta de acceso al directorio del complemento, escriba:Shell copilot plugin install ./my-plugin
copilot plugin install ./my-plugin -
Compruebe que el complemento se cargó correctamente viendo la lista de complementos instalados:
Shell copilot plugin list
copilot plugin listO bien, puede iniciar una nueva sesión interactiva y escribir:
Copilot prompt /plugin list
/plugin list -
Compruebe que los agentes, aptitudes, enlaces y configuraciones del servidor MCP que ha definido se cargan correctamente.
Por ejemplo, en una sesión interactiva, para comprobar que los agentes personalizados definidos en el complemento se cargaron, escriba:
Copilot prompt /agent
/agentPara comprobar que las aptitudes definidas en el complemento se cargaron, escriba:
Copilot prompt /skills list
/skills list -
Use la funcionalidad proporcionada por los componentes del complemento para comprobar que cada componente funciona según lo previsto.
-
Itere en el desarrollo del complemento, según sea necesario.
Importante
Al instalar un complemento, sus componentes se almacenan en caché y la CLI lee de la memoria caché para sesiones posteriores. Para recoger los cambios realizados en un complemento local, instálelo de nuevo:
Shell copilot plugin install ./my-plugin
copilot plugin install ./my-plugin -
Una vez finalizadas las pruebas, puede desinstalar la versión local del complemento escribiendo lo siguiente:
Shell copilot plugin uninstall NAME
copilot plugin uninstall NAMENota:
Para desinstalar un complemento, use el nombre del complemento como se especifica en el
namecampo del archivo de manifiesto delplugin.jsoncomplemento, no la ruta de acceso al directorio del complemento.
Distribución del complemento
Para distribuir el complemento, puede agregarlo a un marketplace. Consulta Creación de un marketplace de complementos para GitHub Copilot CLI.