Appearance
Admin console tour
Open the console (default http://localhost:5173, production at your admin domain) and sign in with an ADMIN or SUPER_ADMIN account. Regular users are rejected at login.
Navigation
| Group | Pages | What lives there |
|---|---|---|
| Overview | Dashboard, Analytics, Users | KPIs, traffic charts, latency, user management |
| AI Platform | Providers, Models, Playground | Everything about upstream AI supply + a live test bench |
| Monetization | Plans (+ Credit packs), Coupons, Payment channels | What you sell, and what customers can pay with |
| Ops | Feature flags, Announcements, Community, Support, Audit log | Day-to-day operations |
Playground lets an admin generate text / image / video through the real gateway (routing, failover, usage records, library persist) exactly like a customer — but with plan quotas bypassed, so you can test any model, including ones that are not on sale yet (they are badged as such). That is how you decide whether to sell a newly discovered model. Results are kept in the DB under an internal identity and excluded from revenue analytics. See Playground.
Roles
- ADMIN — everything except role changes and impersonation.
- SUPER_ADMIN — also: change user roles, impersonate users, transfer ownership.
Every privileged action is written to the Audit log (who, what, when, metadata) — check it whenever something looks unexpected.
Daily operating rhythm (suggested)
- Dashboard — glance at requests, jobs in flight, margin.
- Community → Reports — clear the moderation queue (badge shows open count).
- Support — answer new tickets.
- Providers — click Health-check all if any traffic anomaly; exhausted accounts show
EXHAUSTED. - Models — the banner names models that are live but failing every request. Verify them from the page; a model can be enabled and still be broken upstream.
- Analytics → Recent errors — anything spiking?
Safety features you should know
- Provider API keys are AES-256-GCM encrypted at rest and never displayed again after entry — only a masked tail (
•••• 4f2a). - Suspending a user instantly revokes all their sessions, API keys, and refresh tokens.
- "Impersonate" (SUPER_ADMIN) issues a 10-minute token and is prominently audit-logged.
- Disabling a payment channel stops payments through it immediately — checkout refuses it, rather than the button merely disappearing from a client that may be running a cached copy of the list.
- A coupon is spent only when a payment succeeds, so an abandoned checkout never consumes a use of a limited campaign. The coupon list shows whether each code is live right now, which answers most "my code doesn't work" tickets without reading the rules back one at a time.
- Dark mode: moon icon, top right. Mobile: the sidebar collapses to a menu button.