Accessing the dashboard
When running via Docker (recommended), the dashboard is automatically available:Get the URL
Print the dashboard URL:Custom host and port
Change the bind address in your config (~/.lerim/config.toml):
http://localhost:9000
Dashboard tabs
The dashboard has five main sections:Overview
High-level metrics and charts showing:- Sessions processed — Total agent conversations indexed
- Messages exchanged — User and assistant messages across all sessions
- Tools called — Agent tool invocations (file reads, commands, etc.)
- Errors encountered — Extraction failures and runtime errors
- Token usage breakdown — Tokens consumed by model and role
- Activity by day and hour — Session frequency heatmaps
- Model usage distribution — Which LLMs are being used (OpenRouter, OpenAI, Anthropic)
Metrics update in real-time as new sessions are synced and memories are extracted.
Runs
Searchable session list (50 per page) with status and metadata:- Session run ID
- Coding agent (Claude Code, Cursor, Codex, OpenCode)
- Timestamp
- Status (processed, failed, queued)
- Message count
- Project association
Memories
Library and editor for memory records:- Browse all memories — Decisions and learnings extracted from sessions
- Filter by type — Decision or learning
- Filter by tags — Tags assigned during extraction
- Filter by confidence — Confidence score (0.0 to 1.0)
- Inspect individual memories — View full content with frontmatter
- Edit memories — Modify title, body, kind, confidence, and tags directly
Memory card example
Pipeline
Sync and maintain status:- Extraction queue state — Sessions pending, processing, or completed
- Latest extraction report — Summary of last sync run
- Sessions indexed
- Memories extracted
- Errors encountered
- Recent sync timestamps — When sync last ran and next scheduled run
- Recent maintain timestamps — When maintenance last ran
Queue status example
Settings
Dashboard-editable configuration:- Server settings — Poll interval, sync window, max sessions
- Model role configuration — Which LLMs to use for extraction, synthesis, etc.
- Tracing toggle — Enable OpenTelemetry tracing for debugging
~/.lerim/config.toml immediately.
Example settings
Changes to config require a server restart to take effect:
Top bar filters
The dashboard includes global filters in the top bar:- Agent filter — Show data for specific platforms (Claude, Codex, Cursor, OpenCode)
- Scope filter — Switch between project-level and global data
- Overview metrics and charts
- Run listings in the Runs tab
- Memory counts in the Memories tab
HTTP API
The dashboard is built on top of Lerim’s JSON API. Key endpoints:| Endpoint | Method | Description |
|---|---|---|
/api/health | GET | Healthcheck for container monitoring |
/api/status | GET | Runtime state (agents, memory count, queue) |
/api/ask | POST | LLM-synthesized query |
/api/sync | POST | Trigger sync cycle |
/api/maintain | POST | Trigger maintenance |
/api/memories | GET | List all memories |
/api/search | POST | Keyword search memories |
Dashboard features
Session chat viewer
Click any session in the Runs tab to open a full-screen viewer:- Complete conversation history
- User and assistant messages
- Tool calls and results
- Timestamps and metadata
- Syntax highlighting for code blocks
Memory editor
From the Memories tab, click [Edit] on any memory:- Edit title
- Edit body (markdown supported)
- Change primitive type (decision/learning)
- Adjust confidence score
- Modify tags
- Update kind (insight, procedure, friction, pitfall, preference)
Live metrics
The Overview tab shows live metrics:- Total sessions indexed
- Messages per day
- Token usage by model
- Activity heatmaps
Notes and limitations
- The dashboard is read-only for run content — you can view sessions but not modify them
- Memory edits go through the Memories tab edit interface
- Graph Explorer code exists in the project but is currently hidden in the UI
- When running via Docker, the dashboard is served by the
lerim serveprocess alongside the daemon loop and HTTP API
Troubleshooting
Dashboard not loading
Dashboard not loading
The server might not be running.Solution: Start Lerim:Check status:If it’s running, verify the port:
Empty metrics
Empty metrics
No sessions have been synced yet.Solution: Run an initial sync:Or wait for the automatic daemon cycle (default: every 10 minutes).
Changes not appearing
Changes not appearing
The dashboard may need a refresh to show updates.Solution: Refresh the page or navigate between tabs to force a data reload.
Port conflict
Port conflict
Another service is using port 8765.Solution: Change the port in config:Then restart:
Next steps
- Query memories from CLI: Querying memories guide
- Learn about Docker workflow for always-on operation
- Read the CLI reference for all available commands