Analytics
Message volume, AI usage, command stats, and engagement metrics with CSV and PDF export.
Audit log
Full action history with real-time WebSocket streaming and CSV/JSON export.
Conversations
Browse, search, and replay every AI conversation with per-message flagging.
Bot config
Edit every configuration key through a form-based editor backed by the API.
Accessing the dashboard
Before you open the dashboard you need three environment variables set on the web process.Generate a secret
Run the following command and copy the output:Set this value as
NEXTAUTH_SECRET. The secret must be at least 32 characters and must not contain placeholder text.Create a Discord OAuth2 application
Go to the Discord Developer Portal, create an application, and open OAuth2. Add your dashboard URL as a redirect:Copy the Client ID and Client Secret into your environment:
Set the public URL
Tell NextAuth where the app is hosted:For local development use
http://localhost:3000.The dashboard enforces authentication at both the middleware layer and the server layout. Unauthenticated requests are always redirected to
/login.Page structure and URL layout
Every dashboard page lives under/dashboard. The active server is tracked in application state and persists across page navigation.
| URL | Section |
|---|---|
/dashboard | Analytics overview |
/dashboard/audit-log | Audit log |
/dashboard/conversations | AI conversation list |
/dashboard/conversations/:id | Single conversation replay |
/dashboard/config | Bot config editor |
/dashboard/moderation | Moderation actions |
/dashboard/members | Member list and detail |
/dashboard/ai | AI chat settings |
/dashboard/temp-roles | Temporary role assignments |
/dashboard/tickets | Support tickets |
/dashboard/settings | Dashboard settings |
/dashboard/performance | Performance metrics |
/dashboard/logs | Bot logs |
Selecting a server
The sidebar contains a server picker. When you select a server, every page resets its data and fetches fresh content for that guild. You can only see servers where your Discord account has administrator permissions.Themes
The dashboard supports dark and light themes powered bynext-themes. The theme preference is stored locally and applied on load with no flash of unstyled content.
Mobile support
All pages are responsive. Tables collapse non-essential columns on small viewports, and the sidebar becomes a drawer on mobile. Filters and controls stack vertically on narrow screens.Authentication session
Sessions use JWT strategy with a 7-day maximum age. Discord access tokens are refreshed automatically in the background when they expire. If the refresh fails, the dashboard redirects you to/login.