Skip to main content
Dash is a self-learning data agent that gets better with every query. Traditional Text-to-SQL agents start from scratch on every query. They guess column names, repeat the same mistakes, and never learn from corrections. Your team fixes an error, and the agent makes the same error again tomorrow. Dash solves this with 6 layers of grounded context and a learning loop that captures every fix. The knowledge base functions like manually-editable model weights: update retrieval context, not neural network parameters. Checkout the repo for more details.

How It Works

Dash is a team of three agents coordinated by a leader: Schema boundaries: Company data lives in the public schema (read-only). Agent-created views and summary tables live in the dash schema. The Analyst’s SQL tools enforce read-only at the PostgreSQL level, not just in prompts.

Six Layers of Context

Self-Learning

Two paths run in parallel: the online path answers questions using retrieved context, the offline path captures learnings for future queries. Dash improves without retraining or fine-tuning: When a query fails because position is TEXT and not INTEGER, Dash saves that. Next time, it knows. When your team is focused on IPO prep, Dash learns that “revenue” means ARR, not bookings, and that the board wants cohort retention broken out by enterprise vs SMB.

Insights, Not Just Rows

Dash reasons about what makes an answer useful, not just technically correct. Question: Who won the most races in 2019?

Run Locally

See Setup guide for detailed instructions.
Confirm Dash is running at http://localhost:8000/docs.

Connect to the Control Plane

  1. Open os.agno.com
  2. Click Connect OSLocal
  3. Enter http://localhost:8000

Deploy to Railway

See Deploy to Railway for JWT setup and production configuration. Railway deployment uses .env.production to keep production credentials separate.
1

Deploy infrastructure

The app will crash-loop until the JWT key is added in the next step. That’s expected.
2

Get your JWT key

  1. Copy your Railway domain from the output (e.g. dash-production-xxxx.up.railway.app)
  2. Open os.agno.comConnect OSLive
  3. Paste your Railway URL
  4. Go to Settings and generate a key pair
  5. Add the public key to .env.production:
3

Push environment and redeploy

Production Operations

Database scripts must run inside Railway’s network:

Connect to Slack

Dash can receive DMs, @mentions, and thread replies, and can post to channels proactively.
  1. Run Dash with a public URL (ngrok locally, or your Railway domain)
  2. Create the Slack app from the manifest in docs/SLACK_CONNECT.md
  3. Set SLACK_TOKEN and SLACK_SIGNING_SECRET in .env
  4. Restart Dash
See Slack setup for details.

Example Prompts

Try these on the sample SaaS metrics dataset:
  • What’s our current MRR?
  • Which plan has the highest churn rate?
  • Show me revenue trends by plan over the last 6 months
  • Which customers are at risk of churning?

Adding Your Own Data

Dash works best when it understands how your organization talks about data: Load or update knowledge at any time:

Run Evals

Five eval categories using Agno’s eval framework:

Source

For architecture details, data model reference, and security configuration, see the GitHub repo.