opencode
opencode copied to clipboard
feat(app): Add OAuth rate limits and usage dashboard
Summary
Adds visibility into OAuth rate limits and usage information for authenticated providers, particularly useful for Claude Max users to monitor their 5-hour and 7-day usage limits.
Closes #8911
Changes
Backend (packages/opencode)
-
src/auth/index.ts: AddgetUsage()andfetchAnthropicUsage()functions to OAuthPool -
src/server/server.ts: AddGET /auth/usageAPI endpoint -
src/cli/cmd/auth.ts: Addopencode auth usageCLI command
Frontend (packages/app)
-
src/components/dialog-auth-usage.tsx: New dialog component with:- Provider list with account counts
- Anthropic usage limits visualization (5-hour, 7-day)
- Color-coded progress bars (green/yellow/red)
- Account status with cooldown indicators
- Refresh button
-
src/pages/layout.tsx: Add sidebar button to open usage dialog
Screenshots
The dialog displays:
- Usage bars showing utilization percentage
- Reset time countdown
- Active account indicator
- Cooldown status when rate-limited
Testing
- [x] Tested with Claude Max account
- [x] CLI command works correctly
- [x] API endpoint returns expected data
Note
This PR includes the OAuth multi-account failover commits from @gwizz as a foundation, since the usage dashboard builds on that infrastructure. Credit to gwizz for the excellent OAuth rotation system!