← Admin Panel

Dashboard

admin panel · wireframes · overview

The home screen after sign-in: the platform's control panel. What needs attention, a system summary and recent events — all pulled together from the admin sections, each tile linking into its own section for the details.

Wireframe
dashboard · /admin
achilles.local/admin /admin · Owner / Admin Admin index route · home screen after sign-in
Overview Acme Corp Europe/Moscow · updated just now
Platform 1
118 Users +3 invites · 6 deactivated
4 Sources 2 active · 1 paused · 1 error
1.24M Entities in graph 4.81M chunks · 918k edges
86 Agents 79 active · 4 paused · 3
$168 / $200 AI spend · June
Knowledge graph 2 Knowledge Store →
Graph curation
re-embedding · Embedding 3 Large → Small
running · 62%
Latest backup
snapshot · daily 02:00
ready today 02:00 · 12.4 GB

Recent activity 3 Audit Log →
14:02 anna@… changed dmitry@…'s role → Admin ok
13:47 Failed sign-in igor@… fail
13:30 dmitry@… revoked API key ach_p03d… ok
12:58 anna@… invited colleague@… ok

System Health v2 4
PostgreSQL healthy
Redis healthy
Workers · SAQ healthy
Embeddings queued
n8n healthy

Needs attention 3 critical 5 Full feed →
Sync critical series ×5 5 min
Jira source: 5 failed runs in a row harvester · source/42
Security critical 20 min
Password brute-force: anna@…, 12 failed sign-ins in 15 min auth · user/anna
System critical 1 h
vLLM provider unavailable — some models not responding ai · provider/vllm
Budget warning today
AI spend for June: $168 of $200 — near the alert threshold admin · budget
Sync warning yesterday
Confluence run: 8 documents in the DLQ harvester · source/17
Still awaiting action 6 3 invitations 1 unmatched identity
  1. 1 At-a-glance summary: counts from users, sources (Active · Paused · Disconnected), the graph, agents and AI usage. Monthly spend is checked against the alert threshold; the gauge is soft (a signal, not a block).
  2. 2 State of the Knowledge Store background runs: whether graph curation is running (and with it re-embedding — which blocks a change of embedding model) and how fresh the latest backup is.
  3. 3 “Recent activity” — the top of the audit log: sign-ins, role changes, API keys, ACL. This is a security journal — its home is Auth & Security. Sync and agent events are not written here — their activity surfaces in “Needs attention” below, via the feed.
  4. 4 System Health v2 — live service status (PostgreSQL · Redis · workers · embeddings · n8n), queue depth and storage volume. It awaits health endpoints and monitoring — not yet in the design, so the block is deferred; the rest of the dashboard runs on data that already exists.
  5. 5 “Needs attention” — a critical / warning slice of the notification feed, sorted by severity: critical first, then warning. Each row deep-links to where it gets fixed (source, user, provider, budget). It draws signals from every subsystem: failed runs and DLQ (Sync), brute-force and role changes (Security), an unavailable provider and a failed backup (System), the spend threshold (Budget). Until the feed arrives (the Notifications module), the block runs on derived signals — the same classes computed on the fly from the journals; the feed will add ×N series, unread state and Security types.
  6. 6 Light admin tasks, not from the feed: invitations in status pending / expired and identities with status unmatched. The Discovery signal “new container out of scope” with a “Add to scope” action is v2, arriving here together with the Discovery type in the feed.
  7. 7 While no source is connected, the knowledge base is empty (is_empty): the “Needs attention” block shows an invitation to connect sources instead of alerts. Grounding switches on by itself with the first accepted chunk — the end user never sees the signal.