Comandos de la línea de comandos
| Comando | propósito |
|---|---|
copilot | Inicie la interfaz de usuario interactiva. |
copilot help [topic] | Mostrar información de ayuda. Los temas de ayuda incluyen: config, commands, environment, loggingy permissions. |
copilot init | Inicializar las instrucciones personalizadas de Copilot para este repositorio. |
copilot update | Descargue e instale la versión más reciente. |
copilot version | Mostrar información de versión y comprobar si hay actualizaciones. |
copilot login | Autentí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
| Shortcut | propósito |
|---|---|
@ FILENAME | Incluya 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
| Shortcut | propósito |
|---|---|
| ctrl+o | Aunque 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+E | Aunque no hay nada en la entrada del mensaje, esto expande todos los elementos en la línea de tiempo de respuesta de Copilot. |
| ctrl+t | Expandir o contraer la visualización del razonamiento en las respuestas. |
Accesos directos de navegación en la interfaz interactiva
| Shortcut | propó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
| Comando | propósito |
|---|---|
/add-dir PATH | Agregue un directorio a la lista de permitidos para el acceso a archivos. |
/agent | Examine 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ón | propósito |
|---|---|
--acp | Inicie el servidor del Protocolo de Cliente del Agente. |
--add-dir=PATH | Agregue un directorio a la lista de permitidos para el acceso a archivos (se puede usar varias veces). |
--add-github-mcp-tool=TOOL | Agregue 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=TOOLSET | Agregue 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=JSON | Agregue 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=AGENT | Especifique un agente personalizado que se va a usar. |
--allow-all | Habilite todos los permisos (equivalentes a --allow-all-tools --allow-all-paths --allow-all-urls). |
--allow-all-paths | Deshabilite la comprobación de la ruta de acceso del archivo y permita el acceso a cualquier ruta de acceso. |
--allow-all-tools | Permitir 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-urls | Permitir 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=VALUE | Use el búfer de pantalla alternativo del terminal (on o off). |
--autopilot | Habilite 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. |
--banner | Muestra el banner de inicio. |
--bash-env | Habilitar la BASH_ENV compatibilidad con las shells Bash. |
--config-dir=PATH | Establezca el directorio de configuración (valor predeterminado: ~/.copilot). |
--continue | Reanude 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-mcps | Deshabilite todos los servidores MCP integrados (actualmente: github-mcp-server). |
--disable-mcp-server=SERVER-NAME | Deshabilite un servidor MCP específico (se puede usar varias veces). |
--disable-parallel-tools-execution | Deshabilite la ejecución en paralelo de las herramientas (LLM todavía puede realizar llamadas a herramientas paralelas, pero se ejecutarán secuencialmente). |
--disallow-temp-dir | Impedir el acceso automático al directorio temporal del sistema. |
--enable-all-github-mcp-tools | Habilite 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. |
--experimental | Habilite 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.
| Kind | Descripción | Patrones de ejemplo |
|---|---|---|
shell | Ejecució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
| Variable | Descripción |
|---|---|
COPILOT_MODEL | Establezca el modelo de IA. |
COPILOT_ALLOW_ALL | Establézcalo en true para permitir todos los permisos automáticamente (equivalente a --allow-all). |
COPILOT_AUTO_UPDATE | Establézcalo en false para deshabilitar las actualizaciones automáticas. |
COPILOT_CUSTOM_INSTRUCTIONS_DIRS | Lista separada por comas de directorios adicionales para obtener instrucciones personalizadas. |
COPILOT_SKILLS_DIRS | Lista de directorios adicionales separada por comas para habilidades. |
COPILOT_EDITOR | Comando 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_TOKEN | Token de autenticación. Tiene prioridad sobre GH_TOKEN y GITHUB_TOKEN. |
COPILOT_HOME | Invalide la configuración y el directorio de estado. Predeterminado: $HOME/.copilot. |
GH_TOKEN | Token de autenticación. Tiene prioridad sobre GITHUB_TOKEN. |
GITHUB_TOKEN | Token de autenticación. |
USE_BUILTIN_RIPGREP | Establézcalo en false para usar el ripgrep del sistema en lugar de la versión incluida. |
PLAIN_DIFF | Establézcalo en true para deshabilitar la representación de diferencias enriquecidas. |
COLORFGBG | Solución alternativa para la detección de fondo oscuro/claro del terminal. |
COPILOT_CLI_ENABLED_FEATURE_FLAGS | Lista 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.
| Ámbito | Ubicación | propósito |
|---|---|---|
| Usuario | ~/.copilot/config.json | Valores predeterminados globales para todos los repositorios. Use la variable de COPILOT_HOME entorno para especificar una ruta de acceso alternativa. |
| Repositorio | .github/copilot/settings.json | Configuración del repositorio compartido (registrada en el repositorio). |
| Local | .github/copilot/settings.local.json | Excepciones personales (agregue esto a .gitignore). |
Configuración del usuario (~/.copilot/config.json)
| Key | Tipo | Predeterminado | Descripción |
|---|---|---|---|
allowed_urls | string[] | [] | Direcciones URL o dominios permitidos sin preguntar. |
alt_screen | boolean | false | Use el búfer de pantalla alternativo del terminal. |
auto_update | boolean | true | Descargue 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.
| Key | Tipo | Comportamiento de fusión | Descripción |
|---|---|---|---|
companyAnnouncements | string[] | Reemplazado: el repositorio tiene prioridad | Mensajes mostrados aleatoriamente durante el inicio. |
enabledPlugins | Record<string, boolean> | Combinado: el repositorio invalida al usuario para la misma clave. | Instalación automática del complemento declarativo. |
extraKnownMarketplaces | Record<string, {...}> | Combinado: el repositorio invalida al usuario para la misma clave. | Mercados de plugins disponibles en este repositorio. |
marketplaces | Record<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
}
]
}
}
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
type | "command" | Sí | Debe ser "command". |
bash | cuerda / cadena | Uno de bash/powershell | Comando shell para Unix. |
powershell | cuerda / cadena | Uno de bash/powershell | Comando shell para Windows. |
cwd | cuerda / cadena | No | Directorio de trabajo para el comando (relativo a la raíz del repositorio o absoluto). |
env | objeto | No | Variables de entorno que se van a establecer (admite la expansión de variables). |
timeoutSec | número | No | Tiempo 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"
}
]
}
}
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
type | "prompt" | Sí | Debe ser "prompt". |
prompt | cuerda / cadena | Sí | Texto que se va a enviar: puede ser un mensaje en lenguaje natural o un comando de barra. |
Eventos de enlace
| Event | Se activa cuando | Salida procesada |
|---|---|---|
sessionStart | Comienza una sesión nueva o reanudada. | No |
sessionEnd | La sesión finaliza. | No |
userPromptSubmitted | El usuario envía una sugerencia. | No |
preToolUse | Antes de que se ejecute cada herramienta. | Sí: puede permitir, denegar o modificar. |
postToolUse | Una vez completada cada herramienta. | No |
agentStop | El agente principal finaliza un turno. | Sí: puede bloquear y forzar la continuación. |
subagentStop | Se completa un subagente. | Sí: puede bloquear y forzar la continuación. |
errorOccurred | Se 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).
| Campo | Valores | Descripció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
| Campo | Valores | Descripció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 herramienta | Descripción |
|---|---|
bash | Ejecute comandos de shell (Unix). |
powershell | Ejecute comandos de shell (Windows). |
view | Leer el contenido del archivo. |
edit | Modifique el contenido del archivo. |
create | Cree nuevos archivos. |
glob | Buscar archivos por patrón. |
grep | Buscar contenido del archivo. |
web_fetch | Capturar páginas web. |
task | Ejecutar 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
| Tipo | Descripción | Campos obligatorios |
|---|---|---|
local / stdio | Proceso 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
| Campo | Obligatorio | Descripción |
|---|---|---|
command | Sí | Comando para iniciar el servidor. |
args | Sí | Argumentos de comando (array). |
tools | Sí | Herramientas que se van a habilitar: ["*"] para todos o una lista de nombres de herramientas específicos. |
env | No | Variables de entorno. Admite $VAR, ${VAR} y ${VAR:-default} expansión. |
cwd | No | Directorio de trabajo para el servidor. |
timeout | No | Tiempo de espera en milisegundos para la llamada a herramienta. |
type | No |
`"local"` o `"stdio"`. Predeterminado: `"local"`. |
Campos de configuración de servidor remoto
| Campo | Obligatorio | Descripción |
|---|---|---|
type | Sí |
`"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.
| Modo | Descripción |
|---|---|
none | Sin filtrado. |
markdown | Dar formato a la salida como Markdown. |
hidden_characters | Quite caracteres ocultos o de control. Predeterminado. |
Servidores MCP integrados
La CLI incluye servidores MCP integrados que están disponibles sin configuración adicional.
| Servidor | Descripción |
|---|---|
github-mcp-server | GitHub Integración de API: problemas, solicitudes de incorporación de cambios, confirmaciones, búsqueda de código y GitHub Actions. |
playwright | Automatización del explorador: navegue, haga clic, escriba, captura de pantalla y control de formularios. |
fetch | Solicitudes HTTP mediante la herramienta fetch. |
time | Utilidades 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.
| Fuente | Nivel de confianza | Revisión necesaria |
|---|---|---|
| Integrada | Alto | No |
Repositorio (.github/mcp.json) | Medio | Recomendado |
Área de trabajo (.mcp.json, .vscode/mcp.json) | Medio | Recomendado |
Contenedor de desarrollo (.devcontainer/devcontainer.json) | Medio | Recomendado |
Configuración del usuario (~/.copilot/mcp-config.json) | User-defined | Responsabilidad del usuario |
| Servidores remotos | Low | Siempre |
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
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
name | cuerda / cadena | Sí | Identificador único de la aptitud. Solo letras, números y guiones. Máximo de 64 caracteres. |
description | cuerda / cadena | Sí | Qué hace la aptitud y cuándo usarla. Máximo de 1024 caracteres. |
allowed-tools | "string" o "string[]" | No | Lista separada por comas o matriz YAML de herramientas que se permiten automáticamente cuando la aptitud está activa. Utilice "*" para todas las herramientas. |
user-invocable | boolean | No | Si los usuarios pueden invocar la aptitud con /SKILL-NAME. Predeterminado: true. |
disable-model-invocation | boolean | No | Impedir 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 | Ámbito | Descripción |
|---|---|---|
.github/skills/ | Proyecto | Aptitudes específicas del proyecto. |
.agents/skills/ | Proyecto | Ubicación alternativa del proyecto. |
.claude/skills/ | Proyecto | Ubicación compatible con Claude. |
Padre .github/skills/ | Inherited | Compatibilidad con directorios primarios de Monorepo. |
~/.copilot/skills/ | Personal | Habilidades personales para todos los proyectos. |
~/.claude/skills/ | Personal | Ubicación personal compatible con Claude. |
| Directorios de complementos | Plugin | Aptitudes de complementos instalados. |
COPILOT_SKILLS_DIRS | Personalizada | Directorios 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
| Agente | Modelo predeterminado | Descripción |
|---|---|---|
code-review | claude-sonnet-4.5 | Revisió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. |
explore | claude-haiku-4.5 | Exploració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-purpose | claude-sonnet-4.5 | Agente de funcionalidad completa para tareas complejas de varios pasos. Se ejecuta en una ventana de contexto independiente. |
research | claude-sonnet-4.6 | Agente de investigación profundo. Genera un informe basado en la información de su código base, en repositorios pertinentes y en la web. |
task | claude-haiku-4.5 | Ejecució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
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
description | cuerda / cadena | Sí | Descripción que se muestra en la lista del agente y en la herramienta task. |
infer | boolean | No | Permitir la delegación automática del agente principal. Predeterminado: true. |
mcp-servers | objeto | No | Servidores MCP para conectarse. Usa el mismo esquema que ~/.copilot/mcp-config.json. |
model | cuerda / cadena | No | Modelo de IA para este agente. Cuando no se establece, hereda el modelo del agente externo. |
name | cuerda / cadena | No | Nombre para mostrar. El valor predeterminado es el nombre de archivo. |
tools | string[] | No | Herramientas disponibles para el agente. Valor predeterminado: ["*"] (todas las herramientas). |
Ubicaciones de agente personalizadas
| Ámbito | Ubicació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.
| Key | Efecto |
|---|---|
y | Permitir esta solicitud específica una vez. |
n | Deniegue 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.
| Flag | Nivel | Descripción |
|---|---|---|
AUTOPILOT_MODE | experimental | Modo de operación autónoma. |
BACKGROUND_AGENTS | staff | Ejecute agentes en segundo plano. |
QUEUED_COMMANDS | staff | Cola de comandos mientras el agente está en ejecución. |
LSP_TOOLS | on | Herramientas del protocolo del servidor de lenguaje (LSP). |
PLAN_COMMAND | on | Modo de planeamiento interactivo. |
AGENTIC_MEMORY | on | Memoria persistente entre sesiones. |
CUSTOM_AGENTS | on | Definiciones 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
| Variable | Predeterminado | Descripción |
|---|---|---|
COPILOT_OTEL_ENABLED | false | Habilite explícitamente OTel. No es necesario si OTEL_EXPORTER_OTLP_ENDPOINT está configurado. |
OTEL_EXPORTER_OTLP_ENDPOINT | — | Dirección URL del punto de conexión de OTLP. Si se establece esta opción, se habilita automáticamente OTel. |
COPILOT_OTEL_EXPORTER_TYPE | otlp-http | Tipo de exportador: otlp-http o file. Selecciona automáticamente file cuando COPILOT_OTEL_FILE_EXPORTER_PATH se establece. |
OTEL_SERVICE_NAME | github-copilot | Nombre del servicio en los atributos de recursos. |
OTEL_RESOURCE_ATTRIBUTES | — | Atributos de recursos adicionales como pares separados por comas key=value . Utiliza la codificación de porcentaje para caracteres especiales. |
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT | false | Capturar el contenido completo del mensaje y de la respuesta. Consulte Captura de contenido. |
OTEL_LOG_LEVEL | — | Nivel de registro de diagnóstico de OTel: NONE, ERROR, WARN``INFO, DEBUG, , VERBOSE, ALL. |
COPILOT_OTEL_FILE_EXPORTER_PATH | — | Escriba 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_NAME | github.copilot | Nombre del ámbito de instrumentación para el rastreador y el medidor. |
OTEL_EXPORTER_OTLP_HEADERS | — | Encabezados 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.
| Atributo | Descripción |
|---|---|
gen_ai.operation.name | invoke_agent |
gen_ai.provider.name | Proveedor (por ejemplo, github, anthropic) |
gen_ai.agent.id | Identificador de sesión |
gen_ai.agent.name | Nombre del agente (solo subagentes) |
gen_ai.agent.description | Descripción del agente (solo subagentes) |
gen_ai.agent.version | Versión del entorno de ejecución |
gen_ai.conversation.id | Identificador de sesión |
gen_ai.request.model | Modelo solicitado |
gen_ai.response.model | Modelo 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.
| Atributo | Descripción |
|---|---|
gen_ai.operation.name | chat |
gen_ai.provider.name | Nombre del proveedor |
gen_ai.request.model | Modelo solicitado |
gen_ai.conversation.id | Identificador de sesión |
gen_ai.response.id | ID de respuesta |
gen_ai.response.model | Modelo resuelto |
gen_ai.response.finish_reasons | Motivos de detención |
gen_ai.usage.input_tokens | Fichas de entrada en este turno |
gen_ai.usage.output_tokens | Fichas de salida este turno |
gen_ai.usage.cache_read.input_tokens | Lectura de tokens almacenados en caché |
gen_ai.usage.cache_creation.input_tokens | Tokens creados y almacenados en caché |
github.copilot.cost | Costo de turnos |
github.copilot.aiu | Las unidades de INTELIGENCIA ARTIFICIAL consumieron este turno |
github.copilot.server_duration | Duración del lado servidor |
github.copilot.initiator | Iniciador de solicitudes |
github.copilot.turn_id | Identificador de turno |
github.copilot.interaction_id | Identificador de interacción |
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 solicitud completos como JSON (solo captura de contenido) |
gen_ai.output.messages | Mensajes de respuesta completos como JSON (solo captura de contenido) |
gen_ai.system_instructions | Contenido 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.
| Atributo | Descripción |
|---|---|
gen_ai.operation.name | execute_tool |
gen_ai.provider.name | Nombre del proveedor (cuando está disponible) |
gen_ai.tool.name | Nombre de la herramienta (por ejemplo, readFile) |
gen_ai.tool.type | function |
gen_ai.tool.call.id | Identificador de llamada de herramienta |
gen_ai.tool.description | Descripción de la herramienta |
error.type | Nombre de clase de error (en caso de error) |
gen_ai.tool.call.arguments | Argumentos de entrada de herramientas como JSON (solo captura de contenido) |
gen_ai.tool.call.result | Salida de la herramienta como JSON (solo captura de contenido) |
Métricas
Métricas de convención de GenAI
| Métrica | Tipo | Unidad | Descripción |
|---|---|---|---|
gen_ai.client.operation.duration | Histograma | s | Duración de la llamada a la API de LLM y de la invocación del agente |
gen_ai.client.token.usage | Histograma | tokens | Recuentos de tokens por tipo (input/output) |
gen_ai.client.operation.time_to_first_chunk | Histograma | s | Hora de recibir el primer fragmento de streaming |
gen_ai.client.operation.time_per_output_chunk | Histograma | s | Latencia entre fragmentos después del primer fragmento |
Métricas específicas del proveedor
| Métrica | Tipo | Unidad | Descripción |
|---|---|---|---|
github.copilot.tool.call.count | Contador | llamadas | Invocaciones de herramientas por gen_ai.tool.name y success |
github.copilot.tool.call.duration | Histograma | s | Latencia de ejecución de herramientas por gen_ai.tool.name |
github.copilot.agent.turn.count | Histograma | giros | Recorridos 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.
| Event | Descripción | Atributos clave |
|---|---|---|
github.copilot.session.truncation | El 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.
| Atributo | Importancia |
|---|---|
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.
| Atributo | Contenido |
|---|---|
gen_ai.input.messages | Mensajes de solicitud completos (JSON) |
gen_ai.output.messages | Mensajes de respuesta completos (JSON) |
gen_ai.system_instructions | Contenido del mensaje del sistema (JSON) |
gen_ai.tool.definitions | Esquemas de herramientas (JSON) |
gen_ai.tool.call.arguments | Los argumentos de entrada de la herramienta |
gen_ai.tool.call.result | Salida 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)