A data analyst that actually remembers its mistakes
Dash is a self-learning SQL agent that grounds every answer in six layers of context and gets smarter with each query.

What it does Dash lets you ask business questions in plain English and get back SQL-backed answers with actual interpretation, not just raw tables. It runs as a Dockerized FastAPI service with a multi-agent team: an Analyst that queries your data read-only, and an Engineer that builds reusable views and records them to a shared knowledge base. You can chat via terminal, Slack, or a web UI through the vendor-hosted AgentOS.
The interesting bit
The “self-learning” part isn’t just marketing. Dash uses Agno’s Learning Machine to automatically capture error patterns and fixes, then retrieves them on future queries so the same mistake doesn’t happen twice. It also enforces a hard split between your company data (read-only public schema) and agent-generated assets (dash schema), which is the kind of structural guardrail most LLM tools skip.
Key highlights
- Six layers of context: table metadata, business rules, proven query patterns, institutional docs, learned error fixes, and live schema introspection
- Dual-agent team with read-only SQL enforcement at the tool level, not just prompt level
- Built-in evaluation suite for accuracy, routing, security, governance, and schema boundaries
- Ships with synthetic SaaS metrics dataset (~900 customers, 2 years) for immediate testing
- One-command Railway deployment with separate production credential handling
Caveats
- Production requires a JWT verification key from the proprietary AgentOS service; the app crash-loops until you set this up
- The Slack and web UI integrations lean on external (vendor-hosted) infrastructure, so this isn’t a fully self-contained stack
- README is truncated mid-sentence in the environment variables section, so some configuration details are unclear
Verdict Worth a look if you’re building internal analytics tools and want a reference architecture for agentic SQL with actual memory and safety rails. Skip it if you need a fully offline or vendor-agnostic solution, or if your data stack isn’t PostgreSQL-friendly.