Quick answer
A useful OpenCode dashboard shows four things: today's tokens and cost, a daily trend, a provider and model split, and the most expensive sessions. UsageAtlas builds all four from the local database. Anything about remaining provider balance is outside the data and must come from the provider.
The four panels
| Panel | Reads | Answers |
|---|---|---|
| Today | Latest messages | Am I on pace? |
| Trend | Daily totals | Is this a spike or a baseline? |
| Models | Model and provider fields | What is efficient? |
| Sessions | Session records | Which task cost most? |
Build it locally
- Install UsageAtlas and detect OpenCode.
- Open Today and confirm the newest session appears.
- Switch History to 30 days for a baseline.
- Open Insights and sort by cost per session.
- Export a range if you need to share it.
Know what is missing
- No provider balance or remaining plan allowance.
- No cloud aggregation across machines by default.
- No billing reconciliation; the invoice is the source of truth.
- Deleted sessions disappear from every panel.
Build a dashboard that answers three questions
A usage dashboard does not need charts for their own sake. It needs to answer whether you can keep working, what the month cost, and which project is responsible.
| Panel | Question | Source |
|---|---|---|
| Today | Can I keep working? | Current sessions |
| History | What did the month cost? | Database totals |
| Models | Where is the spend? | Per-model split |
| Projects | Who consumed it? | Working directories |
| Alerts | Will I be blocked? | Reported limits |
UsageAtlas lays those panels out for OpenCode and 13 other providers. For the raw view, see OpenCode usage.
Questions, answered
Does OpenCode have a built-in dashboard?
The CLI has a stats command in recent versions. It is a snapshot, not a persistent dashboard with history and model splits.
Can the dashboard show multiple machines?
Only with cloud sync or by exporting and combining data. Local sessions live on one machine.
How often does the dashboard refresh?
UsageAtlas refreshes in the background as OpenCode writes new messages, so an active session appears within a short delay.