v0.53.9 — Live dashboard, Web UI mobile, bench percentiles, tokenizer trainer

Live SSE training stream

GET /api/train/stream

Server-sent events for every on_log / on_step_end / on_epoch_end event. Web UI dashboard upgrades from polling to real-time.

Phone-scannable Web UI

bash
soup ui --public                          # bind 0.0.0.0 + print phone QR
soup ui --public --auth-token MY_TOKEN    # override the auto-generated bearer

The QR encodes http(s)://<lan-ip>:<port>?token=... — scan from your phone and you're in. Auth token rotation is thread-safe; old tokens stop working immediately.

Standalone CLIs

bash
soup tokenizer train --input corpus.jsonl --vocab-size 32000 --output tok/
soup bench ./output --p50 --p95           # per-prompt tail-latency percentiles
soup bench ./output --backend auto         # auto-detect transformers vs mlx

Reasoning parser

bash
soup serve --reasoning-parser deepseek-r1  # | qwen3 | phi4 | openthinker

Strips <think>...</think> blocks from streamed responses while still surfacing them via the tool-outputs sidebar.

Tool outputs polling

GET /api/tool-outputs

JSON poll of the most-recent tool-call records — paired with the Web UI Tool Outputs panel.

Tests

  • 8,257 → 8,285 (+28)

See also

  • [Web UI](/docs/web-ui)
  • [Serving](/docs/serving)