Skip to content

Web Dashboard

MindRoom includes a web dashboard for configuring agents, teams, rooms, and integrations without editing YAML files. Changes are synchronized to config.yaml in real-time.

Accessing the Dashboard

Standalone Mode:

mindroom run

The dashboard will be available at http://localhost:8765. When running from a source checkout, MindRoom will build the dashboard assets on first start if Bun is available.

SaaS Platform: Access your dashboard at https://<instance-id>.mindroom.chat

Dashboard Tabs

Dashboard (Overview)

The main dashboard shows system stats and monitoring:

  • Stats cards - Agents (with status breakdown), rooms, teams, models, and voice status
  • Network graph - Visual representation of agent-room-team relationships (desktop only)
  • Search and filter - Filter by agents, rooms, or teams
  • Export Config - Download configuration as JSON

Agents

Configure AI agents:

  • Display name and Role description
  • Model - Select from configured models
  • Memory backend - Inherit global memory backend or override per agent (mem0 or file)
  • Tools - Organized into configured tools (green badge) and default tools (no config needed)
  • Instructions - Custom behavior instructions
  • Rooms - Where the agent operates
  • Learning - Enable or disable Agno Learning per agent (enabled by default)
  • Learning mode - Choose always (automatic extraction) or agentic (tool-driven)

Teams

Configure multi-agent collaboration:

  • Display name and Team purpose
  • Collaboration mode - Coordinate (sequential) or Collaborate (parallel)
  • Team model - Optional model override
  • Team members and Team rooms

Rooms

Manage Matrix room configuration:

  • Display name and Description
  • Room model - Optional model override
  • Agents in room - Select which agents have access

External Rooms

View and manage rooms that agents have joined but are not in the configuration:

  • Per-agent view with room names and IDs
  • Bulk selection and Leave rooms functionality
  • Open in Matrix - Link to view in your Matrix client

Models & API Keys

Configure AI model providers:

  • Add/edit models with provider, model ID, host URL, and advanced settings
  • Provider filter to show models by provider
  • Test connection to verify model accessibility
  • Provider API keys section for configuring credentials

Runtime-supported providers: OpenAI, Anthropic, Google Gemini (google/gemini), Vertex AI Claude (vertexai_claude), Ollama, OpenRouter, Groq, DeepSeek, Cerebras

Memory

Configure global memory defaults:

  • Backend - Global default backend (mem0 or file)
  • Provider - Ollama (local), OpenAI, or Sentence Transformers
  • Model - Provider-specific embedding models
  • Host URL - For Ollama provider
  • File backend settings - Path and file memory tuning options
  • Auto-flush settings - Background extraction and flush controls for file-backed memory

Per-agent overrides are configured from the Agents tab using the Memory backend selector.

Knowledge

Manage file-backed RAG knowledge bases:

  • Create/edit/delete knowledge bases with path and watch settings
  • Upload and remove files per knowledge base
  • Reindex a knowledge base on demand
  • Track index status (file_count and indexed_count)
  • Assign agents to a specific knowledge base from the Agents tab

Git-backed knowledge bases are supported, but Git settings are currently configured in config.yaml (knowledge_bases.<id>.git), not via dedicated dashboard controls yet.

  • The dashboard preserves existing git settings when you edit path/watch.
  • /api/knowledge/bases/{base_id}/files reflects the manager's filtered file set (for example include_patterns/exclude_patterns).
  • Private HTTPS repo auth can be managed in the Credentials tab, then referenced by knowledge_bases.<id>.git.credentials_service.
  • In API-only mode, Git-backed bases are cloned/synced/indexed automatically on first manager initialization.
  • POST /api/knowledge/bases/{base_id}/reindex syncs Git first for Git-backed bases before rebuilding the index.

Credentials

Manage service credentials directly from the dashboard:

  • List configured credential services from CredentialsManager
  • Create/select service names (for example github_private or model:sonnet)
  • Edit raw JSON credential payloads and save via /api/credentials/{service}
  • Test credentials existence using /api/credentials/{service}/test
  • Delete credential sets using /api/credentials/{service}
  • Reuse credentials for Git knowledge sync by setting knowledge_bases.<id>.git.credentials_service to the same service name
  • GITHUB_TOKEN auto-seeds github_private (username: x-access-token, token: <GITHUB_TOKEN>, _source: env) unless the service is UI-managed

Culture

Configure shared culture rules that apply across agents:

  • Create/edit/delete cultures with description and mode
  • Assign agents to cultures
  • Mode selection - automatic (always active), agentic (agent decides when to update), or manual (read-only)

Schedules

View and manage scheduled tasks across rooms:

  • List all schedules with room, status, schedule type, and next run time
  • Edit schedule timing and description
  • Cancel schedules by task ID

Skills

Manage OpenClaw-compatible skills:

  • List installed skills with origin and edit status
  • View skill content (SKILL.md)
  • Create new skills with name and description
  • Edit user-created skills
  • Delete user-created skills

Voice

Configure voice message handling:

  • Enable/disable voice message support
  • Speech-to-Text - OpenAI Whisper or self-hosted
  • Command Intelligence - Model selection for command recognition

Integrations

Connect external services to enable agent capabilities:

  • Categories - Email & Calendar, Communication, Shopping, Entertainment, Social, Development, Research, Smart Home, Information
  • Search and filter by status (Available, Unconfigured, Configured)
  • OAuth flows for Google (6 endpoints), Spotify (4 endpoints), Home Assistant (7 endpoints), and more

Features

Real-time Sync

The sync status indicator in the header shows:

  • Synced - All changes saved
  • Syncing... - Save in progress
  • Sync Error - Sync failed
  • Disconnected - Lost connection to backend

Theme and Responsive Design

Toggle between dark and light themes. The dashboard adapts to desktop and mobile devices.

API Endpoints

The dashboard communicates with the backend API at /api/:

Configuration

Method Endpoint Description
POST /api/config/load Fetch current configuration
PUT /api/config/save Save full configuration
GET /api/config/raw Fetch the raw config.yaml source for recovery editing
PUT /api/config/raw Replace the entire raw config.yaml source during recovery
GET /api/config/agents List all agents
POST /api/config/agents Create new agent
PUT /api/config/agents/{id} Update agent
DELETE /api/config/agents/{id} Delete agent
GET /api/config/teams List all teams
POST /api/config/teams Create new team
PUT /api/config/teams/{id} Update team
DELETE /api/config/teams/{id} Delete team
GET /api/config/models List model configurations
PUT /api/config/models/{id} Update model configuration
GET /api/config/room-models Get room model overrides
PUT /api/config/room-models Update room model overrides
POST /api/config/agent-policies Get backend-derived agent policies for a draft config

When /api/config/load returns validation errors, the dashboard fetches /api/config/raw, opens the recovery editor, and saves a full replacement through PUT /api/config/raw before retrying the structured reload.

Credentials

Method Endpoint Description
GET /api/credentials/list List services with credentials
GET /api/credentials/{service}/status Get credential status
GET /api/credentials/{service} Get credentials for editing
POST /api/credentials/{service} Set credentials
POST /api/credentials/{service}/api-key Set API key
GET /api/credentials/{service}/api-key Get masked API key
POST /api/credentials/{service}/test Test credentials validity
DELETE /api/credentials/{service} Delete credentials
POST /api/credentials/{service}/copy-from/{source_service} Copy credentials from another service

Credentials support scoping via query parameters:

  • agent_name — scope credentials to a specific agent
  • execution_scope — scope credentials to a specific worker scope (e.g., shared, unscoped)

Knowledge

Method Endpoint Description
GET /api/knowledge/bases List configured knowledge bases
GET /api/knowledge/bases/{base_id}/files List files in a knowledge base
POST /api/knowledge/bases/{base_id}/upload Upload one or more files
DELETE /api/knowledge/bases/{base_id}/files/{path} Delete a file from disk and index
GET /api/knowledge/bases/{base_id}/status Get indexing status
POST /api/knowledge/bases/{base_id}/reindex Rebuild the index for a base

Skills

Method Endpoint Description
GET /api/skills List all installed skills
GET /api/skills/{skill_name} Get skill detail (content, origin, edit status)
POST /api/skills Create a new user skill
PUT /api/skills/{skill_name} Update a user skill's content
DELETE /api/skills/{skill_name} Delete a user skill

Schedules

Method Endpoint Description
GET /api/schedules List scheduled tasks (filterable by room)
PUT /api/schedules/{task_id} Edit a scheduled task
DELETE /api/schedules/{task_id} Cancel a scheduled task

Workers

Method Endpoint Description
GET /api/workers List active sandbox workers
POST /api/workers/cleanup Clean up idle sandbox workers

Health & Readiness

Method Endpoint Description
GET /api/health Returns {"status": "healthy"} when the HTTP server is running and Matrix sync is active. Returns 503 with {"status": "unhealthy", "stale_sync_entities": [...]} when Matrix sync has been stale for >180s (after watchdog recovery attempts)
GET /api/ready Returns {"status": "ready"} when the orchestrator has finished startup. Returns 503 with {"status": "<phase>", "detail": "..."} otherwise

MindRoom tracks runtime phases internally:

Phase Meaning
idle Process not started
starting Startup in progress (detail message available)
ready Orchestrator booted, serving requests
failed Startup or runtime failure (detail message available)

Use /api/health for liveness probes and /api/ready for readiness probes in container orchestrators. Note: /api/health returns 503 when Matrix sync is stale (>180s without successful sync, after the 120s watchdog timeout has attempted recovery). Configure liveness probe failureThreshold to allow sufficient time for watchdog self-healing.

Tools & Matrix

Method Endpoint Description
GET /api/tools List available tools
GET /api/rooms List configured rooms
GET /api/matrix/agents/rooms Get all agents' room memberships
GET /api/matrix/agents/{id}/rooms Get specific agent's rooms
POST /api/matrix/rooms/leave Leave a single room
POST /api/matrix/rooms/leave-bulk Leave multiple rooms