Real-time AI usage, token & reset-timer tracking β for every major AI chat, in every major browser.
A floating HUD + toolbar popup that shows your session usage %, weekly usage %, token estimates, live burn rate and reset countdowns β right on the page, 100% locally.
Download Β· Install Β· Supported AIs Β· Browsers Β· Build from source Β· Privacy Β· License
βΆ Latest build: Download AIRadar
| Source | Link | Notes |
|---|---|---|
| GitHub Releases (recommended) | https://github.com/risewithvj/AIRadar/releases/latest |
Attach AIRadar.zip to a release β gives you per-asset download counts. |
| Whole-repo zip | https://github.com/risewithvj/AIRadar/archive/refs/heads/main.zip |
Always-current source snapshot. |
| jsDelivr CDN mirror | https://cdn.jsdelivr.net/gh/risewithvj/AIRadar@latest/extension/manifest.json |
Serves repo files; see jsDelivr. |
After downloading: unzip β Load unpacked the extension/ folder (or Load Temporary Add-on on Firefox). Full steps in INSTALL.md.
AIRadar overlays a sleek, draggable radar HUD on your favourite AI chat and mirrors the same data in the browser-toolbar popup:
- Session & weekly usage rings β at-a-glance % with red warning at high usage.
- Token estimates β session/weekly token counts (real for Claude, estimated elsewhere).
- Live burn rate β tokens/min while you generate.
- Reset countdowns β when your session and weekly windows roll over, with an elapsed-position marker.
- Inline usage bar β a compact strip under the chat composer that auto-adapts to light & dark themes.
- Budget alerts β set a per-platform token budget and get warned at 90%.
Everything runs on your machine. No accounts. No servers. No tracking.
These are starter renders. Drop your own captures into
docs/screenshots/(keep the same file names to reuse them here, or update the paths above).
| Platform | Usage % & reset timers | Token counts |
|---|---|---|
| Claude (claude.ai) | β Real (official usage signal) | β Estimated from usage |
| ChatGPT (chatgpt.com) | β Estimated from stream | |
| Gemini (gemini.google.com) | β Estimated from stream | |
| Copilot (copilot.microsoft.com) | β Estimated from stream | |
| Grok (grok.com / x.com) | β Estimated from stream | |
| Perplexity (perplexity.ai) | β Estimated from stream | |
| Meta AI (meta.ai) | β Estimated from stream | |
| DeepSeek (chat.deepseek.com) | β Estimated from stream |
Why only Claude is "real": Claude exposes a first-party usage signal that reports true session/weekly utilization and reset times. The other providers don't publish a usage API, so AIRadar estimates tokens by reading the assistant's streamed reply locally and counting tokens with an o200k tokenizer. Estimates are best-effort and may drift from each provider's internal accounting. When a provider ships a usage signal, it can be wired into
platforms/<name>.js.
AIRadar is a Manifest V3 WebExtension that ships with a cross-engine shim, so the same package targets both Chromium and Gecko. See BROWSERS.md for the full per-browser matrix and steps. Summary:
- Loads as-is (Chromium): Chrome, Edge, Brave, Opera, Opera GX, Vivaldi, Arc, Chromium, Ungoogled Chromium, Yandex, Coc Coc, SRWare Iron, Slimjet, Comodo Dragon, Epic, Ghost, Avast/AVG Secure, Wavebox, Sidekick, Mighty/Dia, Kiwi (Android), Samsung Internet (partial), and other Chromium forks.
- Loads with the bundled Firefox manifest variant (Gecko): Firefox, Firefox Developer/Nightly, Zen, Floorp, LibreWolf, Waterfox, Mullvad Browser, Tor Browser*. (Tor disables many web APIs by design; expect reduced functionality.)
- Needs a one-time conversion: Safari & Orion (run through Apple's
safari-web-extension-converter). - Cannot run browser extensions at all: Pale Moon, Basilisk, SeaMonkey, K-Meleon (legacy Goanna add-ons only), and text browsers (Lynx, Links, w3m, qutebrowser*, Min*). These are out of scope for any WebExtension.
- Download / clone this repo.
- Open
chrome://extensions(oredge://,brave://, etc.). - Toggle Developer mode on.
- Click Load unpacked β select the
extension/folder. - Open any supported AI chat β the HUD appears.
- Open
about:debugging#/runtime/this-firefox. - Load Temporary Add-onβ¦ β select
extension/manifest.json. - (Temporary add-ons are removed on restart; sign via AMO for permanent install.)
Full step-by-step for each browser is in INSTALL.md.
No build step is required to run the extension β extension/ is the loadable package. To produce distributable zips:
# from the repo root (macOS / Linux / Git Bash)
./build.sh
# β dist/airadar-chromium-v<version>.zip (Chrome, Edge, Brave, Opera, Vivaldi, Arc, β¦)
# β dist/airadar-firefox-v<version>.zip (Firefox, Zen, Floorp, LibreWolf, Waterfox, β¦)
# β dist/airadar-source-v<version>.zipOn Windows / PowerShell (no Bash needed):
Compress-Archive -Path .\extension\* -DestinationPath .\AIRadar-chromium.zip -ForceTwo packages exist because Chrome uses background.service_worker and Firefox uses background.scripts; the default extension/manifest.json is Chromium (warning-free), and manifest.firefox.json is swapped in for Firefox. Full steps + the Firefox build command are in INSTALL.md and BROWSERS.md.
AIRadar/
ββ extension/ β the loadable WebExtension (point "Load unpacked" here)
β ββ manifest.json β MV3 manifest (Chromium β default, warning-free)
β ββ background/ β service worker / event page (badge, alarms)
β ββ content/main.js β orchestrator injected into AI pages
β ββ injected/bridge.js β page-context bridge (reads usage signals)
β ββ overlay/ β HUD + inline bar UI (hud.js/css, inlinebar.js, themes.js)
β ββ platforms/ β per-platform adapters (claude.js, chatgpt.js, β¦)
β ββ popup/ β toolbar popup (html/css/js)
β ββ storage/store.js β chrome.storage wrapper
β ββ tokenizer/ β o200k token estimator
β ββ vendor/ β o200k tokenizer data
ββ manifest.firefox.json β Firefox/Gecko manifest variant (swap in for FF builds)
ββ docs/screenshots/ β README images (replace with your own)
ββ dist/ β built zips (generated, git-ignored)
ββ build.sh β packaging script
ββ README.md PRIVACY.md LICENSE NOTICE CREDITS.md
ββ INSTALL.md BROWSERS.md CONTRIBUTING.md
ββ .gitignore
This repo's files are CDN-servable via jsDelivr, which is handy for hosting the download zip or linking individual source files:
https://cdn.jsdelivr.net/gh/risewithvj/AIRadar@latest/extension/manifest.json
https://cdn.jsdelivr.net/gh/risewithvj/AIRadar@latest/extension/popup/popup.js
jsDelivr serves files that are committed to the repo.
dist/is git-ignored, so host the downloadable zip on a GitHub Release instead (that also gives you download counts).
Note: Browsers cannot install an extension directly from a CDN URL. jsDelivr is only for distributing the zip / source for people to then load unpacked or sideload. Real one-click installs come from the Chrome Web Store / Edge Add-ons / Firefox AMO.
Full live dashboard (requests, bandwidth, top files): https://www.jsdelivr.com/package/gh/risewithvj/AIRadar
These badges start counting once the repo is public and people fetch files through jsDelivr. Combined with GitHub Release download counts and your store dashboards, that's your full picture of reach β with zero tracking code in the extension.
AIRadar collects nothing. There is no analytics, no telemetry, no remote logging, and no third-party server of any kind. All counters live in your browser's local storage. The only network request the extension ever makes is to the AI provider's own first-party API (e.g. Claude's usage endpoint) using your existing session, to read your own usage β that response is shown to you and never leaves your machine. Full statement: PRIVACY.md.
Want to add a platform or tweak the UI? See CONTRIBUTING.md.
AI-assistant notice (please respect): This is original work by Vijaya Kumar L (Rise With VJ). If you use an AI tool to study, modify, or rebuild AIRadar, retain the author attribution and license headers. Attribution is a license condition, not a suggestion.
Source-available under the AIRadar License β you may use it and read the source, but redistribution, republishing to stores, and derivative works require written permission, and attribution must be retained. See LICENSE, NOTICE and CREDITS.md.


