Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ All notable changes to this project are documented here. The format follows

## [Unreleased]

### Changed

- **Status watch SVGs show the 0.13 Sub tab.** The README hero
(`status-watch-dark.svg` / `status-watch-light.svg`) still rendered the
0.12 Always→Codex / kimi / grok presets. Tab 4 now matches CLIProxyAPI:
Off / Always / Fallback, `[` `]` hop rotation, sidecar + official catalog,
and the grok-4.6 input→output map.

## [0.13.2] - 2026-08-16

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<p align="center">
<picture>
<source media="(prefers-color-scheme: light)" srcset="assets/status-watch-light.svg">
<img src="assets/status-watch-dark.svg" alt="llmtrim status: Overview savings dashboard, Sessions, Detail, and Sub routing tab (presets + tier map)" width="760">
<img src="assets/status-watch-dark.svg" alt="llmtrim status: Overview savings dashboard, Sessions, Detail, and Sub routing tab (CLIProxyAPI presets, fallback hops, and model map)" width="760">
</picture>
</p>

Expand Down
2 changes: 1 addition & 1 deletion assets/status-watch-dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion assets/status-watch-light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 1 addition & 2 deletions crates/llmtrim-cli/src/breakdown/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3454,8 +3454,7 @@ mod tests {
#[cfg(not(feature = "intercept"))]
let tabs = [Tab::Overview, Tab::Sessions, Tab::Detail];

// Stable Sub-tab demo state (not the machine's live routing) so the asset
// always shows a readable Always→Codex map with mixed auth.
// Stable Sub-tab demo (not live routing): Fallback hops + grok-4.6 CLIProxyAPI map.
#[cfg(feature = "intercept")]
app.sub.seed_export_demo();

Expand Down
33 changes: 30 additions & 3 deletions crates/llmtrim-cli/src/breakdown/sub_panel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -168,16 +168,43 @@ impl SubPanel {
}

pub fn seed_export_demo(&mut self) {
self.selected = RoutingPreset::AlwaysCodex;
self.applied = RoutingPreset::AlwaysCodex;
self.selected = RoutingPreset::Fallback;
self.applied = RoutingPreset::Fallback;
self.running = true;
self.chain = vec![
"anthropic".into(),
"codex".into(),
"gemini".into(),
"grok".into(),
];
self.rows = vec![
("fable".into(), "grok-4.6".into()),
("opus".into(), "grok-4.6".into()),
("sonnet".into(), "grok-4.6".into()),
("haiku".into(), "grok-composer-2.5-fast".into()),
];
self.status = "demo".into();
if self.catalog.is_empty() {
self.catalog = [
("gpt-5.4", "openai", "codex"),
("claude-opus-4-6", "anthropic", "claude"),
("gemini-3-pro", "google", "gemini"),
("grok-4.6", "xai", "grok"),
("grok-composer-2.5-fast", "xai", "grok"),
("kimi-k2.5", "moonshot", "kimi"),
("gemini-claude-opus-4-6", "google", "vertex"),
("qwen3-max", "alibaba", "qwen"),
("gpt-4.1", "github", "copilot"),
]
.into_iter()
.map(|(id, owned, family)| OfficialModel {
id: id.to_string(),
owned_by: owned.into(),
display_name: id.to_string(),
family: family.into(),
})
.collect();
}
self.status.clear();
}

fn read_applied_preset() -> RoutingPreset {
Expand Down
Loading