Skip to content

Dashboard

MemLayer includes a web-based dashboard for monitoring the state of your memory system. It is the landing page of the frontend application, accessible at the root URL (/).

The dashboard is organized into four sections:

A real-time indicator in the top-right corner shows whether the MemLayer API is reachable. It refreshes every 30 seconds and displays either Healthy (green) or Unhealthy (red).

Four cards at the top provide a snapshot of your instance:

CardDescription
Total MemoriesCount of all stored memories across every layer
Vector CountNumber of embeddings in the Qdrant vector database
FactsCount of memories classified in the Fact layer
EpisodesCount of memories classified in the Episode layer

A breakdown of memories by semantic layer, showing the count and percentage for each:

  • Domain — broad topic areas (Layer 0)
  • Concept — abstract ideas within a domain (Layer 1)
  • Fact — specific, atomic pieces of knowledge (Layer 2)
  • Episode — time-bound events or interactions (Layer 3)

Each layer is displayed as a color-coded progress bar so you can see at a glance how your knowledge graph is balanced.

Monitors data integrity between the memory store (XTDB) and the vector store (Qdrant). It reports two metrics:

  • Missing Vectors — memories that do not have a corresponding embedding in Qdrant.
  • Orphan Vectors — embeddings in Qdrant that no longer correspond to a memory.

When inconsistencies are detected, the panel highlights with a yellow border and suggests running a cleanup.

The dashboard sidebar provides navigation to the rest of the frontend:

PagePathPurpose
Dashboard/System overview (this page)
Browser/browserSearch and browse stored memories
Playground/playgroundTest retain and recall operations interactively
Graph/graphVisualize memory relationships as an interactive graph

The dashboard consumes two backend endpoints. Neither requires authentication.

GET /health — Returns "ok" when the API and its database connections are operational. Polled every 30 seconds.

GET /api/v1/debug/state — Returns a JSON object with memory counts, vector counts, layer distribution, and consistency check results. Polled every 10 seconds.

Example response:

{
"memory": {
"total_count": 142,
"by_layer": [
["domain", 5],
["concept", 18],
["fact", 87],
["episode", 32]
]
},
"vector": {
"total_count": 142,
"collection_name": "memories"
},
"consistency": {
"missing_vectors": 0,
"orphan_vectors": 0,
"missing_vector_ids": []
}
}

The dashboard is available at app.memlayer.dev after signing in.