Ver mi consumo y mis fugas

Tokens por sesión, worker y modelo, los bytes que el crush dejó fuera del cable, y los hábitos que los desperdician.

Prompt#

Muéstrame qué está gastando este workspace, y dónde estoy fugando contexto.

Qué hace el Chair#

Lee el ledger local — sin llamar a ningún proveedor — e imprime el gasto por asiento, y después la telemetría de fugas que nombra el hábito costoso.

Llamadas MCP#

usage_status({ "recent": 10 })
usage_status({ "view": "leaks" })
usage_status({ "view": "governance" })

En CLI, para la versión legible por humanos:

orch usage                      # tabla: por sesión, por worker, por modelo
orch usage --format json --limit 10
orch usage --leaks              # relecturas, llamadas repetidas, resultados enormes, rachas mudas
orch usage --leaks --format json
orch usage --governance         # conflict_rate / duplicate_rate por sesión
orch gateway status             # vivo/cooldown, posición del anillo, rotaciones por proveedor

Respuesta esperada#

usage_status acepta un view opcional: summary (por defecto), leaks o governance; un valor desconocido da error con view must be summary|leaks|governance.

  • view: summary (u omitido) devuelve summary, saved_pct, total_bytes_saved, by_session[], by_worker[], by_model[], agents[], counters[]. Cada fila de desglose es {key, attempts, prompt_tokens, completion_tokens, bytes_saved}. Un bloque graph lleva lo que devolvieron code_snippet y trace_path contra el tamaño de los archivos que sustituyeron.
  • view: leaks devuelve las mismas filas sin contenido que orch usage --leaks, por sesión (reread_files, repeated_calls, large_results, silent_streaks).
  • view: governance devuelve {sessions[], pairs[]} — las mismas métricas de conflicto/duplicado que orch usage --governance, más los conflictos por pareja.

Trampas#

  • No lleva contenido, así que se lo puedes pegar a una persona. El ledger del gateway guarda conteos, nunca prompts. orch gateway status tampoco lleva contenido: ni llaves ni cuerpos.
  • Las fugas y la gobernanza también están por MCP. usage_status({ "view": "leaks" }) y usage_status({ "view": "governance" }) devuelven las mismas filas que las banderas de CLI — sin necesidad de shell.
  • cache_hits es gasto evitado, no gasto. Una petición que el gateway respondió desde su caché de coincidencia exacta lleva X-Orchemax-Cache: hit y no cuenta como intento upstream. Lee ahorrado y gastado como dos columnas, nunca como un neto.
  • La caché viene apagada. gateway.cache.ttl_sec es 0 salvo que la configures, y el streaming nunca se cachea — así que cache_hits: 0 casi siempre significa "no está habilitada", no "nunca pegó".
  • Solo se cuenta el tráfico que pasa por el gateway. Un preset en agents.auth.<preset>: account — Claude Code con su propio login de plan, y codex y cursor por defecto — no enruta tráfico de modelo aquí, así que muestra intentos pero no tokens de proveedor.
  • recent (MCP) y --limit (CLI) son la misma idea: adjuntar los N intentos más recientes. Omítelo si solo quieres el agregado.
  • Qué significan las columnas de fuga: releer un archivo que ya leíste, llamar la misma herramienta con los mismos argumentos, devolver resultados demasiado grandes para servir, y rachas largas de silencio. Cada una tiene una jugada más barata en Dejar de leer archivos enteros.