Skip to content

F26 -- Admin Panel

Provides administrative controls for managing users, permissions, system configuration, and monitoring platform health. Access is restricted to users with the admin role.

Key Features

  • User management: View and manage user accounts, roles, and permissions.
  • Module configuration: Enable/disable individual modules and configure module-specific settings.
  • LLM configuration: Manage language model settings including model selection, temperature defaults, and rate limits.
  • Source management: Configure external data sources for monitoring modules.
  • Knowledge base admin: Manage document ingestion across all collections.
  • System health: Real-time health checks for all infrastructure services (PostgreSQL, Qdrant, Ollama, Keycloak).
  • Audit log: Browse the audit trail of administrative actions and module usage.
  • Alert management: Configure and review system alerts and notifications.
  • Data governance: Manage data retention policies and privacy controls.
  • Integration management: Configure external API integrations (Mastodon, Reddit, etc.).

Admin Routes

The admin panel has its own layout (AdminShell) with a dedicated navigation bar:

RoutePageDescription
/adminDashboardAdmin overview with system metrics
/admin/usersUsersUser management interface
/admin/modulesModulesModule configuration
/admin/llmLLM ConfigLanguage model settings
/admin/sourcesSourcesExternal data source configuration
/admin/kbKnowledge BaseCross-collection document management
/admin/healthHealthInfrastructure health monitoring
/admin/auditAudit LogActivity and usage audit trail
/admin/alertsAlertsAlert configuration and review
/admin/dataData GovernanceData retention and privacy settings
/admin/integrationsIntegrationsExternal API configuration

Server Functions

FunctionEndpointDescription
list_usersadmin/list-usersList all users with roles
update_user_roleadmin/update-roleChange a user's role
get_system_healthadmin/healthCheck health of all services
get_llm_usageadmin/llm-usageAggregate LLM usage statistics
get_audit_logadmin/audit-logPaginated audit log entries
update_module_configadmin/module-configUpdate module settings

Access Control

All admin routes and server functions require the admin role. The AdminShell layout is nested inside the AppShell layout, so authentication is enforced at two levels:

  1. AppShell checks that the user is authenticated
  2. Admin server functions call require_role("admin")

LLM Usage Dashboard

The admin panel provides visibility into LLM consumption across all 26 modules:

  • Token usage by module (prompt + completion tokens)
  • Latency distribution
  • Request volume over time
  • Model usage breakdown

Data comes from the llm_usage_log table, which is populated by every module that calls the LLM.

UI Components

  • Admin dashboard (/admin): High-level system overview with quick metrics.
  • User table: Sortable list of users with role dropdowns for quick role changes.
  • Health dashboard: Service health cards with status indicators and response times.
  • LLM usage charts: Token consumption and latency visualizations.
  • Audit log viewer: Searchable, filterable audit trail with pagination.
  • Module toggle grid: Enable/disable modules with configuration panels.

Database Tables

  • users -- user profiles with roles and status
  • llm_usage_log -- per-request LLM usage records (module, model, tokens, latency)
  • audit_log -- administrative action records with timestamps and actor