Repository navigation
Conversation
- Add bin/omarchy-agent-usage-agy (and bin/omarchy-agent-usage-antigravity symlink) to collect Google Antigravity tokens, session counts, and rolling 5h/7d limits - Add light and dark mode vector assets in shell/plugins/agents/assets/ - Compile authentic monochrome Antigravity mark into default/fonts/omarchy/omarchy.ttf as U+E90F - Update setup.default.agent.agy in default/omarchy/omarchy-menu.jsonc to render with the omarchy icon font - Update test/shell.d/menu-test.sh expectations and charset range
|
| in_tok = max(1, in_chars // 4) if in_chars else 0 | ||
| out_tok = max(1, out_chars // 4) if out_chars else 0 |
There was a problem hiding this comment.
Character counts divided by four are written into the same token fields as measured usage, without an estimate label. Counting each visible message once also misses repeated context sent during later requests. Read recorded token usage where available. Otherwise mark the numbers as estimates and make the panel show that distinction.
| and not d.startswith(".") | ||
| ] | ||
| total_sessions = len(entries) | ||
| today_sessions = min(1, total_sessions) |
There was a problem hiding this comment.
When the database is missing or unreadable, any existing conversation folder makes todaySessions equal one. Old conversations therefore appear as activity today, and several conversations today are reduced to one. Count distinct conversations with dated activity today, or report that today's count is unavailable.
- Remove bin/omarchy-agent-usage-antigravity to prevent duplicate discovery - Remove asset alias symlinks - Emit empty not-ready record when Antigravity has not been used - Report empty limits instead of simulated quota percentages - Store daily token totals in recentDays.messageCount - Dynamically detect model names from transcripts instead of hardcoding - Reconcile SQLite session timestamps with local day boundaries - Ensure --output writes target file on cache hits
…move legacy alias record - Keep configured limits and tierLabel even when local conversations are empty - Automatically clean up legacy antigravity.json alias record to avoid duplicate panel entries - Ensure dynamic model slugification strips parentheticals without hardcoded checks
…plicate log reads
| out_val = max(1, out_chars // 4) if out_chars else 0 | ||
| cache_val = 0 | ||
|
|
||
| tok_sum = in_val + out_val |
There was a problem hiding this comment.
parse_transcripts leaves cache_val out of tok_sum, but adds it to modelUsage. For records with cached input, the panel includes those tokens when comparing models but leaves them out of today’s and the week’s totals. Normalize the input and cache fields, then use the same total for both.
| active_model = session_model or "gemini-3.8-flash" | ||
| bucket = model_usage.setdefault( | ||
| active_model, |
There was a problem hiding this comment.
parse_transcripts now reads every model change before counting any tokens. session_model holds the last selected model, so every earlier record is assigned to that model too. When a user changes models during a conversation, this credits the new model with the old model’s usage and can skew the panel’s “Mostly” label. Update the active model while counting records in order instead.
|
Thanks for this! A couple of notes:
|
|
Thanks for letting me know. I did not know there was other PRs for Antigravity. |
Google Antigravity (
agy) is required to use and track Google AI Pro subscriptions, which are unsupported by the legacy Gemini CLI. Completes the Antigravity integration started in #6900.bin/omarchy-agent-usage-agyto collect Google Antigravity tokens, session counts, and modelsshell/plugins/agents/assets/(agy.svg,agy-light.svg)default/fonts/omarchy/omarchy.ttfasU+E90Fsetup.default.agent.agyindefault/omarchy/omarchy-menu.jsoncto render with the omarchy icon fonttest/shell.d/menu-test.shexpectations and charset range