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, logging, permissions, y providers. |
copilot init | Inicialice 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 para especificar la dirección URL del GitHub host (valor predeterminado: `https://github.com`). |
| copilot logout |
GitHub Cierre la sesión 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 su 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 escala de tiempo en la interfaz interactiva
| Shortcut | propósito |
|---|---|
| ctrl+o | Si bien no hay nada en la entrada de la solicitud, expande los elementos recientes en la línea de tiempo de respuesta de Copilot para mostrar más detalles. |
| Ctrl+E | Si bien no hay nada en la entrada del mensaje, 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). |
| /changelog [SUMMARIZE] [VERSION] | Muestra el registro de cambios de la CLI con un resumen generado opcionalmente por IA. |
|
/clear [PROMPT], /new [PROMPT] | Inicie una nueva conversación. |
| /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. |
| /copy | Copie la última respuesta en el Portapapeles. |
|
/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\|show] | Alternar, establecer o mostrar funciones 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 instrucciones personalizadas y características de agente de Copilot para este repositorio. |
| /instructions | Ver y activar o desactivar archivos de instrucciones personalizadas. |
| /list-dirs | Muestra todos los directorios para los que se ha permitido el acceso a archivos. |
| /login | Inicie sesión en Copilot. |
| /logout | Cierre 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\|auth\|reload] [SERVER-NAME] | Administrar la configuración del servidor MCP. |
|
/model, /models [MODEL] | Seleccione el modelo de IA que desea usar. |
|
/on-air, /streamer-mode | Alternar el modo streamer (oculta los nombres de modelo en la vista previa). |
| /plan [PROMPT] | Cree un plan de implementación antes de codificar. |
| /plugin [marketplace\|install\|uninstall\|update\|list] [ARGS...] | Administrar complementos y mercados de complementos. |
| /pr [view\|create\|fix\|auto] | Gestiona las solicitudes de incorporación de cambios para la rama actual. |
| /rename [NAME] | Cambie el nombre de la sesión actual (genera automáticamente un nombre si se omite; alias para /session rename). |
| /reset-allowed-tools | Restablezca la lista de herramientas permitidas. |
| /restart | Reinicie la CLI, conservando la sesión actual. |
| /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] [session\|research] [PATH] | Comparta la sesión en un archivo Markdown o GitHub gist. |
| /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. |
|
/undo, /rewind | Rebobinar el último turno y revertir los cambios de archivo. |
| /user [show\|list\|switch] | Administrar al 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 para el GitHub servidor MCP, en lugar del subconjunto predeterminado de la CLI (se puede usar varias veces). Utilice * para todas las herramientas. |
--add-github-mcp-toolset=TOOLSET | Agregue un conjunto de herramientas para habilitar para el 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. |
--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. |
`--effort=LEVEL`, `--reasoning-effort=LEVEL` | Establezca el nivel de esfuerzo de razonamiento (`low`, `medium`, `high`). |
| --enable-all-github-mcp-tools | Habilite todas las GitHub herramientas del servidor MCP, en lugar del subconjunto predeterminado de la CLI. Invalida las opciones --add-github-mcp-toolset y --add-github-mcp-tool. |
| --enable-reasoning-summaries | Solicite resúmenes de razonamiento para modelos openAI que lo admitan. |
| --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. |
| --mouse[=VALUE] | Habilite la compatibilidad con el mouse en el modo de pantalla alternativo. VALUE puede ser on (valor predeterminado) o off. Cuando está habilitada, la CLI captura los eventos del mouse en el modo de pantalla alt: rueda de desplazamiento, clics, etc. Cuando está deshabilitado, se conserva el comportamiento nativo del mouse del terminal. Una vez establecida la configuración, se conserva escribiéndola en su archivo de configuración.|
| --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 | Deshabilite la compatibilidad de BASH_ENV 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. |
| --no-mouse | Desactive el soporte para el ratón. |
| --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 | Deshabilitar la representación de diferencias enriquecidas (resaltado de sintaxis mediante la herramienta de diferencias especificada por la configuración de Git). |
| --plugin-dir=DIRECTORY | Cargue un complemento desde un directorio local (se puede usar varias veces). |
| --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 ... | Redacte una variable de entorno desde entornos de servidor de shell y MCP (se pueden usar varias veces). Para varias variables, use una lista entrecomillada y separada por comas. Los valores de las variables de entorno GITHUB_TOKEN y COPILOT_GITHUB_TOKEN se eliminan de la salida de manera 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 con un gist GitHub de secreto después de la finalización de una sesión mediante programación. |
| --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.
Valores de disponibilidad de herramientas
Las --available-tools opciones y --excluded-tools admiten los siguientes valores para especificar herramientas:
Herramientas de Shell
| Nombre de la herramienta | Descripción |
|---|---|
bash / powershell | Ejecutar comandos |
read_bash / read_powershell | Lectura de la salida de una sesión de shell |
write_bash / write_powershell | Enviar entrada a una sesión de shell |
stop_bash / stop_powershell | Finalizar una sesión de shell |
list_bash / list_powershell | Enumerar sesiones de shell activas |
Herramientas de operación de archivos
| Nombre de la herramienta | Descripción |
|---|---|
view | Leer archivos o directorios |
create | Crear nuevos archivos |
edit | Edición de archivos mediante reemplazo de cadenas |
apply_patch | Aplicar parches (que algunos modelos utilizan en lugar de edit/create) |
Herramientas de delegación de agentes y tareas
| Nombre de la herramienta | Descripción |
|---|---|
task | Ejecutar subagentes |
read_agent | Comprobar el estado del agente en segundo plano |
list_agents | Enumerar agentes disponibles |
Otras herramientas
| Nombre de la herramienta | Descripción |
|---|
`grep` (o `rg`) | Buscar texto en archivos |
| glob | Buscar patrones de coincidencia de archivos |
| web_fetch | Capturar y analizar contenido web |
| skill | Invocación de aptitudes personalizadas |
| ask_user | Formular una pregunta al usuario |
| report_intent | Informe de lo que planea hacer el agente |
| show_file | Mostrar un archivo de forma destacada |
| fetch_copilot_cli_documentation | Consulta la documentación de la CLI |
| update_todo | Actualizar lista de comprobación de tareas |
| store_memory | Mantener datos entre sesiones |
| task_complete | Se ha completado la tarea de señalización (solo Autopilot) |
| exit_plan_mode | Modo de plan de salida |
| sql | Consulta de datos de sesión (experimental) |
| lsp | Refactorización del servidor de lenguaje (experimental) |
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. |
COPILOT_CACHE_HOME | Invalide el directorio de caché (que se usa para cachés de Marketplace, paquetes de actualización automática y otros datos efímeros). Consulte directorio de configuración de la CLI de GitHub Copilot para conocer los valores predeterminados de la plataforma. |
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. |
autoUpdate | boolean | true | Descargue automáticamente las actualizaciones de la CLI. |
banner |
`"always"`
\|
`"once"`
\|
`"never"`
| `"once"` | Frecuencia de visualización de banner animado. |
| bashEnv | boolean | false | Habilitar la BASH_ENV compatibilidad con las shells Bash. |
| beep | boolean | true | Reproduce un pitido audible cuando se requiere atención. |
| compactPaste | boolean | true | Contraiga grandes elementos 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. |
| includeCoAuthoredBy | boolean | true | Agregue un finalizador Co-authored-by a las confirmaciones de Git realizadas por el agente. |
| companyAnnouncements | string[] | [] | Mensajes personalizados mostrados aleatoriamente durante el inicio. |
| logLevel |
"none"
|
"error"
|
"warning"
|
"info"
|
"debug"
|
"all"
|
"default"
| "default" | Nivel de detalle de registro. |
| model | string | Varía | Modelo de IA que se va a usar (consulte el /model comando ). |
| powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | Marcas pasadas a PowerShell (pwsh) en el inicio. Solo Windows. |
| effortLevel | string | "medium" | Nivel de esfuerzo de razonamiento para el pensamiento extendido (por ejemplo, "low", "medium", "high", "xhigh"). Los niveles superiores usan más recursos de computación. |
| renderMarkdown | boolean | true | Representar Markdown en la salida del terminal. |
| screenReader | boolean | false | Habilite las optimizaciones del lector de pantalla. |
| stream | boolean | true | Habilite las respuestas de streaming. |
| storeTokenPlaintext | boolean | false | Almacene tokens de autenticación en texto sin formato en el archivo de configuración cuando no haya ninguna cadena de claves del sistema disponible. |
| streamerMode | boolean | false | Ocultar los nombres de modelo de vista previa y los detalles de cuota (útiles al mostrar CLI de Copilot). |
| theme |
"auto"
|
"dark"
|
"light"
| "auto" | Tema de color de terminal. |
| trusted_folders | string[] | [] | Carpetas con permisos de acceso a archivos concedidos previamente. |
| mouse | boolean | true | Habilite la compatibilidad con el mouse en el modo de pantalla alternativo. |
| respectGitignore | boolean | true | Excluya los archivos gitignored del @ selector de archivos. |
| disableAllHooks | boolean | false | Deshabilite todos los ganchos. |
| hooks | object | — | Definiciones de enlace de nivel de usuario en línea. |
| updateTerminalTitle | 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. |
Configuración local (.github/copilot/settings.local.json)
Cree .github/copilot/settings.local.json en el repositorio, para anulaciones personales que no se deben confirmar. 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 expiración en segundos. Predeterminado: 30. |
Enlaces de solicitudes
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 una solicitud en 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 que cada herramienta haya completado su tarea correctamente. | Sí: puede reemplazar el resultado exitoso (solo hooks programáticos del SDK). |
postToolUseFailure | Después de que una herramienta finalice con un error. | Sí — puede proporcionar instrucciones de recuperación a través de additionalContext (código 2 de salida para ganchos de comandos). |
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. |
subagentStart | Se genera un subagente (antes de que se ejecute). Devuelve additionalContext antepuesto al mensaje del subagente. Admite matcher para filtrar por nombre del agente. | No: no se puede bloquear la creación. |
preCompact | La compactación de contexto está a punto de comenzar (manual o automática). Admite matcher para filtrar por desencadenador ("manual" o "auto"). | No: solo notificación. |
permissionRequest | Antes de mostrar un cuadro de diálogo de permisos al usuario, después de que las comprobaciones basadas en reglas no encuentren ninguna regla de permiso o denegación coincidente. Admite matcher regex en toolName. | Sí: puede permitir o denegar mediante programación. |
errorOccurred | Se produce un error durante la ejecución. | No |
notification | Se desencadena de forma asincrónica cuando la CLI emite una notificación del sistema (finalización del shell, finalización del agente o inactividad, notificaciones de permisos, diálogos de solicitud). Fire-and-forget: nunca bloquea la sesión. Admite matcher regex en notification_type. | Opcional: puede insertar additionalContext en la sesión. |
`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 usarlos 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". |
`permissionRequest` control de decisión
El permissionRequest gancho se activa cuando se va a mostrar un cuadro de diálogo de permisos de nivel de herramienta. Se activa después de que las comprobaciones de permisiones basadas en reglas no encuentran ninguna regla de permisión o denegación coincidente. Úselo para aprobar o denegar llamadas a herramientas mediante programación, especialmente útiles en el modo de canalización (-p) y entornos de CI en los que no haya ninguna solicitud interactiva disponible.
**Comparador:** Expresión regular opcional probada en `toolName`. Cuando se establece, el gancho se activa solo para los nombres de herramientas coincidentes.
Genera JSON en stdout para controlar la decisión de permisos:
| Campo | Valores | Descripción |
|---|---|---|
behavior |
`"allow"`, `"deny"` | Aprobar o denegar la llamada a la herramienta. |
| message | cuerda / cadena | Motivo comunicado al LLM cuando se rechaza. |
| interrupt | boolean | Cuando true se combina con "deny", detiene completamente el agente. |
Devuelve una salida vacía o {} para pasar al comportamiento predeterminado (mostrar el cuadro de diálogo al usuario o denegar en modo de canalización). El código 2 de salida se trata como denegación; si el enlace también genera JSON en stdout, esos campos se combinan con la decisión de denegación.
`notification` gancho
El notification gancho se dispara de forma asincrónica cuando la CLI emite una notificación de sistema. Estos enlaces se activan y olvidan: nunca bloquean la sesión y se registran y omiten los errores.
**Entrada:**
{
sessionId: string;
timestamp: number;
cwd: string;
hook_event_name: "Notification";
message: string; // Human-readable notification text
title?: string; // Short title (e.g., "Permission needed", "Shell completed")
notification_type: string; // One of the types listed below
}
**Tipos de notificación:**
| Tipo | Cuando se activa |
|---|---|
shell_completed | Un comando de shell en segundo plano (asincrónico) ha finalizado. |
shell_detached_completed | Se completa una sesión de shell desconectada |
agent_completed | Un subagente en segundo plano finaliza (completado o con errores) |
agent_idle | Un agente en segundo plano finaliza un turno y entra en estado inactivo (esperando write_agent) |
permission_prompt | El agente solicita permiso para ejecutar una herramienta. |
elicitation_dialog | El agente solicita información adicional del usuario. |
**Salida:**
{
additionalContext?: string; // Injected into the session as a user message
}
Si additionalContext se devuelve, el texto se inserta en la sesión como mensaje de usuario antepuesto. Esto puede desencadenar el procesamiento adicional del agente si la sesión está inactiva. Devuelve {} o una salida vacía para no realizar ninguna acción.
**Buscador de coincidencias:** Regex opcional en `notification_type`. El patrón está anclado como `^(?:pattern)$`.
`matcher` Omitir para recibir todos los tipos de notificación.
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. En postToolUseFailure el caso de los enlaces de comandos, salir con código 2 hace que stderr se devuelva como guía de recuperación para el asistente. 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 mediante transporte de eventos enviados por el servidor. | url |
Campos de configuración del servidor local
| Campo | Obligatorio | Descripción |
|---|---|---|
command | Sí | Comando para iniciar el servidor. |
args | Sí | Argumentos de comando (matriz). |
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. |
| oidc | No | Habilite la inserción de tokens OIDC. Cuando true, inserta una GITHUB_COPILOT_OIDC_MCP_TOKEN variable de entorno (servidores locales) o un Bearer``Authorization encabezado (servidores remotos). |
| timeout | No | Tiempo de espera en milisegundos para la llamada a herramienta. |
Re-autenticación de OAuth
Los servidores MCP remotos que usan OAuth pueden mostrar un needs-auth estado cuando un token expira o cuando se requiere una cuenta diferente. Use /mcp auth <server-name> para desencadenar un flujo de OAuth nuevo. Se abre un mensaje de autenticación del explorador, lo que le permite iniciar sesión o cambiar de cuenta. Después de completar el flujo, el servidor se vuelve a conectar automáticamente.
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 |
|---|---|---|
| Integrado | 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 texto preliminar de aptitudes
| 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 | Competencias 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 un repositorio. |
~/.copilot/skills/ | Personal | Habilidades personales para todos los proyectos. |
~/.agents/skills/ | Personal | Habilidades del agente compartidas en 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). |
| (agrupado con la CLI) | Integrado | Funcionalidades incluidas con la CLI. Prioridad más baja: invalidable por cualquier otro origen. |
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. |
critic | modelo complementario | Comentarios adversarios sobre propuestas, diseños e implementaciones. Identifica puntos débiles y sugiere mejoras. Experimental: requiere --experimental. |
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 a 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.
Supervisión de OpenTelemetry
CLI de Copilot puede exportar seguimientos y métricas a través [de OpenTelemetry](https://opentelemetry.io/) (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](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/gen-ai/).
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 intervalo raíz invoke_agent, con intervalos secundarios chat 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.
-
**Las sesiones de nivel superior** usan el tipo de traza `CLIENT` (invocación de servicio remoto) con `server.address` y `server.port`. -
**Las invocaciones de subagentes** (por ejemplo, explorar, tarea) usan el tipo de intervalo `INTERNAL` (en proceso) sin atributos de servidor.
| Atributo | Descripción | Tipo de intervalo |
|---|---|---|
gen_ai.operation.name | invoke_agent | Ambas |
gen_ai.provider.name | Proveedor (por ejemplo, github, anthropic) | Ambas |
gen_ai.agent.id | Identificador de sesión | Ambas |
gen_ai.agent.name | Nombre del agente (cuando está disponible) | Ambas |
gen_ai.agent.description | Descripción del agente (cuando está disponible) | Ambas |
gen_ai.agent.version | Versión del entorno de ejecución | Ambas |
gen_ai.conversation.id | Identificador de sesión | Ambas |
gen_ai.request.model | Modelo solicitado | Ambas |
gen_ai.response.finish_reasons |
`["stop"]` o `["error"]` | Ambas |
| gen_ai.usage.input_tokens | Total de tokens de entrada (todos los turnos) | Ambas |
| gen_ai.usage.output_tokens | Total de tokens de salida (todos los turnos) | Ambas |
| gen_ai.usage.cache_read.input_tokens | Lectura de tokens de entrada almacenados en caché | Ambas |
| gen_ai.usage.cache_creation.input_tokens | Tokens de entrada creados y almacenados en caché | Ambas |
| github.copilot.turn_count | Número de recorridos de ida y vuelta de LLM | Ambas |
| github.copilot.cost | Costo monetario | Ambas |
| github.copilot.aiu | Unidades de IA consumidas | Ambas |
| server.address | Nombre de host del servidor | Solo CLIENT |
| server.port | Puerto de servidor | Solo CLIENT |
| error.type | Nombre de clase de error (en caso de error) | Ambas |
| gen_ai.input.messages | Mensajes de entrada completos como JSON (solo captura de contenido) | Ambas |
| gen_ai.output.messages | Mensajes de salida completos como JSON (solo captura de contenido) | Ambas |
| gen_ai.system_instructions | Contenido del mensaje del sistema como JSON (captura solo de contenido) | Ambas |
| gen_ai.tool.definitions | Esquemas de herramientas como JSON (solo captura de contenido) | Ambas |
`chat` atributos de span
Un intervalo por solicitud de 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 | Tokens de entrada en este turno |
gen_ai.usage.output_tokens | Tokens 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 | Unidades de IA consumidas en 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 |
github.copilot.time_to_first_chunk | Tiempo para el primer fragmento de streaming, en segundos (solo streaming) |
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 | turnos | Recorridos de ida y vuelta de LLM por cada invocación de agente |
Eventos de intervalo
Eventos de ciclo de vida registrados en el intervalo activo chat o invoke_agent.
| Event | Descripción | Atributos clave |
|---|---|---|
github.copilot.hook.start | Un gancho comenzó a ejecutarse |
`github.copilot.hook.type`, `github.copilot.hook.invocation_id` |
| github.copilot.hook.end | Un enlace se ha completado correctamente |
github.copilot.hook.type, github.copilot.hook.invocation_id |
| github.copilot.hook.error | Error de enlace |
github.copilot.hook.type, , github.copilot.hook.invocation_id, github.copilot.hook.error_message |
| 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.pre_messages, github.copilot.post_messages, github.copilot.tokens_removed, , github.copilot.messages_removed``github.copilot.performed_by |
| 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.message solo captura de contenido) |
| 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 |
Referencia de banderas de características
Las marcas de características habilitan la funcionalidad que aún no está disponible con carácter general. Habilite las marcas a través de la COPILOT_CLI_ENABLED_FEATURE_FLAGS variable de entorno (lista separada por comas) o mediante el /experimental comando de barra diagonal.
| Flag | Nivel | Descripción |
|---|---|---|
CRITIC_AGENT | experimental | Subagente crítico para retroalimentación adversaria sobre el código y los diseños (modelos Claude y GPT) |
BACKGROUND_SESSIONS | experimental | Varias sesiones simultáneas con gestión de procesos en segundo plano |
MULTI_TURN_AGENTS | experimental | Paso de mensajes de subagentes en varios turnos a través de write_agent |
EXTENSIONS | experimental | Extensiones mediante programación con herramientas y enlaces personalizados |
QUEUED_COMMANDS | staff-or-experimental | Mientras se ejecuta el agente, ordenar comandos con Ctrl+Intro |
PERSISTED_PERMISSIONS | staff-o-experimental | Mantener permisos de herramienta entre sesiones en cada ubicación |
SESSION_STORE | staff-or-experimental | Almacén de sesiones basado en SQLite para el historial entre sesiones |
COMPUTER_USE | personal | El equipo integrado usa el servidor MCP (captura de pantalla y control de mouse/teclado) |
copilot-feature-agentic-memory | en | Herramientas de memoria persistente entre sesiones |
COPILOT_SWE_AGENT_BACKGROUND_AGENTS | en | Ejecución de tareas de agentes en segundo plano |
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) -
[AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-config-dir-reference)