Copilot Budget GuardExtensión para VS Code que monitoriza el consumo real de tokens de GitHub Copilot Chat leyendo los logs nativos, sin interceptar peticiones ni requerir ningún agente de chat especial. Muestra el coste estimado en USD a partir de los precios oficiales de GitHub y avisa cuando te acercas a tu presupuesto mensual. Requisitos previos
Instalación
Tras la instalación, recarga VS Code con Cómo funcionaLa extensión no requiere ningún agente de chat ni intercepta peticiones. Lee periódicamente los logs internos de Copilot Chat mediante el comando Polling adaptativo:
Precios en tiempo real: UsoBarra de estadoEn la esquina inferior derecha aparece el coste mensual acumulado frente al presupuesto configurado, con una barra de progreso ASCII:
El tooltip muestra la tabla de coste mensual y diario (USD) y los tokens de entrada/salida. Haz clic para abrir el Dashboard.
DashboardAbre un panel con: Sección "Este mes"
Sección "Hoy"
Historial (últimos 30 días)
Comandos de la paleta (
|
| Comando | Descripción |
|---|---|
Copilot Budget: Ver Dashboard de consumo |
Abre el panel de estadísticas |
Copilot Budget: Actualizar datos ahora |
Fuerza un poll inmediato de los logs |
Copilot Budget: Configurar límites |
Abre los ajustes de la extensión |
Copilot Budget: Actualizar precios de modelos ahora |
Fuerza la descarga de precios desde GitHub |
Copilot Budget: Diagnóstico de precios (debug) |
Vuelca en el panel de output los precios guardados y los modelos detectados en los logs de hoy |
Alertas de umbral
Al alcanzar los porcentajes configurados (por defecto 80%, 90%, 100%) del presupuesto mensual aparece una notificación con el coste acumulado y un botón directo al Dashboard. Cada umbral solo se notifica una vez por mes.
Configuración
Todas las opciones están en Ajustes > Copilot Budget Guard (o edita settings.json):
| Clave | Por defecto | Descripción |
|---|---|---|
copilotBudget.monthlyBudget |
19 |
Presupuesto mensual en USD. Los umbrales se calculan sobre este valor. |
copilotBudget.dailyBudget |
1 |
Presupuesto diario en USD. Se usa como referencia para el peso diario en el historial. |
copilotBudget.warnAtPercents |
[80, 90, 100] |
Porcentajes del presupuesto mensual en los que emitir avisos. |
copilotBudget.retentionDays |
90 |
Días de historial a conservar. Los días más antiguos se eliminan automáticamente. |
copilotBudget.logDirectory |
"" |
Directorio del log. Vacío = ~/.copilot-budget/. |
copilotBudget.debugLog |
false |
Guarda el export completo de logs de Copilot en debug-YYYY-MM.json (mismo directorio que el log de uso). |
Precios de referencia (mayo 2026)
La extensión descarga automáticamente los precios actualizados. A modo de referencia:
| Modelo | Entrada | Lectura caché | Escritura caché | Salida |
|---|---|---|---|---|
| Claude Sonnet 4.6 | $3.00/1M | $0.30/1M | $3.75/1M | $15.00/1M |
| GPT-4.1 | $2.00/1M | $0.50/1M | — | $8.00/1M |
| GPT-5 mini | $0.25/1M | $0.025/1M | — | $2.00/1M |
| Gemini 2.5 Pro | $1.25/1M | $0.125/1M | — | $10.00/1M |
Desde junio 2026, GitHub Copilot factura por AI Credits (1 crédito = $0.01 USD). Los planes Business (1.900 créditos/mes ≈ $19) y Enterprise (3.900 créditos/mes ≈ $39) incluyen créditos mensuales — de ahí el presupuesto por defecto de $19.
Log de uso
El historial se guarda en ~/.copilot-budget/usage-log.json (o en el directorio configurado). Es un JSON legible con totales diarios — nunca se almacenan prompts ni contenido de peticiones. Los días más antiguos que retentionDays se eliminan automáticamente en cada escritura.
Desarrollo
# Compilar en modo watch
npm run watch
# O compilar una vez
npm run compile
Para depurar, abre el proyecto en VS Code y pulsa F5 — se abrirá una ventana de extensión de desarrollo.
Requisitos previos
- VS Code 1.119.0 o superior
- Node.js 24.15.0 o superior (solo para compilar)
- GitHub Copilot Chat activo en tu cuenta
Instalación
# 1. Instala las dependencias y compila
cd copilot-budget-guard
npm install
# 2. Genera el .vsix e instala
npm run compile
npx vsce package
# En Windows usa code.cmd (no code) para instalar el .vsix desde PowerShell
code.cmd --install-extension copilot-budget-guard-0.1.0.vsix --force
Tras la instalación, recarga VS Code con Ctrl+Shift+P → Developer: Reload Window.
Para verificar que se ha instalado correctamente:
code.cmd --list-extensions --show-versions | Select-String "copilot-budget"
# Debe mostrar: undefined_publisher.copilot-budget-guard@0.1.0
Cómo funciona
La extensión no requiere ningún agente de chat ni intercepta peticiones. Lee periódicamente los logs internos de Copilot Chat mediante el comando github.copilot.chat.debug.exportAllPromptLogsAsJson, detecta las entradas nuevas y las persiste en disco.
Polling adaptativo:
- 5 minutos mientras no hay actividad en la sesión (evita notificaciones molestas al inicio del día).
- 30 segundos en cuanto se detecta el primer mensaje, para tracking en tiempo real.
Usa Copilot Chat con normalidad — la extensión detecta el uso automáticamente.
Uso
Barra de estado
En la esquina inferior derecha aparece el consumo mensual en tiempo real, con una barra de progreso ASCII y un icono de color según el porcentaje:
🟢 1.234.567 / 5.000.000 tok [████████░░]
| Color | Porcentaje |
|---|---|
| 🟢 Verde | 0 – 79% |
| 🟡 Amarillo | 80 – 89% |
| 🔴 Rojo | 90 – 99% |
| ⛔ Error | 100%+ |
Pasa el ratón sobre el ítem para ver el desglose completo (tokens de entrada y salida, totales mensual y diario). Haz clic para abrir el Dashboard.
Dashboard
Abre un panel con:
- Tarjetas de resumen: tokens totales, de entrada y de salida (mensual y hoy).
- Barras de progreso mensual y diaria.
- Tabla de los últimos 30 días con columnas de total, entrada, salida y peso diario.
Comandos de la paleta (Ctrl+Shift+P)
| Comando | Descripción |
|---|---|
Copilot Budget: Ver Dashboard de consumo |
Abre el panel de estadísticas |
Copilot Budget: Actualizar datos ahora |
Fuerza un poll inmediato de los logs |
Copilot Budget: Configurar límites |
Abre los ajustes de la extensión |
Alertas de umbral
Al alcanzar los porcentajes configurados (por defecto 80%, 90%, 100%) aparece una notificación con botón directo al Dashboard.
Configuración
Todas las opciones están en Ajustes > Copilot Budget Guard (o edita settings.json):
| Clave | Por defecto | Descripción |
|---|---|---|
| copilotBudget.monthlyTokenLimit | 1000000 | Límite mensual de tokens sobre el que se calculan los umbrales. Ver referencia de planes abajo. |
| copilotBudget.sessionTokenLimit | 50000 | Límite diario informativo (persiste entre reinicios, se resetea al cambiar de día). |
| copilotBudget.warnAtPercents | [80, 90, 100] | Porcentajes del límite mensual en los que emitir avisos. |
| copilotBudget.retentionDays | 90 | Días de historial a conservar. Los días más antiguos se eliminan automáticamente. |
| copilotBudget.logDirectory | "" | Directorio del log. Vacío = ~/.copilot-budget/. |
Log de uso
El historial se guarda en ~/.copilot-budget/usage-log.json (o en el directorio configurado). Es un JSON legible con totales diarios — nunca se almacenan prompts ni contenido de peticiones. Los días más antiguos que retentionDays se eliminan automáticamente en cada escritura.
Desarrollo
# Compilar en modo watch
npm run watch
# O compilar una vez
npm run compile
Para depurar, abre el proyecto en VS Code y pulsa F5 — se abrirá una ventana de extensión de desarrollo.