Repository navigation
Add local and remote Hermes usage sources to Agents panel - #6647
okurmustafa wants to merge 4 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds local and remote Hermes usage reporting to the Agents panel.
Changes:
- Collects Hermes usage by provider and model.
- Adds remote gateway authentication and source selection.
- Extends synchronized usage records with model labels.
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 6 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
bin/omarchy-agent-meter |
Collects and authenticates remote Hermes analytics. |
bin/omarchy-agent-usage-hermes |
Scans local Hermes SQLite ledgers. |
bin/omarchy-agent-usage-update |
Coordinates remote collection and local fallback. |
shell/plugins/agents/Main.qml |
Propagates gateway state and model labels. |
shell/plugins/agents/Panel.qml |
Adds gateway selection and login UI. |
shell/plugins/agents/README.md |
Documents Hermes sources and configuration. |
test/shell.d/agent-meter-test.sh |
Tests remote collection and authentication. |
test/shell.d/agent-usage-hermes-scanner-test.sh |
Tests local Hermes aggregation. |
test/shell.d/agent-usage-update-test.sh |
Tests precedence and fallback behavior. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 9 changed files in this pull request and generated no new comments.
Suppressed comments (1)
shell/plugins/agents/Panel.qml:686
- First-time setup cannot reach the credential form. A local Hermes record has
remoteGateway === false,authRequired === false, andgatewayConfigured === false, so clicking Remote Gateway takes this branch and runsremote; that command requires an existing config and fails, whilegatewayRemoteModestays false and keeps the URL/credential fields hidden. Only reuse the saved gateway whengatewayConfiguredis true; otherwise switch to remote mode and show the form.
if (root.provider && root.provider.remoteGateway !== true
&& root.provider.authRequired !== true)
root.useRemoteUsage()
|
@teknium1 — same ask as on #6645, and this one leans on you harder. Keeping it open. Where #6645 reads local usage, this adds a remote source: it talks to a Hermes gateway over HTTP with a cookie-jar login, and sums What we'd like to know from your side:
If any of it is unofficial, we'd rather wait for something you're happy to support than ship a panel that quietly goes wrong when the gateway changes. For context: this and #6645 are the only Hermes work not folded into #7469, deliberately — #7469 adds the app and the terminal agent and touches none of |
|
Thanks! The local Hermes scan, including your named-profile support, is coming in through #14039 (credited there). The remote gateway and the new panel pieces target the old panel, so closing this one. |
Summary
The meter has no daemon and installs nothing into Hermes' application data. Passwords are sent over stdin rather than process arguments; the saved gateway configuration and session cookie are written with mode
0600. Session titles, previews, prompts, and responses are never written to the agents panel record.Relationship to the Hermes PRs
This builds on #6645 and should be reviewed as the commit after
65fbf31b. Since that branch lives in a fork, GitHub will show #6645's commits in this PR until #6645 merges intoquattro; the diff will then reduce automatically to the gateway integration.This is separate from the optional Hermes installer in #6644, so people who already run Hermes can use the usage integration even if the installer is not merged.
Testing
./test/clibash test/shell.d/agent-meter-test.shbash test/shell.d/agent-usage-hermes-scanner-test.shbash test/shell.d/agent-usage-update-test.shpython -m py_compile bin/omarchy-agent-meter bin/omarchy-agent-usage-hermesgit diff --checkThe full
./test/shellrun passes all Hermes tests. Its remaining failures on the test machine are unrelated: three packaging checks require a separateomarchy-pkgscheckout, and the existing multi-monitor runtime smoke check reports duplicate loading across every bar widget.