Repository navigation
Add Hermes usage to agents monitor - #6645
okurmustafa wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds Hermes token usage to the agents monitor while preserving provider/model attribution across local and synced data.
Changes:
- Adds a read-only Hermes SQLite usage collector with route labels.
- Displays provider/model labels and includes them in synced snapshots.
- Adds collector coverage and documentation.
Tip
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
bin/omarchy-agent-usage-hermes |
Collects and attributes Hermes usage. |
test/shell.d/agent-usage-hermes-scanner-test.sh |
Tests reconciliation, profiles, labels, and damaged databases. |
shell/plugins/agents/Main.qml |
Carries labels through local and synced records. |
shell/plugins/agents/Panel.qml |
Displays route labels in rows and tooltips. |
shell/plugins/agents/README.md |
Documents Hermes and the label contract. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
@teknium1 — would you or someone on your team take a look at this one? Keeping it open; it's the piece of Hermes-in-Omarchy that #7469 doesn't touch at all. It adds Hermes to Omarchy's agents usage panel, and the part worth your eyes is what it has to read to do that:
Two questions. Is that ledger's schema something you'd consider stable to read from outside, or internal enough that it will move? And are those module paths safe to import against, or are they internals? The failure mode if either shifts is quiet: the panel shows nothing or wrong numbers rather than erroring, and nobody notices for a while. If there's an official surface for this — even a The multi-provider attribution question is yours too: Hermes can switch models mid-session, and this keeps each provider/model route distinct rather than presenting one unified quota. Sanity-checking that against how you think about it would be valuable. |
|
Automated duplication check: this pull request looks similar to #9871, which covers the same Hermes usage collector. I keep that one open and close this one to consolidate review. If you feel this is the wrong decision, please open the PR again with a note on the difference. |
Summary
Why
Hermes can use several providers and models within the same session, so treating it like a single-subscription agent would lose important attribution. This adds one Hermes tab while keeping each provider/model route distinct and avoids presenting a misleading unified quota.
This is a follow-up to #6644, but it is intentionally independent: existing Hermes users can benefit even if the installation integration is not merged.
The collector reads
~/.hermes/state.dband named-profile databases in read-only mode. It performs no paid model calls and uses Hermes' local model metadata without requiring a network request. Unknown or custom routes fall back to the exact identifiers Hermes recorded.Validation
bash test/shell.d/agent-usage-hermes-scanner-test.sh./test/cli