Dory
AI-native SQL workspace for modern databases. SQL Copilot, schema-aware editor, database chat, and operational tools in one place.
Install / Use
/learn @dorylab/DoryREADME
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 engineers and analysts write, understand, and manage data more efficiently.
<!-- > Explore data with SQL and AI, together. --> <p align="center"> <a href="https://app.getdory.dev"><b>🚀 Try Live Demo</b></a> • <a href="#install-on-macos-with-homebrew"><b>🍺 Install via Homebrew</b></a> • <a href="https://github.com/dorylab/dory/releases"><b>🍎 Download for macOS</b></a> • <a href="https://github.com/dorylab/dory/releases"><b>Download for Windows</b></a> • <a href="#quick-start"><b>📦 Quick Start</b></a> • <a href="./docs/contributing.md"><b>🤝 Contributing</b></a> • <a href="https://github.com/dorylab/dory/stargazers"><b>⭐ Star</b></a> </p>No signup required. Click “Enter as Demo” to start instantly.
👇 Live Playground: https://app.getdory.dev

🚀 Quick Start
Install on macOS with Homebrew
brew install dorylab/dory/dory
Run with Docker
Make sure Docker is installed, then run:
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 \
dorylab/dory:latest
🧠 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. |
✨ 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
<img width="3024" height="1898" alt="image" src="https://github.com/user-attachments/assets/c1775613-5773-4552-a188-90442f8f82ad" />
✍️ 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
<img width="3024" height="1898" alt="image" src="https://github.com/user-attachments/assets/d3e0b7a7-8c16-44d0-b248-685f7e386b6b" />
💬 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
<img width="3024" height="1898" alt="image" src="https://github.com/user-attachments/assets/4397055f-7c74-4505-90dc-8d822845b670" />
📈 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

🔐 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 | | MySQL | ✅ Supported | | MariaDB | ✅ Supported | | | SQLite | ✅ Supported (Beta) | | DuckDB | 🚧 Planned
🗺️ Roadmap
See the latest roadmap here:
<a href="https://github.com/dorylab/dory/discussions/35" target="_blank" rel="noopener noreferrer">Dory Roadmap</a>
⚙️ 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
🚀 Getting Started
Docker one-click deployment
Install on macOS with Homebrew:
brew install dorylab/dory/dory
Desktop client: https://github.com/dorylab/dory/releases
<h3> Your data stays yours. Except for AI requests sent through Cloudflare Gateway, everything — connections, tabs, and saved queries — is stored locally on your device. <h3>
📄 License
Apache-2.0
Related Skills
oracle
346.4kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
prose
346.4kOpenProse VM skill pack. Activate on any `prose` command, .prose files, or OpenProse mentions; orchestrates multi-agent workflows.
Command Development
107.2kThis skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
Plugin Structure
107.2kThis skill should be used when the user asks to "create a plugin", "scaffold a plugin", "understand plugin structure", "organize plugin components", "set up plugin.json", "use ${CLAUDE_PLUGIN_ROOT}", "add commands/agents/skills/hooks", "configure auto-discovery", or needs guidance on plugin directory layout, manifest configuration, component organization, file naming conventions, or Claude Code plugin architecture best practices.
