An open API service indexing awesome lists of open source software.

https://github.com/dorylab/dory

AI-native SQL workspace for modern data works. SQL Copilot, schema-aware editor, database chat, and operational tools in one place.
https://github.com/dorylab/dory

ai clickhouse clickhouse-ui data-studio database database-client database-gui database-management database-tools dbeaver-alternative developer-tools mysql navicat-free postgres postgresql query-editor sql sql-client sql-editor

Last synced: 7 days ago
JSON representation

AI-native SQL workspace for modern data works. SQL Copilot, schema-aware editor, database chat, and operational tools in one place.

Awesome Lists containing this project

README

          


Dory Logo

Dory

**Dory is an AI-native Data Workspace for modern databases.**

> The AI-powered Data Studio you've been waiting for.

It combines intelligent SQL editing, context-aware AI assistance, conversational database exploration, and deep operational integration across modern databases into a single unified studio β€” helping you explore, monitor, and manage your data with the power of AI.


πŸš€ Try Live Demo Β  β€’ Β 
🍺 Install via Homebrew Β  β€’ Β 
🍎 Download for macOS Β  β€’ Β 
Download for Windows Β  β€’ Β 
πŸ“¦ Quick Start Β  β€’ Β 
🏠 Self-Hosting Β  β€’ Β 
🀝 Contributing Β  β€’ Β 
⭐ Star

**No signup required. Click "Enter as Demo" to start instantly.**

**πŸ‘‡ Live Playground: https://app.getdory.dev**

![Dory Preview](./public/actions.png)

## πŸš€ Quick Start
### Install on macOS with Homebrew

```bash
brew install dorylab/dory/dory
```

### Run with Docker

Make sure Docker is installed, then run:

```bash
docker run -d --name dory \
-p 3000:3000 \
-e DS_SECRET_KEY="$(openssl rand -base64 32 | tr -d '\n')" \
-e BETTER_AUTH_SECRET="$(openssl rand -hex 32)" \
-e BETTER_AUTH_URL="http://localhost:3000" \
-e DORY_AI_PROVIDER=openai \
-e DORY_AI_MODEL=gpt-4o-mini \
-e DORY_AI_API_KEY=your_api_key_here \
-e DORY_AI_URL=https://api.openai.com/v1 \
-e NEXT_PUBLIC_REQUIRE_EMAIL_VERIFICATION=false \
-e DORY_INIT_USER_EMAIL=admin@getdory.dev \
-e DORY_INIT_USER_PASSWORD=admin \
dorylab/dory:latest
```

Then:

`Username: admin@getdory.dev`

`Password: admin`

The initial administrator account is controlled by `DORY_INIT_USER_EMAIL` and `DORY_INIT_USER_PASSWORD` in `.env`.

To enable email verification, set `RESEND_API_KEY` to a valid [resend](https://resend.com) key and `EMAIL_FROM` to a validated email.

### Self-host with Docker Compose

For long-running self-hosted deployments, Docker Compose runs Dory with a dedicated PostgreSQL database and persistent volumes.

```bash
cp docker-compose.env.example .env
# Edit .env and replace all placeholder secrets/passwords.
docker compose up -d
```

For comprehensive self-hosting documentation, environment variables, and deployment guides, see the [Self-Hosting Documentation](https://www.getdory.dev/docs/deploy/self-hosting).

## ✨ Key Features

### 🧠 SQL Copilot

An AI assistant grounded in real database schema and current query context.

- **Ask** β€” Generate SQL from natural language
- **Action** β€” Fix or rewrite the current SQL
- **Context** β€” Explain query logic and field semantics

AI that understands your database β€” not just text completion.

---

### ⌨️ Schema-Aware Autocomplete

- SQL completion based on real database schema
- Suggests tables, columns, functions, and aliases
- Supports multi-table joins and subqueries

---
image

### ✍️ Intelligent SQL Editor

- Multi-tab SQL workspace with support for multiple result sets
- Save and organize frequently used queries
- AI-powered SQL Copilot for writing, explaining, and optimizing queries
- Instant query visualization with built-in charts

---
image

### πŸ’¬ Database Chatbot

- Built-in conversational AI assistant
- Automatically understands connected database schema
- Ask questions directly about tables and SQL
- Quickly locate field meanings and query ideas

---

### πŸ”— Agent Access via MCP

- Desktop MCP endpoint for local agent clients
- No manual token copy/paste in the desktop app
- Supports schema discovery, saved queries, read-only SQL, table previews, monitoring summaries, and analysis tools

---

### πŸ“ˆ ClickHouse Monitoring (Deep Integration)

A native observability interface designed specifically for ClickHouse.

- Real-time metrics:
- Total queries
- Slow queries
- Error queries
- Active users
- Query latency trends (P50 / P95)
- Query throughput trends (QPM)
- Multi-dimensional filtering:
- User
- Database
- Query type
- Time range

---

![Dory Preview](./public/monitor-overview.png)

### πŸ” ClickHouse Privileges (Deep Integration)

Native ClickHouse user and role management UI.

- Create, edit, and delete database users
- Create roles and configure grant relationships
- Configure:
- Login username and password
- Allowed host addresses
- Granted roles and default roles
- Supports cluster-level privilege operations (On Cluster)
- No need to manually write GRANT / CREATE USER SQL

---

## πŸ”Œ Database Support

| Database | Status |
| ---------- | ------------------- |
| ClickHouse | βœ… Deeply integrated |
| PostgreSQL | βœ… Supported |
| Neon | βœ… Supported |
| MySQL | βœ… Supported |
| MariaDB | βœ… Supported |
| SQLite | βœ… Supported |
| DuckDB | βœ… Supported |
| SQL Server | βœ… Supported |
| Oracle | βœ… Supported |
| Snowflake | 🚧 Planned |

---

## 🧠 Supported AI Providers

Dory is built with a pluggable AI provider architecture.
You can freely switch between different model vendors by changing environment variables β€” no code changes required.

Currently supported providers:

| Provider | Env `DORY_AI_PROVIDER` | Description |
| ----------------- | ---------------------- | ----------------------------------------------------- |
| OpenAI | `openai` | Default provider. Uses official OpenAI API. |
| OpenAI-Compatible | `openai-compatible` | Any service exposing an OpenAI-compatible API. |
| Anthropic | `anthropic` | Claude models via Anthropic official API. |
| Google | `google` | Gemini models via Google Generative AI API. |
| Qwen (Alibaba) | `qwen` | Qwen models via DashScope OpenAI-compatible endpoint. |
| xAI | `xai` | Grok models via xAI API. |

---

## πŸ”— Desktop MCP

The Dory desktop app includes local MCP (Model Context Protocol) support, so agent clients can use your Dory connections without manually copying API tokens.

To enable it:

1. Open the Dory desktop app.
2. Go to **Settings β†’ Agent Access**.
3. Turn on **Enable**.
4. Add the displayed local endpoint to your MCP client.

By default, desktop MCP runs at:

```text
http://127.0.0.1:3318/api/mcp
```

For Codex CLI:

```bash
codex mcp add dory --url http://127.0.0.1:3318/api/mcp
codex mcp list
```

For Claude Code:

```bash
claude mcp add --transport http dory http://127.0.0.1:3318/api/mcp
claude mcp list
```

Dory manages the desktop MCP grant automatically. The local MCP endpoint can list connections, inspect schemas, read saved queries, preview tables, run read-only SQL, and build analysis context for connected databases.

---

## πŸ—ΊοΈ Roadmap

See the latest roadmap here:

Dory Roadmap

---

## βš™οΈ Tech Stack

- Next.js + React + Tailwind
- Drizzle ORM
- Multi-model AI SDK integration
- PGLite
- Resend
- Shadcn UI
- Monaco Editor

---

## 🎯 Who is it for?

- Data engineers
- Data analysts
- Database platform teams
- ClickHouse operations teams

---


Your data stays yours.
Except for AI requests sent through Cloudflare Gateway,
everything β€” connections, tabs, and saved queries β€” is stored locally on your device.

## πŸ“„ License

Apache-2.0