
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@howaboua/opencode-usage-plugin
Advanced tools
opencode plugin for tracking AI provider usage, rate limits, and quotas
Track AI provider rate limits and quotas in real-time.
Add to your opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@howaboua/opencode-usage-plugin"]
}
OpenCode installs dependencies automatically on next launch.
The plugin creates a default config file on first run at:
Linux/macOS: ~/.config/opencode/usage-config.jsonc
Windows: %APPDATA%\opencode\usage-config.jsonc
{
// REQUIRED: Proxy server endpoint (default: "http://localhost:8000")
// Leave empty ONLY if you don't use the proxy
"endpoint": "http://localhost:8000",
// REQUIRED: API key for proxy auth (default: "VerysecretKey")
// Leave empty if your proxy doesn't require authentication
"apiKey": "VerysecretKey",
// Optional: Request timeout in milliseconds (default: 10000)
"timeout": 10000,
// Optional: Z.ai API endpoint (default: "https://api.z.ai")
"zaiEndpoint": "https://api.z.ai",
// Optional: Show/hide providers in /usage output
"providers": {
"openai": true,
"anthropic": true,
"proxy": true,
"copilot": true,
"zai": true,
"openrouter": true
},
// Model group display configuration (optional)
"modelGroups": {
// Show all model groups from proxy (default: true)
// When true: auto-discovers all groups, uses displayNames as overrides
// When false: only shows groups listed in displayNames (whitelist mode)
"showAll": true,
// Override display names for specific groups (optional)
// Groups not listed here use their original name from the proxy
"displayNames": {
"g3-pro": "Gemini Pro",
"g3-flash": "Gemini Flash",
"claude": "Claude"
}
}
}
⚠️ Important: If using the Mirrowel Proxy, both
endpointandapiKeymust be set. The proxy defaults toendpoint: http://localhost:8000andapiKey: VerysecretKey. If you changed these during your proxy setup, you MUST update your config file to match.
The modelGroups section controls how quota groups are displayed:
showAll | displayNames | Behavior |
|---|---|---|
true (default) | empty/missing | Show all groups with original names |
true | provided | Show all groups, apply display name overrides |
false | provided | Only show groups in displayNames (whitelist mode) |
false | empty/missing | Shows no groups (all filtered out) |
| missing section | — | Legacy behavior (hardcoded group whitelist) |
If missing, the plugin creates a default template on first run.
Copilot is detected from either of these locations:
~/.local/share/opencode/copilot-usage-token.json~/.local/share/opencode/auth.json with a github-copilot entry~/.config/opencode/copilot-quota-token.json (optional override)/usage
/usage codex
/usage anthropic
/usage claude
/usage proxy
/usage copilot
/usage zai
/usage glm
/usage openrouter
/usage or
/usage support
| Provider | Source |
|---|---|
| Codex / OpenAI | Auth tokens + /wham/usage endpoint |
| Anthropic Claude | OAuth profile + /api/oauth/usage windows |
| Mirrowel Proxy | Local /v1/quota-stats endpoint |
| GitHub Copilot | GitHub internal usage APIs |
| Z.ai GLM Coding Plan | chat.z.ai auth + Z.ai usage APIs |
| OpenRouter | API key + openrouter.ai/api/v1/key |
Proxy shows "not configured" error
endpoint and apiKey are set in usage-config.jsoncendpoint: http://localhost:8000, apiKey: VerysecretKeyMissing provider data
providers: { ... } in config to disable unused providerschat.z.ai credentialsanthropic in auth.json)openrouter or or in auth.json)Config file not found
usage-config.jsonc on first runSee AGENTS.md for internal architecture.
FAQs
opencode plugin for tracking AI provider usage, rate limits, and quotas
We found that @howaboua/opencode-usage-plugin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.