Informe de Uso de Tokens

Habilidad para agentes: informa el uso de tokens por conversación, tasa de acierto de caché y costo estimado (tarifas pico/valle de DeepSeek) para ZCode, Codex, Claude Code, OpenCode.

¿Qué es Informe de Uso de Tokens?

Esta habilidad para agentes de IA (compatible con ZCode, Codex, Claude Code, OpenCode y DeepSeek Harness) lee los archivos locales de registro (rollout) del agente e imprime el uso de tokens del segmento de conversación más reciente, junto con el total de toda la sesión. Proporciona dos líneas de salida: una para el segmento actual y otra para la sesión completa, incluyendo tokens de entrada, salida, aciertos de caché, tasa de acierto y un costo estimado en CNY basado en las tarifas oficiales de DeepSeek (pico/valle). Es útil para que los usuarios puedan verificar el consumo de tokens por turno y compararlo con la factura real del proveedor, con un costo de overhead mínimo (solo unas docenas de caracteres extra en la respuesta). La habilidad se ejecuta antes de componer la respuesta final de cada sesión, y soporta múltiples agentes mediante diferentes fuentes de datos (archivos JSONL o bases de datos SQLite), parseando formatos documentados localmente. Incluye limitaciones y advertencias sobre la precisión de las estimaciones.

Compatible con✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add 1Lany2a/token-usage-report

Installed? Explore more Investigación y análisis de datos skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Informe de Uso de Tokens?

Lee los archivos locales de registro del agente e imprime el uso del segmento de conversación más reciente más el de toda la sesión (dos líneas):

本段会话:输入 123456 / 缓存命中 98765 / 输出 4321 / 命中率 80.0% / 费用 ¥0.12
整个会话:输入 987654 / 缓存命中 876543 / 输出 43210 / 命中率 88.8% / 费用 ¥0.50

¿Por qué ambas líneas? Los números de toda la sesión se calculan localmente mediante el script (sin llamadas adicionales al modelo), por lo que reportarlos cuesta solo unas pocas decenas de caracteres extra en la respuesta — una sobrecarga de tokens insignificante, y el usuario puede comparar el turno actual contra el total de la sesión.

Cuándo ejecutarlo

  • Ejecutar antes de componer la respuesta final de cada sesión.
  • Frases desencadenantes: "token usage", "用量", "费用", "cost", "billing", "多少 tokens", "汇报", "spent".
  • Por qué: le proporciona al usuario una línea de uso por turno que puede verificar contra la factura real del proveedor. El costo es una estimación (instantánea de precios), no la factura.

Cómo ejecutarlo

Script: scripts/usage_report.py — Python 3.9+, solo biblioteca estándar (sin instalación), excepto el paquete opcional zstandard necesario para los registros de DeepSeek Harness (DSH).

python3 <directorio-de-este-skill>/scripts/usage_report.py --latest   # segmento/sesión más reciente (predeterminado)
python3 <directorio-de-este-skill>/scripts/usage_report.py --whole    # sesión más reciente completa
python3 <directorio-de-este-skill>/scripts/usage_report.py --all      # lista por sesión
python3 <directorio-de-este-skill>/scripts/usage_report.py --agent zcode|codex|claude|opencode|dsh
python3 <directorio-de-este-skill>/scripts/usage_report.py --session <subcadena>   # fijar una sesión específica

Usa siempre la ruta absoluta al directorio de este skill. No hagas cd a otro lugar primero. Pasa --agent explícitamente cuando lo ejecutes desde una sesión de agente (la detección automática selecciona el archivo modificado más recientemente, que podría pertenecer a un agente diferente que se ejecuta concurrentemente); --session fija un archivo de sesión específico.

Adjunta la salida del script a la respuesta final tal cual — ambas líneas, en líneas separadas (本段会话 arriba, 整个会话 abajo). Si la respuesta es markdown, un salto de línea simple se renderiza como un espacio y fusiona las dos líneas, por lo que debes ponerlas dentro de un bloque de código delimitado (o dejar una línea en blanco entre ellas):

本段会话:输入 123456 / 缓存命中 98765 / 输出 4321 / 命中率 80.0% / 费用 ¥0.12
整个会话:输入 987654 / 缓存命中 876543 / 输出 43210 / 命中率 88.8% / 费用 ¥0.50
  • Código de salida 0 → siempre incluir las líneas, incluso si los números parecen idénticos al informe anterior (el usuario las quiere en cada turno).
  • Codex reporta una sola línea (sesión completa) — no hay datos de segmento.
  • Código de salida 1 / "No usage data found" → omitir silenciosamente; no preguntar al usuario.
  • Cualquier otro error → corregir la causa (Python faltante, directorio del skill movido) antes de responder; no omitir silenciosamente.

Agentes compatibles

AgenteFuente de datosSignificado de --latest
ZCode~/.zcode/cli/rollout/model-io-*.jsonlÚltimo segmento: registros desde la solicitud más reciente cuyo último mensaje es un prompt de usuario (ese turno incluye sus llamadas a herramientas)
Codex~/.codex/sessions/**/rollout-*.jsonlÚltima sesión (completa) — los registros de Codex almacenan totales acumulativos en ejecución, por lo que solo se reporta el total final, como una sola línea; los datos de segmento no están disponibles
Claude~/.claude/projects/**/*.jsonlÚltimo segmento: registros desde el registro más reciente con "type":"user"
OpenCode<data>/opencode/opencode.db (SQLite; %LOCALAPPDATA% en Windows, $XDG_DATA_HOME o ~/.local/share en otros casos)Último segmento de la sesión más reciente (desde el último mensaje de usuario)
DSH~/.dsh/sessions/**/session.jsonl[.zstd] (comprimido con zstd; necesita zstandard opcional)Último turno (un intercambio de usuario) + sesión completa

Los cuatro se analizan a partir de formatos documentados, verificados localmente o bien conocidos. DeepSeek Harness (DSH) y otros agentes se pueden agregar con un pequeño analizador — consulta README.md para la receta.

Precisión y limitaciones

El informe es una estimación a partir de datos locales de registro + precios de lista, no la factura del proveedor. Las diferencias con la página de uso oficial pueden deberse a:

  • Los totales de Codex son acumulativos: cada registro de total_token_usage es el total acumulado de la sesión, por lo que el script usa el último registro (nunca suma). Los números por solicitud y por segmento no están disponibles para Codex.
  • El pico/valle se aplica por hora de inicio de la sesión, mientras que el proveedor factura cada solicitud por su propia hora. Una sesión que cruza un límite pico/valle (09:00–12:00 / 14:00–18:00 hora de Pekín) se factura incorrectamente para la parte cruzada.
  • Los tokens de salida de razonamiento se incluyen en output para Codex (facturados a la tarifa de salida); los registros de ZCode no exponen un campo de razonamiento.
  • Los registros locales pueden no capturar cada solicitud de la clave (streams abortados, llamadas no interactivas), por lo que los totales pueden ser inferiores al uso completo de la clave.
  • Las tarifas son una instantánea; una clave de gateway/agregador o un ID de modelo diferente pueden facturar a precios distintos.

Modelo de costos

Tarifas oficiales pico/valle de DeepSeek, vigentes desde 2026-08-17 00:00 hora de Pekín (anunciado 2026-08-13). Horas pico: 09:00–12:00 y 14:00–18:00 hora de Pekín; todos los demás horarios son valle a la mitad del precio. Las sesiones anteriores al 2026-08-17 usan las tarifas fijas heredadas.

ModeloPeríodocaché-acertadofallo-entradasalida(CNY / 1M tokens)
deepseek-v4-flashvalle0.051.54.5
deepseek-v4-flashpico0.103.09.0
deepseek-v4-provalle0.154.513.5
deepseek-v4-propico0.309.027.0

El período de facturación proviene de la hora de inicio de la sesión (hora local de la máquina). Si las tarifas oficiales cambian, actualiza las tablas PRICES_* en scripts/usage_report.py; la fuente autorizada es platform.deepseek.com.

Integración (informe automático cada sesión)

Agrega esta regla al archivo de instrucciones a nivel de usuario del agente (~/.zcode/AGENTS.md, ~/.codex/AGENTS.md, CLAUDE.md, o un AGENTS.md del proyecto):

Ejecuta python3 <directorio-skill>/scripts/usage_report.py --agent <tu-agente> --latest (SIEMPRE pasa --agent — la detección automática puede leer datos de otro agente que se ejecuta concurrentemente) antes de cada respuesta final y adjunta sus dos líneas de salida textualmente: 本段会话:输入 X / 缓存命中 Y / 输出 Z / 命中率 N% / 费用 ¥M 整个会话:输入 X / 缓存命中 Y / 输出 Z / 命中率 N% / 费用 ¥M. Omite solo cuando el script imprima "No usage data found".

Seguridad

  • El script solo lee archivos JSON de registro locales bajo el directorio home del usuario. Nunca lee, imprime ni requiere claves API, archivos .env o credenciales.
  • Los archivos de registro pueden contener texto de los prompts — nunca debes mostrar su contenido. Imprime únicamente los números agregados que genera el script.

Skills relacionados