aikit 1.19.0: unified aikit usage snapshot (23 providers) + 4 new agents (Jules, Roo, Codebuff, Qoder) - #47
Merged
Conversation
- aikit usage [providers] [--json] [--all]: read-only probes of 16 providers' usage/credits/rate-limit APIs (CodexBar-derived endpoints), normalised output - add Jules, Roo Code CLI, Codebuff, Qoder CLI to the registry with install/update/uninstall/auth metadata and gateway coverage - tests: mocked HTTP + tmp-home credential tests for every probe Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Contributor
Author
|
Runtime-tested in an isolated terminal (throwaway HOME, no real accounts). Devin session
Not coveredReal-account plan/credit/quota values and installed-agent OAuth guidance (Jules/Qoder correctly returned install-first errors). Test terminal lacked emoji glyphs, so icon columns rendered as boxes there. |
…; add Codebuff, DeepSeek, Moonshot, MiniMax, Novita, Anthropic/OpenAI org spend Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
aikit usage snapshot + 4 new agents (Jules, Roo, Codebuff, Qoder)aikit usage snapshot (23 providers) + 4 new agents (Jules, Roo, Codebuff, Qoder)
…cription only for CLI session tokens Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
…cleaner Codex/OpenRouter cells Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
saheljalal
deleted the
devin/1788945064-aikit-usage-and-registry-audit
branch
September 9, 2026 20:53
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
aikit usage [providers...] [--json] [--all]— one table (or JSON) of plan / account / credits / spend / rate-limit windows across every provider whose CLI already stores credentials locally, plus 4 new registry agents (Jules, Roo Code CLI, Codebuff, Qoder) and registry lifecycle fixes from the audit.Provider probes (23)
Each probe reads existing credentials read-only (never refreshes or writes back), calls the provider's own usage endpoint, and returns one normalised record:
probe_usagenever raises;collect_usageruns probes viask.parallel_mapand restores registry order. Secrets never appear in messages,--json, or tests (_usage_get_jsonmaps 401/403 to "credentials rejected — re-run login").Endpoints were cross-checked across CodexBar, ai-usagebar, MeterBar, UsageOwl and OpenUsage; where they disagreed the more defensive parser won:
limit_window_seconds(5h session / weekly / daily) instead of primary/secondary position; alsocode_review_rate_limit,additional_rate_limits[],rate_limit_reset_credits.$GITHUB_COPILOT_TOKEN→github-copilot/{apps,hosts}.json→gh/hosts.yml→gh auth token(keyring, only if hosts.yml exists); sends theEditor-Version/X-GitHub-Api-Versionheaderscopilot_internal/userexpects.state.vscdbthen headlesscursor-agent~/.config/cursor/auth.json; parsesindividualUsage.plan.{total,auto,api}PercentUsed+overall.used/limit(cents), falls back to the*DisplayMessagepercentages.GET api.kilo.ai/api/profile/balance(+X-KiloCode-OrganizationId) replaces the tRPC credit-block sum.TOKENS_LIMITunit 3 → 5h session, unit 6 → weekly,TIME_LIMIT→ monthly MCP calls; API-levelcode/successerrors surfaced.~/.kimi-code/regionselectsapi.kimi.aivsapi.kimi.com; expiry short-circuits tounauthenticatedwith no network; windows keyed onwindow.duration/timeUnit; plan from nesteduser.membership.level.manicode/credentials.json), DeepSeek balance, Moonshot balance, MiniMax coding-plantoken_plan/remains, Novita balance (1/10000 USD), Anthropic orgcost_reportand OpenAI org/v1/organization/costsmonth-to-date spend (paginated; refuse partial totals). The billing-only ones live inUSAGE_ONLY_PROVIDERSso they render with names without being installable agents.Deliberately not replicated: providers needing browser HttpOnly cookies (Windsurf, Warp, Zed) and local-transcript cost estimation.
Registry audit
@google/jules,jules login/jules version), Roo Code CLI, Codebuff, Qoder CLI (/login,QODER_PERSONAL_ACCESS_TOKEN); npm uninstall commands are lazy lambdas so the registry builds before helpers are defined.Tests
tests/test_aikit_usage.py— all HTTP stubbed via_usage_http, credentials in a tmp HOME, env vars cleared; covers every probe's happy path, unauth/expired/error paths, header/cookie construction, and that no probe touches the network in an empty home.Not verified: live values against real accounts (no credentials in this environment).
Link to Devin session: https://app.devin.ai/sessions/7316c54fcf484646a7dc1bc46801ccb1
Open in Devin Desktop: https://app.devin.ai/desktop/session/7316c54fcf484646a7dc1bc46801ccb1?variant=devin
Requested by: @saheljalal