Repository navigation
feat(agents): All tab, period filters, more harnesses, and honest usage totals - #10400
LucasOl1337 wants to merge 5 commits into
Conversation
|
Sharing related work for coordination around the shared Agents panel: #9204 agrees a focused Codex follow-up after #8862, emitting optional UTC Today's local prototype audit found a concrete coverage failure: the daily total included native Codex while the hourly view only included OpenCode, leaving a false zero for an hour with about 15.0M native tokens. The useful invariant for both efforts is that totals for the same source scope, window, and token definition reconcile, or the UI makes incomplete attribution explicit. I have submitted only the independent native repeated-notification correction so far (#10531). The hourly UI remains a separate follow-up. Linking the discussions here so the optional field/coverage semantics can stay compatible as your aggregate and live views evolve. |
9ed963b to
d9902b0
Compare
|
Rebased onto current |
|
Thanks for the rebase update. I checked the period aggregation at d9902b0 and found a remaining time-window mismatch relevant to the coverage point above: A small synthetic reproduction using the current helper functions gives 100 tokens in the weekly daily totals but 1,000 in All/week's model total when that provider has 1,000 all-time tokens and no per-day model breakdown. Could we keep the fallback explicitly labeled as all-time/incomplete, or show the selected-window model breakdown as unavailable rather than presenting it as a weekly total? A behavioral regression test for this case would also help keep the later optional hourly buckets consistent with these views. |
The agents panel could only show Claude, Codex, and Fireworks, and its token charts were stuck on the last seven days. Add collectors for Antigravity quotas and Hermes tokens-by-model, then teach the panel an All chip that sums every harness and Day / Week / Month / Total filters that do not wait for a quota reset.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
d9902b0 to
10184e1
Compare
Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
Thanks for removing the all-time fallback. I checked 6ad89bd and found two remaining cases in the All/week footer:
Could the footer use the uncapped selected-period totals and label missing model attribution as incomplete? I reproduced both with the production Panel.qml helpers and synthetic records. The five Python tests pass, but they exercise a separate implementation; a regression against the QML helpers would catch these cases. |
|
Thanks for all the work here. Thanks for this! The agents panel was redesigned in #13770 into a single page with every agent and account at once, so the All tab and period filters don't apply anymore. Grok landed in #13992, and Cursor, OpenCode, Copilot, Hermes, and Antigravity collectors are being brought in from their dedicated PRs. Closing. |
Summary
Stock Omarchy's Agents panel charts Claude, Codex, and Fireworks over the last seven days. This PR is the rest of that panel: every harness that actually runs on an Omarchy machine, filters that match the calendar instead of a quota window, project and live inspection, and totals that do not lie.
It is the same work that ships today as
lol.agentsv1.4.1. The plugin id staysomarchy.agents. Refresh still goes throughomarchy-agent-usage-update. Extra collectors are newbin/omarchy-agent-usage-*commands, so the stock updater picks them up.What stock does today
What this PR adds
Views
Collectors (stock updater discovers them)
agysession + weekly pools~/.gemini/antigravity-cli~/.hermes/state.dband profiles~/.grok/sessionsopencode.db, dated by the message clocksessions.dbAccuracy (the part that bit us on a real desktop)
today*is not today. A leftover OpenCode file from 6 Sep kepttodayTotalTokens: 585147withupdatedAt: null. Day painted that as calendar today. The panel now truststoday*only whenupdatedAtor the history itself is from today.modelUsage. That fallback is how a billion Grok Bot tokens from Cursor's billing-cycle map showed up under Day. Addresses the review on the earlier revision: bounded periods use per-day history only; Total still shows the cycle / all-time breakdown. Regression:tests/test_period_model_map.py.autoPercentUsedand Ultra'sincludedAmountCentsproduced a fake 45% and a prepaid $400 wallet. Meters now parse the display sentences; a balance appears only whenspendLimitUsagehas a real remaining + limit.Test plan
bash test/shell.d/agents-panel-test.shbash test/shell.d/agents-usage-accuracy-test.shbash test/shell.d/agents-usage-collectors-test.shbash test/shell.d/agents-tracking-test.shbash test/shell.d/agent-usage-update-test.shbash test/shell.d/agent-usage-hermes-scanner-test.shgit diff --checkOn a live Omarchy desktop the same collectors already run as
lol.agents1.4.1: OpenCode today is 0 when the last turn was last week; Cursor chips show 1% / 0% next to Settings.Notes
quattro.