mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
feat: add persistent CLI status bar and usage details (#1522)
Salvaged from PR #1104 by kshitijk4poor. Closes #683. Adds a persistent status bar to the CLI showing model name, context window usage with visual bar, estimated cost, and session duration. Responsive layout degrades gracefully for narrow terminals. Changes: - agent/usage_pricing.py: shared pricing table, cost estimation with Decimal arithmetic, duration/token formatting helpers - agent/insights.py: refactored to reuse usage_pricing (eliminates duplicate pricing table and formatting logic) - cli.py: status bar with FormattedTextControl fragments, color-coded context thresholds (green/yellow/orange/red), enhanced /usage with cost breakdown, 1Hz idle refresh for status bar updates - tests/test_cli_status_bar.py: status bar snapshot, width collapsing, usage report with/without pricing, zero-priced model handling - tests/test_insights.py: verify zero-priced providers show as unknown Salvage fixes: - Resolved conflict with voice status bar (both coexist in layout) - Import _format_context_length from hermes_cli.banner (moved since PR) Co-authored-by: kshitijk4poor <kshitijk4poor@users.noreply.github.com>
This commit is contained in:
parent
c1da1fdcd5
commit
00a0c56598
5 changed files with 492 additions and 108 deletions
|
|
@ -206,6 +206,7 @@ class TestHasKnownPricing:
|
|||
def test_unknown_custom_model(self):
|
||||
assert _has_known_pricing("FP16_Hermes_4.5") is False
|
||||
assert _has_known_pricing("my-custom-model") is False
|
||||
assert _has_known_pricing("glm-5") is False
|
||||
assert _has_known_pricing("") is False
|
||||
assert _has_known_pricing(None) is False
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue