Added
- Startup AI Speed Scan opt-in — Added a new Settings toggle that can automatically run the global Ctrl+U AI Speed Test after each app launch. It is disabled by default because it uses real provider requests, and first-time onboarding now asks whether users want to enable it.
- Tiny verdict indicator column — Added a compact first-column
❔verdict indicator so users can scan model condition instantly without reading the fullVerdictcolumn. - Clickable verdict shortcut — The new compact verdict column sorts with the same logic as the full
Verdictcolumn, making the far-left status indicator a fast sorting target. - Benchmark retry badges — Ctrl+A and Ctrl+U now retry failed benchmark requests up to 3 times with a 15s delay. Successful retries show a blue
↻Nbadge beside AI Latency and TPS values so users know the result recovered after transient provider trouble. - Smart global benchmark ordering — Ctrl+U now tests healthy/UP models first, sorted by low ping, then slower or problematic models afterward. This gives useful benchmark results quickly instead of letting timeouts dominate the start of the run.
- Benchmark-driven health updates — Real AI Speed Test results now update the Health column live. A model that succeeds during benchmarking can recover from stale timeout/down states, while auth/rate-limit/errors are reflected immediately.
- Ctrl+U raw-byte fallback — Added the
\x15fallback so Global AI Speed Test works in terminals where Node/readline does not report Ctrl+U normally. - Header flash feedback — Column header clicks now flash the active column, making mouse sorting easier to confirm visually.
Changed
- v0.4.0 supersedes the broken v0.3.81 bump — This release consolidates all post-v0.3.80 benchmark, verdict, and startup-scan changes into a clean minor release line.
- AI Speed Test now benchmarks every model — Ctrl+A and Ctrl+U no longer skip models just because they are filtered, unhealthy, missing a provider URL, or currently showing an error state. The benchmark path now attempts the real request and lets the result decide.
- Benchmark errors are visually cleaner — Failed benchmarks show a red
—in AI Latency and TPS instead of duplicating HTTP/error labels in the benchmark columns. Detailed status remains in the Health column. - Clearer verdict emoji language — Verdict visuals now use a consistent compact mapping:
🟩 Perfect,🟢 Normal,🟡 Spiky,🟠 Slow,🔴 Very Slow,🔥 Overloaded,⚠️ Unstable,⚫ Not Active, and⏳ Pending. - Settings and docs mention Global AI Speed Test clearly — README, Help, and Settings now explain Ctrl+A, Ctrl+U, and the optional startup auto-run behavior more explicitly.
Fixed
- Ctrl+A works on error rows — The selected-model benchmark can run even when the row currently has an error/timeout/no-key status, so users can retest problematic models directly.
- Global benchmark ignores UI filters correctly — Ctrl+U benchmarks the complete model set instead of accidentally obeying active filters or visible-table state.
- Benchmark result display is stable — Benchmark results now render consistently regardless of Health state, avoiding cases where successful benchmark data was hidden behind stale row status.