Qué es
- Extrae el uso/la cuota del proveedor directamente del endpoint de uso de cada proveedor. No hay facturación estimada del proveedor; solo nombres de planes, ventanas de cuota, saldos, gasto, presupuestos, historial de coste diario, atribución por token/modelo o resúmenes de estado de cuenta informados por el proveedor.
- La salida legible por humanos de la ventana de cuota se normaliza como
X% left, incluso cuando un proveedor informa cuota consumida, cuota restante o solo recuentos sin procesar. Los proveedores sin ventanas de cuota reiniciables muestran en su lugar texto de resumen del proveedor (por ejemplo, un saldo). /statusa nivel de sesión y la herramientasession_statusrecurren al registro de transcripción de la sesión cuando la instantánea de sesión en vivo no tiene datos de tokens/modelo. Ese recurso completa contadores faltantes de tokens/caché, puede recuperar la etiqueta del modelo de ejecución activo y prefiere el total más grande orientado al prompt cuando faltan los metadatos de la sesión o son menores (totalTokensFresh !== true, cero o por debajo del valor derivado de la transcripción). Los valores en vivo distintos de cero siempre tienen prioridad sobre el recurso.
Dónde aparece
/statusen chats: tarjeta de estado con tokens de sesión y coste estimado (solo modelos con clave de API). El uso del proveedor se muestra para el proveedor del modelo actual cuando está disponible, como una ventana normalizadaX% lefto texto de resumen del proveedor./usage off|tokens|fullen chats: pie de uso por respuesta./usage costen chats: resumen de coste local agregado a partir de los registros de sesión de OpenClaw.- CLI:
openclaw status --usageimprime un desglose completo de uso/cuota por proveedor. - CLI:
openclaw models statuslista perfiles de autenticación OAuth/token y muestra un resumen de ventana de uso junto a cada proveedor que tenga uno. - Interfaz de control: Uso muestra tarjetas de plan y facturación del proveedor sobre el análisis de tokens y coste estimado derivado de la sesión de OpenClaw. Las credenciales de Anthropic y de la API de administración de OpenAI añaden gasto informado por el proveedor de hoy, 7 días y 30 días, tendencias diarias, totales de tokens, modelos principales y categorías de coste.
- Barra de menús de macOS: aparece una sección raíz “Uso” debajo de Contexto cuando hay instantáneas de uso del proveedor disponibles. Consulta Barra de menús.
openclaw channels list ya no imprime el uso del proveedor; en su lugar dirige a los usuarios a openclaw status o openclaw models list.
Historial de costes de Anthropic y OpenAI
La cuota de suscripción y la facturación de API son superficies de proveedor diferentes:- Las credenciales de suscripción/configuración de Anthropic siguen mostrando ventanas de cuota de Claude y presupuestos opcionales de uso adicional. Configura
ANTHROPIC_ADMIN_KEYoANTHROPIC_ADMIN_API_KEYpara mostrar en su lugar el historial de las API de uso y coste de la organización. Una credencial de proveedor de Anthropic que empieza porsk-ant-adminse detecta automáticamente. - OAuth de OpenAI ChatGPT/Codex sigue mostrando plan, ventanas de cuota y saldo de crédito. Configura
OPENAI_ADMIN_KEYpara mostrar en su lugar el historial de coste de organización y uso de completions; opcionalmente, configuraOPENAI_PROJECT_IDpara limitarlo a un proyecto. OpenClaw nunca envía credenciales de inferencia desdeOPENAI_API_KEY, la configuración del proveedor o los perfiles de autenticación a las API de organización porque esas claves pueden pertenecer a endpoints personalizados.
Modo predeterminado del pie de uso
/usage off|tokens|full establece el pie para una sesión y se recuerda para esa
sesión. messages.responseUsage inicializa ese modo para sesiones que aún no han
elegido uno, de modo que el pie pueda estar activado de forma predeterminada sin escribir /usage cada vez.
Configura un modo para cada canal, o un mapa por canal con un respaldo default:
"off", "tokens", "full" y el alias heredado "on" (tratado como "tokens").
Tres estados de sesión distintos
El camporesponseUsage de una sesión tiene tres estados representables, cada uno con
semánticas diferentes:
| Estado | Valor almacenado | Modo efectivo |
|---|---|---|
| Sin definir / heredar | undefined (ausente) | Pasa al valor predeterminado de configuración messages.responseUsage, luego off. |
| Apagado explícito | "off" (almacenado) | Siempre apagado; un valor predeterminado de configuración distinto de off no puede reactivar el pie. |
| Encendido explícito | "tokens" o "full" (almacenado) | Ese modo, independientemente del valor predeterminado de configuración. |
Precedencia
Modo efectivo = anulación de sesión → entrada de configuración del canal →default → off.
Un /usage off explícito se persiste como el valor literal "off" en la
sesión, no es lo mismo que “sin definir”. Un valor predeterminado de messages.responseUsage
distinto de off no puede volver a activar el pie una vez que el usuario lo ha deshabilitado explícitamente.
Restablecer frente a apagar
/usage offfuerza el pie a apagarse y persiste esa elección. Un valor predeterminado configurado distinto de off no puede anularlo./usage reset(alias:default,inherit,inherited,clear,unpin) borra la anulación de sesión. La sesión entonces hereda el valor predeterminado efectivo de configuración (messages.responseUsage). Si no hay un valor predeterminado configurado, el pie permanece apagado.- Un restablecimiento completo de sesión (
/reseto/new) o una rotación de sesión preserva la preferencia explícita de modo de uso para que la elección de visualización del usuario sobreviva a las rotaciones de sesión. Solo/usage reset(y sus alias) borra la anulación.
Comportamiento de alternancia
/usage sin argumentos alterna: off → tokens → full → off. El punto de partida
del ciclo es el modo actual efectivo (la anulación de sesión pasa al valor
predeterminado de configuración cuando no está definida), por lo que el ciclo siempre coincide con lo que
el usuario ve actualmente en el pie.
Configuración
Sin configuración, se mantiene el comportamiento anterior (pie apagado hasta/usage). Usa
/usage reset para borrar una anulación de sesión y volver a heredar el valor predeterminado configurado.
Pie personalizado de /usage full
/usage tokens siempre renderiza una línea simple Usage: X in / Y out (más sufijos de caché y
coste estimado cuando están disponibles). Solo /usage full renderiza el pie más completo
descrito abajo.
/usage full muestra un pie compacto integrado con modelo, razonamiento, rápido/lento,
ventana de contexto y coste cuando esos campos están disponibles. No se requiere ningún archivo de plantilla
para el pie integrado.
messages.usageTemplate es solo para diseños personalizados avanzados. El valor es una
ruta de archivo JSON (compatible con ~) o un objeto en línea, y reemplaza el pie integrado
cuando es válido. Una ruta de archivo se observa y se recarga en vivo al cambiar.
Forma
sep. Una superficie sin entrada usa
output.default.
Rutas de contrato
Una pieza lee valores del contrato por turno mediante una ruta con puntos. Los valores ausentes están vacíos (por lo que una guardawhen o un |fallback mantiene limpia la pieza).
| Ruta | Significado |
|---|---|
surface | id del canal (discord/telegram/etc.) |
agentId / chat_type | id del agente propietario / tipo de superficie de chat |
model.id / model.display_name / model.provider | id del modelo / nombre para mostrar / id del proveedor |
model.actual, model.resolved_ref | referencia de proveedor/modelo realmente usada para el turno |
model.requested | referencia de proveedor/modelo solicitada (antes del fallback) |
model.reasoning | esfuerzo (de off a xhigh) |
model.is_fallback / model.is_override | bool: fallback utilizado / modelo fijado |
model.override_source / model.auth_mode | etiqueta de origen de override / modo de credenciales (oauth, api-key, token, mixed, aws-sdk, unknown) |
state.fast_mode | bool: rápido frente a lento |
state.compactions | recuento de compacciones de la sesión |
context.max_tokens / context.used_tokens / context.pct_used | presupuesto de ventana / tokens ocupados / 0-100 usado |
usage.input_tokens / usage.output_tokens / usage.total_tokens | agregado del turno |
usage.cache_read_tokens / usage.cache_write_tokens | tokens de lectura de caché y escritura de caché del turno |
usage.has_tokens / usage.has_split_tokens / usage.has_total_only_tokens | protecciones de visualización de tokens |
usage.cache_hit_pct | proporción de lectura de caché respecto del total de tokens del prompt |
usage.last.input_tokens / usage.last.output_tokens / usage.last.cache_hit_pct | solo la llamada final al modelo (también tiene cache_read_tokens, cache_write_tokens, total_tokens) |
cost.turn_usd / cost.available | coste estimado del turno / si se resolvió una tabla de costes |
timing.duration_ms | duración del turno en tiempo real |
identity.name / identity.emoji / identity.avatar | nombre de identidad del agente / emoji / avatar |
session.id | id de sesión |
each no tiene nada sobre lo que iterar.)
Verbos
Canaliza un valor por los verbos de izquierda a derecha; un segmento que no sea verbo es el fallback.| Verbo | Efecto | Ejemplo |
|---|---|---|
num | recuento compacto | 272000 -> 272k |
fixed:N | N decimales (predeterminado 2) | 0.0377 |
dur | segundos a duración | 14820 -> 4h07m |
pct | añade % | 96 -> 96% |
inv | 100 - x | de usado a restante |
alias:TABLE | busca en aliases, repite si no está listado | medium -> 🌗 |
meter:W:SCALE | barra de glifos de W celdas sobre un valor 0-100 | [⣿⣿⠐⠐⠐] (meter:1 = un glifo) |
Formas de pieza
{ "text": "📚 {context.max_tokens|num}" }: literal + interpolación.{ "when": "<path>", "text": "..." }: renderiza solo si la ruta es verdadera.{ "map": "<path>", "cases": { "true": "⚡", "false": "🐌" } }: valor a glifo (un caso_defaultcubre valores sin coincidencia).{ "each": "<array-path>", "item": "{label}" }: itera una ruta con valor de array (ninguna ruta del contrato actual es un array).
Ejemplo
claude-sonnet-4-6 🌗 🐌 | 📚 [⣿⣿⣿⣿⣧]272k.
Proveedores + credenciales
El uso se oculta cuando no se puede resolver una autenticación de uso de proveedor utilizable. OpenClaw descubre automáticamente los plugins de proveedor habilitados que declarancontracts.usageProviders e implementan tanto resolveUsageAuth como
fetchUsageSnapshot; no hay una allowlist de proveedores del núcleo separada. El contrato
estático mantiene el descubrimiento acotado sin importar todos los plugins de proveedor. Cada
plugin es propietario de su endpoint upstream y de la asignación de respuesta. La
instantánea compartida mantiene los nombres de plan, las ventanas de cuota, los saldos, el gasto y los presupuestos
neutrales respecto al proveedor para los consumidores de CLI, app y Control UI.
- Anthropic (Claude): tokens OAuth en perfiles de autenticación. Si al token OAuth le falta
el scope
user:profile, recurre a una sesión web declaude.ai(CLAUDE_AI_SESSION_KEY,CLAUDE_WEB_SESSION_KEY, o una cookiesessionKey=enCLAUDE_WEB_COOKIE) cuando está configurada. Los límites por modelo y los gastos/presupuestos mensuales de uso adicional habilitados se incluyen cuando Anthropic los informa. Una clave explícita de Anthropic Admin API, o un perfil de proveedorsk-ant-admin...detectado automáticamente, muestra en su lugar el coste de la organización de 30 días y el historial de Messages API. - ClawRouter: clave de API (
CLAWROUTER_API_KEY). Muestra una ventana de presupuesto mensual y un presupuesto en USD tipado cuando está configurado; de lo contrario, muestra el gasto agregado y un resumen de solicitudes/tokens/coste. - DeepSeek: clave de API mediante env/config/almacén de autenticación (
DEEPSEEK_API_KEY). Muestra cada saldo de moneda informado por el proveedor. - GitHub Copilot: tokens OAuth en perfiles de autenticación.
- Gemini CLI: tokens OAuth en perfiles de autenticación.
- MiniMax: clave de API o perfil de autenticación OAuth de MiniMax. OpenClaw trata
minimax,minimax-cnyminimax-portalcomo la misma superficie de cuota de MiniMax, prefiere OAuth de MiniMax almacenado cuando está presente y, si no, recurre aMINIMAX_CODE_PLAN_KEY,MINIMAX_CODING_API_KEYoMINIMAX_API_KEY. El sondeo de uso deriva el host de Coding Plan demodels.providers.minimax-portal.baseUrlomodels.providers.minimax.baseUrlcuando están configurados; de lo contrario, usa el host CN de MiniMax. Los campos sin procesarusage_percent/usagePercentde MiniMax significan cuota restante, así que OpenClaw los invierte antes de mostrarlos; los campos basados en recuento ganan cuando están presentes.- Las etiquetas de ventana provienen de los campos de horas/minutos del proveedor cuando están presentes, luego
recurren al intervalo
start_time/end_time. - Si el endpoint de coding-plan devuelve
model_remains, OpenClaw prefiere la entrada del modelo de chat, deriva la etiqueta de ventana a partir de marcas de tiempo cuando los campos explícitoswindow_hours/window_minutesestán ausentes, e incluye el nombre del modelo en la etiqueta del plan.
- Las etiquetas de ventana provienen de los campos de horas/minutos del proveedor cuando están presentes, luego
recurren al intervalo
- OpenAI (plan Codex/ChatGPT): tokens OAuth en perfiles de autenticación (cabecera
ChatGPT-Account-Idenviada cuando hay un id de cuenta presente). Muestra el plan ChatGPT, ventanas Codex restablecibles y un saldo de créditos cuando se informa. Los créditos siguen siendo créditos del proveedor; OpenClaw no los etiqueta como dólares.OPENAI_ADMIN_KEYañade coste de organización de 30 días e historial de uso de completions cuando la clave tiene acceso a Usage Dashboard. Las credenciales de inferencia nunca se reenvían a las API de organización. - OpenRouter: clave de API o clave de API respaldada por OAuth (
OPENROUTER_API_KEYo un perfil de autenticación). Combina el endpoint de créditos de la cuenta con el endpoint de cuota de la clave, de modo que el saldo/gasto de la cuenta, el presupuesto de la clave y el uso diario/semanal/mensual aparecen cuando la credencial puede acceder a ellos. Cualquiera de los endpoints puede enriquecer la instantánea de forma independiente. - Venice: clave de API mediante env/config/almacén de autenticación (
VENICE_API_KEY). Muestra saldos en USD y DIEM más el uso de asignación de época DIEM cuando se informa. - Xiaomi MiMo: dos superficies de uso separadas. El pago por uso usa una clave de API
(
XIAOMI_API_KEY); el Token Plan usa una clave separada (XIAOMI_TOKEN_PLAN_API_KEY). Ninguno informa actualmente ventanas de cuota. - z.ai: clave de API mediante env/config/almacén de autenticación (
ZAI_API_KEYoZ_AI_API_KEY).