- logs page adds First (first_token_ms) and Tok/s columns; Tok/s is
output_tokens / (latency - first_token) over the decode window
- detail line shows the same rate after first-token latency
- API key names render in a stable per-key color (crc32 over a 10-color
palette) so rows from the same key group visually; --once stays plain
- --once --logs prints the new first/tok-s columns
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
--once --logs now exits 2 with a clear pointer to SHUSUB2_LOGS_TOKEN /
~/.config/shusub2/logs-token instead of a raw HTTP 401 traceback; the TUI
logs page reuses the same hint.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- new logs page (press l / a to switch, or start with --logs) reading the
latest 100 requests from the Sub2API admin usage API on sub2apicn
- columns: Key, Account, Model, Type, Tokens, Cost, Latency, Time with a
per-row detail line (token buckets, actual cost, first-token latency)
- refreshes every 60s by default (--logs-refresh-seconds, --logs-limit)
- admin API key read from SHUSUB2_LOGS_TOKEN or ~/.config/shusub2/logs-token;
--save-config now persists logs-url/logs-token too
- --once --logs prints a one-shot logs snapshot
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>