nao is a framework to build and deploy analytics agents. Create context for your analytics agent with the nao-core CLI, then deploy a chat UI for anyone to interact with your data.
🌐 Website · 📚 Documentation · 💬 Slack · 🐙 GitHub
latest- Latest stable releasecommit-hash- Specific commit hash tags
linux/amd64
- Python 3.12 (slim) with Node.js 24 and Bun
docker run -d \
--name nao \
-p 5005:5005 \
-e OPENAI_API_KEY=sk-... \
-v /path/to/your/project:/app/project \
getnao/nao:latest| Variable | Required | Description |
|---|---|---|
NAO_DEFAULT_PROJECT_PATH |
Yes | Path to your nao project (default: /app/example) |
OPENAI_API_KEY |
No* | OpenAI API key |
ANTHROPIC_API_KEY |
No* | Anthropic API key |
BETTER_AUTH_SECRET |
No | Secret key for authentication |
DB_URI |
No | PostgreSQL connection string (uses SQLite if not set) |
SERVER_PORT |
No | Port to listen to |
* At least one LLM API key is required to make AI queries.
| Port | Description |
|---|---|
5005 |
Web UI and API, can be set via $SERVER_PORT environment variable |
Mount your nao project directory to make it available to the agent:
-v /path/to/your/nao-project:/app/projectThen set NAO_DEFAULT_PROJECT_PATH=/app/project, you can also use the example project by setting NAO_DEFAULT_PROJECT_PATH=/app/example.
docker run -d \
--name nao \
-p 5005:5005 \
-e NAO_DEFAULT_PROJECT_PATH=/app/project \
getnao/nao:latestThen navigate to http://localhost:5005 to access the UI (or to any URL you configured).
- 🧱 Open Context Builder — Create file-system context for your agent
- 🏳️ Data Stack Agnostic — Works with any data warehouse, stack, LLM
- 🔒 Self-hosted & Secure — Use your own LLM keys for maximum data security
- 🤖 Natural Language to Insights — Ask questions in plain English
- 📊 Native Data Visualization — Create visualizations directly in chat
Apache 2.0 - See LICENSE