AI Share Usage
Track how much of a shared Codex (ChatGPT) account each team member has used
this week, right in the VS Code status bar.
48% / 61%
The account is 61% through its weekly quota, and you have used 48% of your 1/N
share of it. Hover for a summary popup, click for a dashboard panel.
Language. The extension UI — status bar, tooltips, notifications,
dashboard and setup guide — follows the aiShareUsage.language setting
(auto, ko, en); auto picks Korean when VS Code's display language is
Korean and English otherwise. Command palette titles, the view name and the
settings descriptions follow VS Code's own display language instead, because
VS Code resolves them from package.nls.json before the extension starts.
How it works
Codex only reports the usage of the whole account, never per person. The
extension collects per-model token counts from your local omo session logs,
uploads them to a Supabase project your team owns, and fits per-model
weights against the movement of the account percentage. Those weights turn each
member's tokens back into a personal percentage. Tokens are additive, so
concurrent work by several members still adds up to the account total.
Requirements
- VS Code 1.96+ (or Cursor)
codex login completed on this machine
- A GitHub account (sign-in goes through GitHub OAuth)
- The one-line invite from your team admin — it carries the team server, so the
published extension needs no server coordinates from you
Getting started
Install the extension, then click the status bar item
AI Share Usage: Join with invite, or run AI Share Usage: Setup Guide from
the command palette. Members have three steps:
- Paste the invite your admin sent you (or click the invite link)
- Sign in with GitHub
- Open the dashboard
The invite is one line, ais1.<ref>.<key>.<group>, carrying the team server
address, its public key and the group code. There is nothing else to configure,
and it must stay inside the team channel: anyone holding it can join the group.
Admins do the rest, all of it inside the same guide: create the Supabase
project, supabase db push, the GitHub OAuth App, supabase config push, then
configure the server, create the group and copy the invite code or invite link
to send out. The guide also covers daily use, every setting, troubleshooting and
exactly which fields are sent to your server.
Development
npm install
npm run build
npm run lint
npm test
F5 runs the "Run Extension" launch configuration, which builds via the
npm: build task and opens an Extension Development Host.
Live Supabase check
npm test runs entirely against a mocked Supabase client. To exercise a real
project (rpcs, RLS, Realtime) end to end, point it at your project through the
environment and run:
set -a; . ./.env; set +a # SUPABASE_URL or SUPABASE_PROJECT_REF, see .env.example
npm run live-check
It reads the anon and service_role keys at runtime through
supabase projects api-keys (Supabase CLI login required; keys are never
written to disk or printed), creates throwaway users at @example.invalid,
runs one PASS/FAIL check per behaviour, deletes everything it created and exits
non-zero on any failure. Safe to rerun.
Releasing
npm run release # patch, or npm run release minor
scripts/release.mjs checks that the working tree is clean, runs
npm version <bump>, pushes the tag and creates the GitHub release. The
release workflow then builds the VSIX and publishes it to the VS Code
Marketplace and Open VSX. npm run package builds a VSIX locally.
License
MIT