
sqlchat
Chat-based SQL Client and Editor for the next decade
sqlchat
sqlchat/sqlchat
Just deployed
What
SQL Chat is a chat-based SQL client, which uses natural language to communicate with the database to implement operations such as query, modification, addition, and deletion of the database.
Why
As we enter the Developer Tools 2.0 era, there is a massive opportunity to rebuild the existing tools using the chat-based interface. SQL Client is no exception. Instead of navigating across many UI controls, a chat-based interface is much more intuitive. Of course, only if that works, and our goal is to deliver that experience.
How
SQL Chat is built by Next.js, it supports the following databases and will add more over time:
- MySQL
- PostgreSQL
- MSSQL
- TiDB Cloud
sqlchat.ai
IP Whitelisting
If you use sqlchat.ai to connect to your database, you need to add 0.0.0.0 (allow all connections) to the database whitelist IP. Because sqlchat.AI is hosted on Vercel which uses dynamic IP. If this is a concern, please consider the self-host option below.
Data Privacy
Self-host
Docker
If you just want to run for your own use, supply the following options:
NEXTAUTH_SECRET
OPENAI_API_KEY
docker run --name sqlchat --platform linux/amd64 --env NEXTAUTH_SECRET="$(openssl rand -hex 5)" --env OPENAI_API_KEY=<> -p 3000:3000 --hostname localhost sqlchat/sqlchat
- Pass an arbitrary string to NEXTAUTH_SECRET otherwise next-auth will complain.
- If you chat to the database on the same host, you need to use
host.docker.internal
as the host in the database connection setting.

Startup options
TL;DR
- If you just want to use for yourself, then run without database. Check .env.nodb.
- If you want to offer a similar service as sqlchat.ai, then run with database, check .env.usedb. The database is used to store account, usage info.
OpenAI related
-
OPENAI_API_KEY
: OpenAI API key. You can get one from here. -
OPENAI_API_ENDPOINT
: OpenAI API endpoint. Defaults tohttps://api.openai.com
. Use Ollama to set up self-host AI model and set the endpoint to it. -
NEXT_PUBLIC_ALLOW_SELF_OPENAI_KEY
: Set totrue
to allow users to bring their own OpenAI API key.
Database related
NEXT_PUBLIC_USE_DATABASE
: Set totrue
to start SQL Chat with database. This will enable following features:- Account system.
- Per-user quota enforcement.
- Payment.
- Usage data collection.
DATABASE_URL
: Applicable ifNEXT_PUBLIC_USE_DATABASE
istrue
. Postgres connection string to store data. e.g.postgresql://postgres:YOUR_PASSWORD@localhost:5432/sqlchat?schema=sqlchat
.
Template Content
sqlchat
sqlchat/sqlchatOPENAI_API_KEY
Your openai API key