Dashboard
The WASP web dashboard provides a browser-based interface for chatting with the agent, managing goals and agents, browsing memory, monitoring health, and configuring integrations. It is served on port 8080 and proxied by nginx.
Access
The dashboard is available at https://your-domain.com and requires authentication.
Login: Use the password set in DASHBOARD_SECRET (minimum 16 characters).
Sessions are persistent (24-hour TTL by default). CSRF protection is enforced on all state-changing endpoints.
Navigation Structure (v2.5+)
The sidebar is organized into 5 labeled sections:
| Section | Pages |
|---|---|
| Dashboard | Overview |
| Configurations | Models, Skills, Skill Evolution, Identity, Integrations, API Keys |
| System | Config, Scheduler, Agents, Goals, Tasks, Memory, Vector Memory, World Model, Knowledge Graph, Cognitive |
| Governance | Behavioral Rules, Self-Improve, Subscriptions, Reset |
| Observability | Health, Audit Log, Live Feed, Metrics |
Pages Reference
Dashboard
Overview (/)
The main landing page:
- Agent identity card (name, personality, born-at, total XP)
- Current agent state badge (IDLE / ACTIVE / DREAMING)
- Active goals count, recent skill calls
- Quick links to all sections
Configurations
Models (/models)
Manage LLM providers:
- All 11 provider cards: Anthropic, OpenAI, Google, xAI, Mistral, DeepSeek, Moonshot/Kimi, OpenRouter, Perplexity, HuggingFace, LMStudio
- Full model catalog per provider (v2.5: removed 3-model truncation limit)
- Active provider indicator, health status
- Switch active model via API
Skills (/skills)
Manage built-in and custom skills:
- List all 37+ skills with capability level and description
- Enable/disable custom Python skills
- Delete custom skills
- View skill usage statistics
Skill Evolution (/skill-evolution)
Automatic skill synthesis management:
- Detected patterns table (skill combinations + occurrence count)
- Synthesized skills with diff view
- Enable/disable synthesis per pattern
Identity (/identity)
Configure who the agent is:
- Name, personality description, tone, role definition
- These fields feed directly into the system prompt (below
prime.md)
Integrations (/integrations)
Configure third-party connectors:
- List all 40+ available connectors
- Configure credentials (stored in SecretVault)
- Set autonomy policy per integration (assist/semi/full)
- View circuit breaker status (CLOSED / OPEN / HALF_OPEN)
- Test connector connectivity
API Keys (/apis)
Manage LLM provider API keys:
- Set/update keys per provider
- Keys stored in Redis hash
apikeys - Masked display for security
System
Config Center (/config)
Two-column layout for runtime configuration:
- Left column:
prime.mdsystem prompt editor with Ctrl+S save. Changes take effect immediately (no restart needed). - Right column: 12 feature flags organized in 4 groups:
- Autonomy:
SOVEREIGN_MODE,AUTONOMOUS_GOALS_ENABLED - Execution:
PLAN_CRITIC_ENABLED,META_AGENT_ENABLED - Learning:
SKILL_EVOLUTION_ENABLED,BEHAVIORAL_LEARNING_ENABLED - Memory:
VECTOR_MEMORY_ENABLED,WORLD_MODEL_ENABLED,TEMPORAL_REASONING_ENABLED - Safety:
SELF_IMPROVE_GATE_ENABLED
- Autonomy:
- Runtime parameters display (max rounds, timeouts, budget limits)
- Overrides stored in Redis key
config:overrides— survive container restarts
Scheduler (/scheduler)
Monitor background jobs:
- All 41 registered jobs with next run time and interval
- Last run time and duration
- Success/failure counts per job
- Manual trigger for any job
Agents (/agents)
Multi-agent management:
- List all active and archived agents
- Create new agents with objectives
- Pause, resume, and archive agents
- View current goal per agent
- Monitor agent resource usage
Goals (/goals)
Manage autonomous goal execution:
- List all goals with status, progress, and priority
- Create new goals with objective and priority
- Cancel or replan active goals
- View task graph and execution history per goal
- Set autonomy mode (full/semi/assist)
Tasks (/tasks)
User-defined scheduled tasks:
- List recurring tasks with schedule and last run
- Create/edit/delete tasks
- Toggle active/inactive
Memory (/memory)
Browse the agent's memory:
- Search episodic and semantic memories by keyword
- View memory type (episodic, semantic, procedural, visual)
- Filter by date range and chat ID
- Delete individual memories
- Procedural memory tab: view extracted procedures with trigger keywords
- Dream log tab: view past dream sessions
Vector Memory (/vector-memory)
Semantic similarity search:
- Search by natural language query (cosine similarity)
- View embedding metadata
- Requires
VECTOR_MEMORY_ENABLED=true
World Model (/world-model)
Real-world entity tracking:
- Entity state cards (crypto prices, trends, change %)
- Historical timeline per entity
- Temporal insights: 24h trend summaries
- Predictions: LLM-generated forecasts
Knowledge Graph (/knowledge-graph) (extracted from Memory in v2.5)
Force-directed canvas graph:
- Physics simulation: node repulsion, link attraction, center pull, drag, click-to-select
- Node type colors: person (blue), concept (purple), preference (amber), fact (green), organization (cyan), asset (orange), place (lime), event (pink)
- Node detail overlay panel: label, type, value, confidence, relations
- Node management table with per-row delete
Cognitive (/cognitive)
Agent's internal mental state:
- Self-Model tab: strengths, known failures, user preferences, weekly stats, skill success rates
- Epistemic tab: domain confidence bars, reset button
- CPI tab: Cognitive Pressure Index live gauge (0–100), breakdown by dimension, auto-refresh every 30s
Governance
Behavioral Rules (/behavioral-rules) (new in v2.5)
Learned rules from user corrections:
- Stats cards: total / active / disabled / learning examples
- Type breakdown badges: refusal / hallucination / wrong_skill / missing_context
- Per-rule: confidence bar, times applied, toggle ON/OFF, delete
- Client-side text search filter
- Learning examples table: trigger text, expected skill, use count
Self-Improve (/self-improve) (new in v2.5)
AI-generated code change proposals awaiting human review:
- Pending proposals: target file, description, unified diff in
<details>viewer - Apply (writes file, creates backup, removes from Redis) / Reject (removes from Redis) — both with htmx fade-out
- Applied history table from AuditLog
- Proposals stored in Redis hash
self_improve:proposals
Subscriptions (/subscriptions) (new in v2.5)
RSS feeds and price alert management:
- Stats cards: active, RSS count, price alert count
- Price alert cards with asset name, threshold, direction (above/below), last check
- RSS subscriptions table with Pause/Resume/Delete per row
Reset (/reset) (new in v2.6)
Hard reset the agent to a clean slate:
- Must type "RESET WASP" exactly in the confirmation field (paste/drop blocked)
- Progress console streams each reset step live
- Wipes: 17 DB tables, 12+ Redis key patterns, agent identity XP, self-model
- Runs
VACUUM FULLfor immediate disk reclamation - AuditLog entry written with
action="agent.reset" - Result shown in green-bordered card + WaspToast notification
What gets erased: All episodic/semantic/procedural/visual/vector memories, behavioral rules, learning examples, knowledge graph, world timeline, dream log, skill patterns, agents, tasks, capabilities, opportunities, Redis cognitive state.
What survives reset: /data/src_patches backups, API keys, custom Python skill code files, subscriptions, Docker volumes.
Observability
Health (/health)
System health dashboard:
- Redis, PostgreSQL, Ollama connectivity
- Disk/RAM/CPU gauges with sparklines
- Health score (0–100)
- Safety & Execution Control panel (4 sub-panels):
- Last Soft Gate: last self_improve decision (ALLOW / WARN / BLOCK)
- CRIT-3 Daily Budget: critical-path self-edits today vs daily cap
- Saccadic Vision: last content change detection timestamp and hash
- Learning Queue:
behavioral:pendingdepth / 50 cap with color-coded threshold (yellow ≥20, red ≥40)
- Integrity Report tab: Self-Integrity Monitor findings — self-model vs actual skill rates, epistemic drift, error spikes
- Live refresh API:
GET /health/api/latest
Audit Log (/audit)
Paginated audit trail:
- All actions with timestamp, action type, input/output summaries (secrets redacted)
- Filter by date range and action type
- Keyset pagination (cursor-based — O(1) performance)
- Action types include:
skill.shell,skill.self_improve,agent.reset, plus all goal/task actions
Live Feed (/live)
Real-time event stream:
- All Redis stream events displayed as they arrive
- Filter by event type
- Auto-reconnects on disconnect
Metrics (/metrics)
Performance charts:
- Request latency distribution
- Skill success rates over time
- Token usage by provider
- Error rate trends
Streaming Chat
The chat endpoint uses Server-Sent Events for real-time streaming:
const response = await fetch('/chat/stream', {
method: 'POST',
headers: {'Content-Type': 'application/json', 'X-CSRF-Token': csrfToken},
body: JSON.stringify({message: userInput}),
});
Authentication
- Session-based authentication with
itsdangeroussigned cookies - CSRF tokens bound to session ID (not just generated randomly)
- Login rate limiting (5 attempts/minute)
DASHBOARD_SECRETmust be at least 16 characters (enforced at startup)
Running Locally
# Access dashboard directly (bypasses nginx)
ssh -L 8080:localhost:8080 your-server
# Then open http://localhost:8080 in browser
Decision Layer API
The dashboard exposes a classification endpoint for testing routing:
curl -X POST https://your-domain.com/chat/classify \
-H "Content-Type: application/json" \
-d '{"message": "remind me tomorrow at 9am to check email"}'
# Returns: {"strategy": "SCHEDULED_TASK", "confidence": 0.95, ...}