Skip to main content

Referencia de comandos de la CLI de Copilot de GitHub

Busque comandos y métodos abreviados de teclado para ayudarle a usar CLI de Copilot de forma eficaz.

Comandos de la línea de comandos

Comandopropósito
copilotInicie la interfaz de usuario interactiva.
copilot help [topic]Mostrar información de ayuda. Los temas de ayuda incluyen: config, commands, environment, loggingy permissions.
copilot initInicializar las instrucciones personalizadas de Copilot para este repositorio.
copilot updateDescargue e instale la versión más reciente.
copilot versionMostrar información de versión y comprobar si hay actualizaciones.
copilot loginAutentíquese con Copilot a través del flujo del dispositivo OAuth.
          `--host HOST` Acepta especificar la dirección URL de host GitHub (valor predeterminado: `https://github.com`). |

| copilot logout | Cierre la sesión de GitHub y quite las credenciales almacenadas. | | copilot plugin | Administrar complementos y mercados de complementos. |

Accesos directos globales en la interfaz interactiva

Shortcutpropósito
@ FILENAMEIncluya el contenido del archivo en el contexto.
          <kbd>Ctrl</kbd>+<kbd>X</kbd> después `/`  | Después de empezar a escribir un mensaje, esto le permite ejecutar un comando de barra, por ejemplo, si desea cambiar el modelo sin tener que volver a escribir el mensaje. |

| Esc | Cancele la operación actual. | | ! COMMAND | Ejecute un comando en el shell local, omitiendo Copilot. | | Ctrl+C | Cancelar operación/borrar entrada. Presione dos veces para salir. | | Ctrl+D | Apagado. | | Ctrl+L | Borre la pantalla. | | Mayús+Tabulador | Ciclo entre el modo estándar, plan y autopilot. |

Accesos directos de línea de tiempo en la interfaz interactiva

Shortcutpropósito
ctrl+oAunque no hay nada en la entrada, esto expande los elementos recientes en la escala de tiempo de respuesta de Copilot para mostrar más detalles.
Ctrl+EAunque no hay nada en la entrada del mensaje, esto expande todos los elementos en la línea de tiempo de respuesta de Copilot.
ctrl+tExpandir o contraer la visualización del razonamiento en las respuestas.
Shortcutpropósito
          <kbd>Ctrl</kbd>+<kbd>A</kbd>        | Ir al principio de la línea (al escribir). |

| Ctrl+B | Vaya al carácter anterior. | | Ctrl+E | Vaya al final de la línea (al escribir). | | Ctrl+F | Vaya al siguiente carácter. | | Ctrl+G | Edite el mensaje en un editor externo. | | Ctrl+H | Elimine el carácter anterior. | | Ctrl+K | Eliminar desde el cursor hasta el final de la línea. Si el cursor está al final de la línea, elimine el salto de línea. | | Ctrl+U | Eliminar desde el cursor hasta el principio de la línea. | | Ctrl+W | Elimine la palabra anterior. | | Página principal | Vaya al inicio de la línea actual. | | Fin | Vaya al final de la línea actual. | | Ctrl+Inicio | Vaya al principio del texto. | | Ctrl+Fin | Vaya al final del texto. | | Meta+/← | Mueva el cursor una palabra a la vez. | | ^/ | Navegue por el historial de comandos. |

Comandos de barra en la interfaz interactiva

Comandopropósito
/add-dir PATHAgregue un directorio a la lista de permitidos para el acceso a archivos.
/agentExamine y seleccione entre los agentes disponibles (si los hay).
          `/allow-all`, `/yolo`                               | Habilite todos los permisos (herramientas, rutas de acceso y direcciones URL). |

| /clear, /new | Borre el historial de conversaciones. | | /compact | Resumir el historial de conversaciones para reducir el uso de la ventana de contexto. | | /context | Muestra el uso y la visualización del token de la ventana de contexto. | | /cwd, /cd [PATH] | Cambie el directorio de trabajo o muestre el directorio actual. | | /delegate [PROMPT] | Delegar cambios en un repositorio remoto con una solicitud de incorporación de cambios generada por IA. | | /diff | Revise los cambios realizados en el directorio actual. | | /exit, /quit | Salir de la CLI. | | /experimental [on\|off] | Active o desactive las características experimentales. | | /feedback | Proporcione comentarios sobre la CLI. | | /fleet [PROMPT] | Habilite la ejecución paralela de subagentes de partes de una tarea. Consulte Ejecución de tareas en paralelo con el /fleet comando. | | /help | Mostrar la ayuda para comandos interactivos. | | /ide | Conéctese a un área de trabajo del IDE. | | /init | Inicialice Copilot instrucciones personalizadas y capacidades de agente para este repositorio. | | /list-dirs | Muestra todos los directorios para los que se ha permitido el acceso a archivos. | | /login | Inicie sesión en Copilot. | | /logout | Cerrar sesión en Copilot. | | /lsp [show\|test\|reload\|help] [SERVER-NAME] | Administrar la configuración del servidor de idioma. | | /mcp [show\|add\|edit\|delete\|disable\|enable] [SERVER-NAME] | Administrar la configuración del servidor MCP. | | /model, /models [MODEL] | Seleccione el modelo de IA que desea usar. | | /plan [PROMPT] | Cree un plan de implementación antes de codificar. | | /plugin [marketplace\|install\|uninstall\|update\|list] [ARGS...] | Administrar complementos y mercados de complementos. | | /rename NAME | Cambie el nombre de la sesión actual (alias para /session rename). | | /reset-allowed-tools | Restablezca la lista de herramientas permitidas. | | /resume [SESSION-ID] | Cambie a otra sesión eligiendo entre una lista (opcionalmente, especifique un identificador de sesión). | | /review [PROMPT] | Ejecute el agente de revisión de código para analizar los cambios. | | /session [checkpoints [n]\|files\|plan\|rename NAME] | Mostrar información de sesión y un resumen del área de trabajo. Use los subcomandos para obtener más información. | | /share [file\|gist] [PATH] | Comparta la sesión en un archivo Markdown o un gist de GitHub. | | /skills [list\|info\|add\|remove\|reload] [ARGS...] | Gestionar habilidades para capacidades mejoradas. | | /terminal-setup | Configure el terminal para la compatibilidad con la entrada multilínea (Mayús+Entrar y Ctrl+Entrar). | | /theme [show\|set\|list] [auto\|THEME-ID] | Vea o configure el tema de terminal. | | /usage | Muestra las estadísticas y métricas de uso de la sesión. | | /user [show\|list\|switch] | Administre el usuario actual GitHub . |

Para obtener una lista completa de los comandos de barra diagonal disponibles, escriba /help en la interfaz interactiva de la CLI.

Opciones de la línea de comandos

Opciónpropósito
--acpInicie el servidor del Protocolo de Cliente del Agente.
--add-dir=PATHAgregue un directorio a la lista de permitidos para el acceso a archivos (se puede usar varias veces).
--add-github-mcp-tool=TOOLAgregue una herramienta para habilitar en el servidor MCP de GitHub, en lugar del subconjunto predeterminado de la CLI (puede usarse varias veces). Utilice * para todas las herramientas.
--add-github-mcp-toolset=TOOLSETAgregue un conjunto de herramientas para habilitar para GitHub servidor MCP, en lugar del subconjunto predeterminado de la CLI (se puede usar varias veces). Use all para todos los conjuntos de herramientas.
--additional-mcp-config=JSONAgregue un servidor MCP solo para esta sesión. La configuración del servidor se puede proporcionar como una cadena JSON o una ruta de acceso de archivo (prefijo con @). Amplía la configuración de ~/.copilot/mcp-config.json. Invalida cualquier configuración de servidor MCP instalada con el mismo nombre.
--agent=AGENTEspecifique un agente personalizado que se va a usar.
--allow-allHabilite todos los permisos (equivalentes a --allow-all-tools --allow-all-paths --allow-all-urls).
--allow-all-pathsDeshabilite la comprobación de la ruta de acceso del archivo y permita el acceso a cualquier ruta de acceso.
--allow-all-toolsPermitir que todas las herramientas se ejecuten automáticamente sin confirmación. Necesario cuando se usa la CLI mediante programación (env: COPILOT_ALLOW_ALL).
--allow-all-urlsPermitir el acceso a todas las direcciones URL sin confirmación.
--allow-tool=TOOL ...Herramientas que la CLI tiene permiso para usar. No solicitará permiso. Para varias herramientas, use una lista entrecomillada y separada por comas.
--allow-url=URL ...Permitir el acceso a direcciones URL o dominios específicos. Para varias direcciones URL, use una lista entrecomillada y separada por comas.
--alt-screen=VALUEUse el búfer de pantalla alternativo del terminal (on o off).
--autopilotHabilite la continuación del piloto automático en modo aviso. Consulte Permitir que la CLI de GitHub Copilot funcione de forma autónoma.
--available-tools=TOOL ...Solo estas herramientas estarán disponibles para el modelo. Para varias herramientas, use una lista entrecomillada y separada por comas.
--bannerMuestra el banner de inicio.
--bash-envHabilitar la BASH_ENV compatibilidad con las shells Bash.
--config-dir=PATHEstablezca el directorio de configuración (valor predeterminado: ~/.copilot).
--continueReanude la sesión más reciente.
--deny-tool=TOOL ...Herramientas que la CLI no tiene permiso para usar. No solicitará permiso. Para varias herramientas, use una lista entrecomillada y separada por comas.
--deny-url=URL ...Denegar el acceso a direcciones URL o dominios específicos tiene prioridad sobre --allow-url. Para varias direcciones URL, use una lista entrecomillada y separada por comas.
--disable-builtin-mcpsDeshabilite todos los servidores MCP integrados (actualmente: github-mcp-server).
--disable-mcp-server=SERVER-NAMEDeshabilite un servidor MCP específico (se puede usar varias veces).
--disable-parallel-tools-executionDeshabilite la ejecución en paralelo de las herramientas (LLM todavía puede realizar llamadas a herramientas paralelas, pero se ejecutarán secuencialmente).
--disallow-temp-dirImpedir el acceso automático al directorio temporal del sistema.
--enable-all-github-mcp-toolsHabilite todas las herramientas de servidor MCP GitHub en lugar del subconjunto predeterminado de la CLI. Invalida las opciones --add-github-mcp-toolset y --add-github-mcp-tool.
--excluded-tools=TOOL ...Estas herramientas no estarán disponibles para el modelo. Para varias herramientas, use una lista entrecomillada y separada por comas.
--experimentalHabilite las características experimentales (use --no-experimental para deshabilitar).
          `-h`, `--help`                     | Mostrar ayuda. |

| -i PROMPT, --interactive=PROMPT | Inicie una sesión interactiva y ejecute automáticamente esta solicitud. | | --log-dir=DIRECTORY | Establezca el directorio del archivo de registro (valor predeterminado: ~/.copilot/logs/). | | --log-level=LEVEL | Configure el nivel de registro (opciones: none, error, warning, info, debug, all, default). | | --max-autopilot-continues=COUNT | Número máximo de mensajes de continuación en el modo autopilot (valor predeterminado: ilimitado). Consulte Permitir que la CLI de GitHub Copilot funcione de forma autónoma. | | --model=MODEL | Establezca el modelo de IA que desea usar. | | --no-alt-screen | Deshabilite el búfer de pantalla alternativo del terminal. | | --no-ask-user | Deshabilite la ask_user herramienta (el agente funciona de forma autónoma sin formular preguntas). | | --no-auto-update | Deshabilite la descarga automática de actualizaciones de la CLI. | | --no-bash-env | Desactivar BASH_ENV la compatibilidad con los shells de Bash. | | --no-color | Deshabilite toda la salida de color. | | --no-custom-instructions | Deshabilite la carga de instrucciones personalizadas desde AGENTS.md y archivos relacionados. | | --no-experimental | Desactivar las funciones experimentales. | | --output-format=FORMAT | FORMAT puede ser text (valor predeterminado) o json (genera JSONL: un objeto JSON por línea). | | -p PROMPT, --prompt=PROMPT | Ejecute un comando programáticamente (se cierra al finalizar). | | --plain-diff | Deshabilite la representación de diferencias enriquecidas (resaltado de sintaxis mediante la herramienta de diferencias especificada por la configuración de Git). | | --resume=SESSION-ID | Reanude una sesión interactiva anterior eligiendo entre una lista (opcionalmente, especifique un identificador de sesión). | | -s, --silent | Genera solo la respuesta del agente (sin estadísticas de uso), útil para el scripting con -p. | | --screen-reader | Habilite las optimizaciones del lector de pantalla. | | --secret-env-vars=VAR ... | Variable de entorno cuyo valor desea censurar en la salida. Para varias variables, use una lista entrecomillada y separada por comas. Los valores de las GITHUB_TOKEN variables de entorno y COPILOT_GITHUB_TOKEN se redactan de forma predeterminada. | | --share=PATH | Comparta una sesión en un archivo Markdown después de completar una sesión programática (ruta de acceso predeterminada: ./copilot-session-<ID>.md). | | --share-gist | Comparta una sesión en un gist secreto de GitHub después de completar una sesión programática. | | --stream=MODE | Habilite o deshabilite el modo de streaming (opciones de modo: on o off). | | -v, --version | Mostrar información de versión. | | --yolo | Habilite todos los permisos (equivalentes a --allow-all). |

Para obtener una lista completa de comandos y opciones, ejecute copilot help.

Patrones de permisos de herramientas

Las --allow-tool opciones y --deny-tool aceptan patrones de permisos con el formato Kind(argument). El argumento es opcional: si se omite, coincide con todas las herramientas de ese tipo.

KindDescripciónPatrones de ejemplo
shellEjecución de comandos de Shell
          `shell(git push)`, , `shell(git:*)`, `shell` |

| write | Creación o modificación de archivos | write, write(src/*.ts) | | read | Lecturas de archivos o directorios | read, read(.env) | | SERVER-NAME | Invocación de la herramienta de servidor MCP | MyMCP(create_issue), MyMCP | | url | Acceso a la URL a través de web-fetch o shell | url(github.com), url(https://*.api.com) | | memory | Almacenamiento de hechos en la memoria del agente | memory |

Para las reglas de shell, el sufijo :* coincide con la raíz del comando seguido de un espacio, evitando coincidencias parciales. Por ejemplo, shell(git:*) coincide con git push y git pull, pero no coincide con gitea.

Las reglas de denegación siempre tienen prioridad sobre las reglas de autorización, incluso cuando --allow-all está configurado.

# Allow all git commands except git push
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'

# Allow a specific MCP server tool
copilot --allow-tool='MyMCP(create_issue)'

# Allow all tools from a server
copilot --allow-tool='MyMCP'

Variables de entorno

VariableDescripción
COPILOT_MODELEstablezca el modelo de IA.
COPILOT_ALLOW_ALLEstablézcalo en true para permitir todos los permisos automáticamente (equivalente a --allow-all).
COPILOT_AUTO_UPDATEEstablézcalo en false para deshabilitar las actualizaciones automáticas.
COPILOT_CUSTOM_INSTRUCTIONS_DIRSLista separada por comas de directorios adicionales para obtener instrucciones personalizadas.
COPILOT_SKILLS_DIRSLista de directorios adicionales separada por comas para habilidades.
COPILOT_EDITORComando del editor para la edición interactiva (activada después de $VISUAL y $EDITOR). El valor predeterminado es vi si no se establece ninguno.
COPILOT_GITHUB_TOKENToken de autenticación. Tiene prioridad sobre GH_TOKEN y GITHUB_TOKEN.
COPILOT_HOMEInvalide la configuración y el directorio de estado. Predeterminado: $HOME/.copilot.
GH_TOKENToken de autenticación. Tiene prioridad sobre GITHUB_TOKEN.
GITHUB_TOKENToken de autenticación.
USE_BUILTIN_RIPGREPEstablézcalo en false para usar el ripgrep del sistema en lugar de la versión incluida.
PLAIN_DIFFEstablézcalo en true para deshabilitar la representación de diferencias enriquecidas.
COLORFGBGSolución alternativa para la detección de fondo oscuro/claro del terminal.
COPILOT_CLI_ENABLED_FEATURE_FLAGSLista separada por comas de marcas de características que se habilitarán (por ejemplo, "SOME_FEATURE,SOME_OTHER_FEATURE").

Configuración del archivo de configuración

La configuración pasa de usuario a repositorio a local, con ámbitos más específicos que reemplazan a más generales. Las marcas de línea de comandos y las variables de entorno siempre tienen la prioridad más alta.

ÁmbitoUbicaciónpropósito
Usuario~/.copilot/config.jsonValores predeterminados globales para todos los repositorios. Use la variable de COPILOT_HOME entorno para especificar una ruta de acceso alternativa.
Repositorio.github/copilot/settings.jsonConfiguración del repositorio compartido (registrada en el repositorio).
Local.github/copilot/settings.local.jsonExcepciones personales (agregue esto a .gitignore).

Configuración del usuario (~/.copilot/config.json)

KeyTipoPredeterminadoDescripción
allowed_urlsstring[][]Direcciones URL o dominios permitidos sin preguntar.
alt_screenbooleanfalseUse el búfer de pantalla alternativo del terminal.
auto_updatebooleantrueDescargue automáticamente las actualizaciones de la CLI.
banner
          `"always"`
          \|
          `"once"`
          \|
          `"never"`
         | `"once"` | Frecuencia de visualización de banner animado. |

| bash_env | boolean | false | Habilitar la BASH_ENV compatibilidad con las shells Bash. | | beep | boolean | true | Reproduce un pitido audible cuando se requiere atención. | | compact_paste | boolean | true | Colapsa grandes fragmentos en tokens compactos. | | custom_agents.default_local_only | boolean | false | Use solo agentes personalizados locales. | | denied_urls | string[] | [] | Direcciones URL o dominios bloqueados (tiene prioridad sobre allowed_urls). | | experimental | boolean | false | Habilite las características experimentales. | | include_coauthor | boolean | true | Agregue un Co-authored-by trailer a las confirmaciones de Git realizadas por el agente. | | companyAnnouncements | string[] | [] | Mensajes personalizados mostrados aleatoriamente durante el inicio. | | log_level | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | Nivel de verbosidad del registro. | | model | string | varies | Modelo de IA que se va a usar (consulte el /model comando ). | | powershell_flags | string[] | ["-NoProfile", "-NoLogo"] | Banderas pasadas a PowerShell (pwsh) en el inicio. Solo para Windows. | | reasoning_effort | "low" | "medium" | "high" | "xhigh" | "medium" | Nivel de esfuerzo cognitivo para el pensamiento prolongado. Los niveles superiores usan más recursos de computación. | | render_markdown | boolean | true | Representar Markdown en la salida del terminal. | | screen_reader | boolean | false | Habilite las optimizaciones del lector de pantalla. | | stream | boolean | true | Habilite las respuestas de streaming. | | store_token_plaintext | boolean | false | Almacene tokens de autenticación en texto no cifrado en el archivo de configuración cuando no haya ninguna cadena de claves del sistema disponible. | | streamer_mode | boolean | false | Ocultar los nombres de modelo de vista previa y los detalles de cuota (útiles al grabar). | | theme | "auto" | "dark" | "light" | "auto" | Tema de color de terminal. | | trusted_folders | string[] | [] | Carpetas con permisos de acceso a archivos concedidos previamente. | | update_terminal_title | boolean | true | Mostrar la intención actual en el título del terminal. |

Configuración del repositorio (.github/copilot/settings.json)

La configuración del repositorio se aplica a todos los usuarios que trabajan en el repositorio. Solo se admite un subconjunto de opciones de configuración en el nivel de repositorio. Las claves no admitidas se omiten.

KeyTipoComportamiento de fusiónDescripción
companyAnnouncementsstring[]Reemplazado: el repositorio tiene prioridadMensajes mostrados aleatoriamente durante el inicio.
enabledPluginsRecord<string, boolean>Combinado: el repositorio invalida al usuario para la misma clave.Instalación automática del complemento declarativo.
extraKnownMarketplacesRecord<string, {...}>Combinado: el repositorio invalida al usuario para la misma clave.Mercados de plugins disponibles en este repositorio.
marketplacesRecord<string, {...}>Combinado: el repositorio invalida al usuario para la misma clave.Mercados de complementos (en desuso: use extraKnownMarketplaces).

Configuración local (.github/copilot/settings.local.json)

Cree .github/copilot/settings.local.json en el repositorio para personalizaciones que no se deben guardar. Agregue este archivo a .gitignore.

El archivo de configuración local usa el mismo esquema que el archivo de configuración del repositorio (.github/copilot/settings.json) y tiene prioridad sobre él.

Referencia de enlaces

Los enlaces son comandos externos que se ejecutan en puntos de ciclo de vida específicos durante una sesión, lo que permite la automatización personalizada, los controles de seguridad y las integraciones. Los archivos de configuración de hook se cargan automáticamente desde .github/hooks/*.json de tu repositorio.

Formato de configuración de gancho

Los archivos de configuración de enlace usan el formato JSON con la versión 1.

Ganchos de comando

Los ganchos de comando ejecutan scripts de shell y son compatibles con todos los tipos de gancho.

{
  "version": 1,
  "hooks": {
    "preToolUse": [
      {
        "type": "command",
        "bash": "your-bash-command",
        "powershell": "your-powershell-command",
        "cwd": "optional/working/directory",
        "env": { "VAR": "value" },
        "timeoutSec": 30
      }
    ]
  }
}
CampoTipoObligatorioDescripción
type"command"Debe ser "command".
bashcuerda / cadenaUno de bash/powershellComando shell para Unix.
powershellcuerda / cadenaUno de bash/powershellComando shell para Windows.
cwdcuerda / cadenaNoDirectorio de trabajo para el comando (relativo a la raíz del repositorio o absoluto).
envobjetoNoVariables de entorno que se van a establecer (admite la expansión de variables).
timeoutSecnúmeroNoTiempo de espera en segundos. Predeterminado: 30.

Ganchos de activación

Los ganchos de solicitud envían automáticamente texto como si lo hubiera escrito el usuario. Solo se admiten en sessionStart y se ejecutan antes de que se pase cualquier mensaje inicial a través de --prompt. El texto puede ser un indicador de lenguaje natural o un comando de barra.

{
  "version": 1,
  "hooks": {
    "sessionStart": [
      {
        "type": "prompt",
        "prompt": "Your prompt text or /slash-command"
      }
    ]
  }
}
CampoTipoObligatorioDescripción
type"prompt"Debe ser "prompt".
promptcuerda / cadenaTexto que se va a enviar: puede ser un mensaje en lenguaje natural o un comando de barra.

Eventos de enlace

EventSe activa cuandoSalida procesada
sessionStartComienza una sesión nueva o reanudada.No
sessionEndLa sesión finaliza.No
userPromptSubmittedEl usuario envía una sugerencia.No
preToolUseAntes de que se ejecute cada herramienta.Sí: puede permitir, denegar o modificar.
postToolUseUna vez completada cada herramienta.No
agentStopEl agente principal finaliza un turno.Sí: puede bloquear y forzar la continuación.
subagentStopSe completa un subagente.Sí: puede bloquear y forzar la continuación.
errorOccurredSe produce un error durante la ejecución.No

          `preToolUse` control de decisión

El gancho preToolUse puede controlar la ejecución de la herramienta escribiendo un objeto JSON en la salida estándar (stdout).

CampoValoresDescripción
permissionDecision
          `"allow"`, , `"deny"`, `"ask"` | Si se ejecuta la herramienta. La salida vacía usa el comportamiento predeterminado. |

| permissionDecisionReason | cuerda / cadena | Motivo que se muestra al agente. Obligatorio cuando la decisión es "deny". | | modifiedArgs | objeto | Sustituya los argumentos de la herramienta para usar en lugar de los originales. |

          `agentStop`
           / 
          `subagentStop` control de decisión
CampoValoresDescripción
decision
          `"block"`, `"allow"` | 
          `"block"` obliga a otro agente a realizar un turno usando `reason` como solicitud. |

| reason | cuerda / cadena | Solicite el siguiente turno cuando decision sea "block". |

Nombres de herramientas para la coincidencia de ganchos

Nombre de la herramientaDescripción
bashEjecute comandos de shell (Unix).
powershellEjecute comandos de shell (Windows).
viewLeer el contenido del archivo.
editModifique el contenido del archivo.
createCree nuevos archivos.
globBuscar archivos por patrón.
grepBuscar contenido del archivo.
web_fetchCapturar páginas web.
taskEjecutar tareas de subagentes.

Si se configuran varios ganchos del mismo tipo, se ejecutan en orden. Para preToolUse, si algún gancho devuelve "deny", la herramienta se bloquea. Los errores de enlace (códigos de salida distintos de cero o tiempos de espera) se registran y omiten; nunca bloquean la ejecución del agente.

Configuración del servidor MCP

Los servidores MCP proporcionan herramientas adicionales al agente de la CLI. Configure servidores persistentes en ~/.copilot/mcp-config.json. Use --additional-mcp-config para agregar servidores para una sola sesión.

Tipos de transporte

TipoDescripciónCampos obligatorios
local / stdioProceso local que se comunica a través de stdin/stdout.
          `command`, `args` |

| http | Servidor remoto mediante transporte HTTP transmisible. | url | | sse | Servidor remoto utilizando el transporte de Server-Sent Events. | url |

Campos de configuración del servidor local

CampoObligatorioDescripción
commandComando para iniciar el servidor.
argsArgumentos de comando (array).
toolsHerramientas que se van a habilitar: ["*"] para todos o una lista de nombres de herramientas específicos.
envNoVariables de entorno. Admite $VAR, ${VAR} y ${VAR:-default} expansión.
cwdNoDirectorio de trabajo para el servidor.
timeoutNoTiempo de espera en milisegundos para la llamada a herramienta.
typeNo
          `"local"` o `"stdio"`. Predeterminado: `"local"`. |

Campos de configuración de servidor remoto

CampoObligatorioDescripción
type
          `"http"` o `"sse"`. |

| url | Sí | Dirección URL del servidor. | | tools | Sí | Herramientas para habilitar. | | headers | No | Encabezados HTTP. Admite la expansión de variables. | | oauthClientId | No | Identificador de cliente de OAuth estático (omite el registro dinámico). | | oauthPublicClient | No | Si el cliente de OAuth es público. Predeterminado: true. | | timeout | No | Tiempo de espera en milisegundos para la llamada a herramienta. |

Asignación de filtros

Controlar cómo se procesa la salida de la herramienta MCP mediante el filterMapping campo en la configuración de un servidor.

ModoDescripción
noneSin filtrado.
markdownDar formato a la salida como Markdown.
hidden_charactersQuite caracteres ocultos o de control. Predeterminado.

Servidores MCP integrados

La CLI incluye servidores MCP integrados que están disponibles sin configuración adicional.

ServidorDescripción
github-mcp-serverGitHub Integración de API: problemas, solicitudes de incorporación de cambios, confirmaciones, búsqueda de código y GitHub Actions.
playwrightAutomatización del explorador: navegue, haga clic, escriba, captura de pantalla y control de formularios.
fetchSolicitudes HTTP mediante la herramienta fetch.
timeUtilidades de tiempo: get_current_time y convert_time.

Use --disable-builtin-mcps para deshabilitar todos los servidores integrados o --disable-mcp-server SERVER-NAME para deshabilitar uno específico.

Niveles de confianza del servidor MCP

Los servidores MCP se cargan desde varios orígenes, cada uno con un nivel de confianza diferente.

FuenteNivel de confianzaRevisión necesaria
IntegradaAltoNo
Repositorio (.github/mcp.json)MedioRecomendado
Área de trabajo (.mcp.json, .vscode/mcp.json)MedioRecomendado
Contenedor de desarrollo (.devcontainer/devcontainer.json)MedioRecomendado
Configuración del usuario (~/.copilot/mcp-config.json)User-definedResponsabilidad del usuario
Servidores remotosLowSiempre

Todas las invocaciones de la herramienta MCP requieren permiso explícito. Esto se aplica incluso a las operaciones de solo lectura en servicios externos.

Referencia sobre aptitudes

Las aptitudes son archivos markdown que amplían lo que puede hacer la CLI. Cada aptitud reside en su propio directorio que contiene un SKILL.md archivo. Cuando se invoca (a través de /SKILL-NAME o automáticamente por el agente), el contenido de la habilidad se inserta en la conversación.

Campos de frontmatter de habilidades

CampoTipoObligatorioDescripción
namecuerda / cadenaIdentificador único de la aptitud. Solo letras, números y guiones. Máximo de 64 caracteres.
descriptioncuerda / cadenaQué hace la aptitud y cuándo usarla. Máximo de 1024 caracteres.
allowed-tools"string" o "string[]"NoLista separada por comas o matriz YAML de herramientas que se permiten automáticamente cuando la aptitud está activa. Utilice "*" para todas las herramientas.
user-invocablebooleanNoSi los usuarios pueden invocar la aptitud con /SKILL-NAME. Predeterminado: true.
disable-model-invocationbooleanNoImpedir que el agente invoque automáticamente esta aptitud. Predeterminado: false.

Ubicaciones de habilidades

Las habilidades se cargan desde estas ubicaciones en orden de prioridad (la primera encontrada prevalece sobre nombres duplicados).

UbicaciónÁmbitoDescripción
.github/skills/ProyectoAptitudes específicas del proyecto.
.agents/skills/ProyectoUbicación alternativa del proyecto.
.claude/skills/ProyectoUbicación compatible con Claude.
Padre .github/skills/InheritedCompatibilidad con directorios primarios de Monorepo.
~/.copilot/skills/PersonalHabilidades personales para todos los proyectos.
~/.claude/skills/PersonalUbicación personal compatible con Claude.
Directorios de complementosPluginAptitudes de complementos instalados.
COPILOT_SKILLS_DIRSPersonalizadaDirectorios adicionales (separados por comas).

Comandos (formato de habilidad alternativo)

Los comandos son una alternativa a las habilidades almacenadas como archivos individuales .md en .claude/commands/. El nombre del comando se deriva del nombre de archivo. Los archivos de comandos usan un formato simplificado (sin name campo necesario) y admiten description, allowed-toolsy disable-model-invocation. Los comandos tienen menor prioridad que las aptitudes con el mismo nombre.

Referencia de agentes personalizados

Los agentes personalizados son agentes de IA especializados definidos en archivos Markdown. El nombre de archivo (sin la extensión) se convierte en el identificador del agente. Use .agent.md o .md como extensión de archivo.

Agentes integrados

AgenteModelo predeterminadoDescripción
code-reviewclaude-sonnet-4.5Revisión de código con alta relación señal a ruido. Analiza diferencias en el código para detectar fallos, problemas de seguridad y errores lógicos.
exploreclaude-haiku-4.5Exploración rápida del código base. Busca archivos, lee código y responde preguntas. Devuelve respuestas centradas en menos de 300 palabras. Seguro para ejecutarse en paralelo.
general-purposeclaude-sonnet-4.5Agente de funcionalidad completa para tareas complejas de varios pasos. Se ejecuta en una ventana de contexto independiente.
researchclaude-sonnet-4.6Agente de investigación profundo. Genera un informe basado en la información de su código base, en repositorios pertinentes y en la web.
taskclaude-haiku-4.5Ejecución de comandos (pruebas, compilaciones, lints). Devuelve un breve resumen en caso de éxito y la salida completa en caso de fallo.

Campos de frontmatter del agente personalizado

CampoTipoObligatorioDescripción
descriptioncuerda / cadenaDescripción que se muestra en la lista del agente y en la herramienta task.
inferbooleanNoPermitir la delegación automática del agente principal. Predeterminado: true.
mcp-serversobjetoNoServidores MCP para conectarse. Usa el mismo esquema que ~/.copilot/mcp-config.json.
modelcuerda / cadenaNoModelo de IA para este agente. Cuando no se establece, hereda el modelo del agente externo.
namecuerda / cadenaNoNombre para mostrar. El valor predeterminado es el nombre de archivo.
toolsstring[]NoHerramientas disponibles para el agente. Valor predeterminado: ["*"] (todas las herramientas).

Ubicaciones de agente personalizadas

ÁmbitoUbicación
Proyecto
          `.github/agents/` o `.claude/agents/` |

| Usuario | ~/.copilot/agents/ o ~/.claude/agents/ | | Plugin | <plugin>/agents/ |

Los agentes de nivel de proyecto tienen prioridad sobre los agentes de nivel de usuario. Los agentes de complementos tienen la prioridad más baja.

Respuestas de aprobación de permisos

Cuando la CLI solicita permiso para ejecutar una operación, puede responder con las siguientes claves.

KeyEfecto
yPermitir esta solicitud específica una vez.
nDeniegue esta solicitud específica una vez.
!Permitir todas las solicitudes similares para el resto de la sesión.
#Deniegue todas las solicitudes similares para el resto de la sesión.
?Mostrar información detallada sobre la solicitud.

Las aprobaciones de sesión se restablecen al ejecutar /clear o iniciar una nueva sesión.

FlagNivelDescripción
AUTOPILOT_MODEexperimentalModo de operación autónoma.
BACKGROUND_AGENTSstaffEjecute agentes en segundo plano.
QUEUED_COMMANDSstaffCola de comandos mientras el agente está en ejecución.
LSP_TOOLSonHerramientas del protocolo del servidor de lenguaje (LSP).
PLAN_COMMANDonModo de planeamiento interactivo.
AGENTIC_MEMORYonMemoria persistente entre sesiones.
CUSTOM_AGENTSonDefiniciones de agente personalizadas.

Supervisión de OpenTelemetry

CLI de Copilot puede exportar seguimientos y métricas a través de OpenTelemetry (OTel), lo que proporciona visibilidad sobre las interacciones del agente, las llamadas LLM, las ejecuciones de herramientas y el uso de tokens. Todos los nombres y atributos de señal siguen las convenciones semánticas de OTel GenAI.

OTel está desactivado por defecto y no genera ninguna sobrecarga. Se activa cuando se cumple cualquiera de las condiciones siguientes:

  • COPILOT_OTEL_ENABLED=true
  •         `OTEL_EXPORTER_OTLP_ENDPOINT` está establecido
    
  •         `COPILOT_OTEL_FILE_EXPORTER_PATH` está establecido
    

Variables de entorno de OTel

VariablePredeterminadoDescripción
COPILOT_OTEL_ENABLEDfalseHabilite explícitamente OTel. No es necesario si OTEL_EXPORTER_OTLP_ENDPOINT está configurado.
OTEL_EXPORTER_OTLP_ENDPOINTDirección URL del punto de conexión de OTLP. Si se establece esta opción, se habilita automáticamente OTel.
COPILOT_OTEL_EXPORTER_TYPEotlp-httpTipo de exportador: otlp-http o file. Selecciona automáticamente file cuando COPILOT_OTEL_FILE_EXPORTER_PATH se establece.
OTEL_SERVICE_NAMEgithub-copilotNombre del servicio en los atributos de recursos.
OTEL_RESOURCE_ATTRIBUTESAtributos de recursos adicionales como pares separados por comas key=value . Utiliza la codificación de porcentaje para caracteres especiales.
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENTfalseCapturar el contenido completo del mensaje y de la respuesta. Consulte Captura de contenido.
OTEL_LOG_LEVELNivel de registro de diagnóstico de OTel: NONE, ERROR, WARN``INFO, DEBUG, , VERBOSE, ALL.
COPILOT_OTEL_FILE_EXPORTER_PATHEscriba todas las señales en este archivo como líneas JSON. Si se establece esta opción, se habilita automáticamente OTel.
COPILOT_OTEL_SOURCE_NAMEgithub.copilotNombre del ámbito de instrumentación para el rastreador y el medidor.
OTEL_EXPORTER_OTLP_HEADERSEncabezados de autenticación para el exportador de OTLP (por ejemplo, Authorization=Bearer token).

Huellas

El entorno de ejecución emite un árbol jerárquico de segmentos para cada interacción del agente. Cada árbol contiene un invoke_agent intervalo raíz, con chat intervalos secundarios y execute_tool .

          `invoke_agent` atributos de span

Envuelve la invocación completa del agente: todas las llamadas LLM y las ejecuciones de herramientas de un mensaje de usuario. Tipo de intervalo: CLIENT.

AtributoDescripción
gen_ai.operation.nameinvoke_agent
gen_ai.provider.nameProveedor (por ejemplo, github, anthropic)
gen_ai.agent.idIdentificador de sesión
gen_ai.agent.nameNombre del agente (solo subagentes)
gen_ai.agent.descriptionDescripción del agente (solo subagentes)
gen_ai.agent.versionVersión del entorno de ejecución
gen_ai.conversation.idIdentificador de sesión
gen_ai.request.modelModelo solicitado
gen_ai.response.modelModelo resuelto
gen_ai.response.idÚltimo identificador de respuesta
gen_ai.response.finish_reasons
          `["stop"]` o `["error"]` |

| gen_ai.usage.input_tokens | Total de tokens de entrada (todos los turnos) | | gen_ai.usage.output_tokens | Total de tokens de salida (todos los turnos) | | gen_ai.usage.cache_read.input_tokens | Lectura de tokens de entrada almacenados en caché | | gen_ai.usage.cache_creation.input_tokens | Tokens de entrada creados y almacenados en caché | | github.copilot.turn_count | Número de recorridos de ida y vuelta de LLM | | github.copilot.cost | Costo monetario | | github.copilot.aiu | Unidades de IA consumidas | | server.address | Nombre de host del servidor | | server.port | Puerto de servidor | | error.type | Nombre de clase de error (en caso de error) | | gen_ai.input.messages | Mensajes de entrada completos como JSON (solo captura de contenido) | | gen_ai.output.messages | Mensajes de salida completos como JSON (solo captura de contenido) | | gen_ai.system_instructions | Contenido del mensaje del sistema como JSON (captura solo de contenido) | | gen_ai.tool.definitions | Esquemas de herramientas como JSON (solo captura de contenido) |

          `chat` atributos de span

Un intervalo por solicitud LLM. Tipo de intervalo: CLIENT.

AtributoDescripción
gen_ai.operation.namechat
gen_ai.provider.nameNombre del proveedor
gen_ai.request.modelModelo solicitado
gen_ai.conversation.idIdentificador de sesión
gen_ai.response.idID de respuesta
gen_ai.response.modelModelo resuelto
gen_ai.response.finish_reasonsMotivos de detención
gen_ai.usage.input_tokensFichas de entrada en este turno
gen_ai.usage.output_tokensFichas de salida este turno
gen_ai.usage.cache_read.input_tokensLectura de tokens almacenados en caché
gen_ai.usage.cache_creation.input_tokensTokens creados y almacenados en caché
github.copilot.costCosto de turnos
github.copilot.aiuLas unidades de INTELIGENCIA ARTIFICIAL consumieron este turno
github.copilot.server_durationDuración del lado servidor
github.copilot.initiatorIniciador de solicitudes
github.copilot.turn_idIdentificador de turno
github.copilot.interaction_idIdentificador de interacción
server.addressNombre de host del servidor
server.portPuerto de servidor
error.typeNombre de clase de error (en caso de error)
gen_ai.input.messagesMensajes de solicitud completos como JSON (solo captura de contenido)
gen_ai.output.messagesMensajes de respuesta completos como JSON (solo captura de contenido)
gen_ai.system_instructionsContenido del mensaje del sistema como JSON (captura solo de contenido)

          `execute_tool` atributos de span

Un intervalo por llamada a herramienta. Tipo de intervalo: INTERNAL.

AtributoDescripción
gen_ai.operation.nameexecute_tool
gen_ai.provider.nameNombre del proveedor (cuando está disponible)
gen_ai.tool.nameNombre de la herramienta (por ejemplo, readFile)
gen_ai.tool.typefunction
gen_ai.tool.call.idIdentificador de llamada de herramienta
gen_ai.tool.descriptionDescripción de la herramienta
error.typeNombre de clase de error (en caso de error)
gen_ai.tool.call.argumentsArgumentos de entrada de herramientas como JSON (solo captura de contenido)
gen_ai.tool.call.resultSalida de la herramienta como JSON (solo captura de contenido)

Métricas

Métricas de convención de GenAI

MétricaTipoUnidadDescripción
gen_ai.client.operation.durationHistogramasDuración de la llamada a la API de LLM y de la invocación del agente
gen_ai.client.token.usageHistogramatokensRecuentos de tokens por tipo (input/output)
gen_ai.client.operation.time_to_first_chunkHistogramasHora de recibir el primer fragmento de streaming
gen_ai.client.operation.time_per_output_chunkHistogramasLatencia entre fragmentos después del primer fragmento

Métricas específicas del proveedor

MétricaTipoUnidadDescripción
github.copilot.tool.call.countContadorllamadasInvocaciones de herramientas por gen_ai.tool.name y success
github.copilot.tool.call.durationHistogramasLatencia de ejecución de herramientas por gen_ai.tool.name
github.copilot.agent.turn.countHistogramagirosRecorridos de ida y vuelta de LLM por cada invocación de agente

Eventos de intervalo

Eventos de ciclo de vida registrados en el span activo chat o invoke_agent.

EventDescripciónAtributos clave
github.copilot.session.truncationEl historial de conversaciones se ha truncado
          `github.copilot.token_limit`, `github.copilot.pre_tokens`, `github.copilot.post_tokens`, , `github.copilot.tokens_removed`, `github.copilot.messages_removed` |

| github.copilot.session.compaction_start | Se inició la compactación de historia | Ninguno | | github.copilot.session.compaction_complete | Compactación del historial completada | github.copilot.success, github.copilot.pre_tokens, github.copilot.post_tokens, , github.copilot.tokens_removed, github.copilot.messages_removed | | github.copilot.skill.invoked | Se invocó una habilidad | github.copilot.skill.name, github.copilot.skill.path, , github.copilot.skill.plugin_name, github.copilot.skill.plugin_version | | github.copilot.session.shutdown | La sesión se está cerrando | github.copilot.shutdown_type, github.copilot.total_premium_requests, github.copilot.lines_added, , github.copilot.lines_removed, github.copilot.files_modified_count | | github.copilot.session.abort | El usuario canceló la operación actual | github.copilot.abort_reason | | exception | Error de sesión | github.copilot.error_type, , github.copilot.error_status_code, github.copilot.error_provider_call_id |

Atributos del recurso

Todas las señales llevan estos atributos de recurso.

AtributoImportancia
service.name
          `github-copilot` (configurable a través de `OTEL_SERVICE_NAME`) |

| service.version | Versión del entorno de ejecución |

Captura de contenido

De forma predeterminada, no se captura ningún contenido de solicitud, respuestas o argumentos de herramienta, solo metadatos como nombres de modelo, recuentos de tokens y duraciones. Para capturar contenido completo, establezca OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true.

Advertencia

La captura de contenido puede incluir información confidencial, como el código, el contenido del archivo y las indicaciones del usuario. Habilite esto solo en entornos de confianza.

Cuando la captura de contenido está habilitada, se rellenan los atributos siguientes.

AtributoContenido
gen_ai.input.messagesMensajes de solicitud completos (JSON)
gen_ai.output.messagesMensajes de respuesta completos (JSON)
gen_ai.system_instructionsContenido del mensaje del sistema (JSON)
gen_ai.tool.definitionsEsquemas de herramientas (JSON)
gen_ai.tool.call.argumentsLos argumentos de entrada de la herramienta
gen_ai.tool.call.resultSalida de la herramienta

Lectura adicional

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-plugin-reference)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-programmatic-reference)