English | 中文 | Español
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.
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.
SQL Chat is built by Next.js, it supports the following databases and will add more over time:
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.
See SQL Chat Privacy Policy.
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=<<YOUR OPENAI KEY>> -p 3000:3000 --hostname localhost sqlchat/sqlchat
host.docker.internal
as the host in
the database connection setting.OPENAI_API_KEY
: OpenAI API key. You can get one from here.
OPENAI_API_ENDPOINT
: OpenAI API endpoint. Defaults to https://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 to true
to allow users to bring their own OpenAI API key.
NEXT_PUBLIC_USE_DATABASE
: Set to true
to start SQL Chat with database. This will
enable following features:
DATABASE_URL
: Applicable if NEXT_PUBLIC_USE_DATABASE
is true
. Postgres connection string to store data. e.g. postgresql://postgres:YOUR_PASSWORD@localhost:5432/sqlchat?schema=sqlchat
.Install dependencies
pnpm i
Generate prisma client
pnpm prisma generate
Make a copy of the example environment variables file:
cp .env.usedb .env
Add your API key and OpenAI API Endpoint(optional) to the newly created .env
file.
You can skip this section with NEXT_PUBLIC_USE_DATABASE=false
if you don't build features requiring database
Start a Postgres instance. For mac, you can use StackbBricks, DBngin or Postgres.app.
Create a database:
CREATE DATABASE sqlchat;
In .env
file, assign the connection string to environment variable DATABASE_URL
and DATABASE_DIRECT_URL
. This article explains why we need two URLs.
Set up database schema
pnpm prisma migrate dev
(Optional) Seed data
pnpm prisma db seed
This project is under the BSL License. See the LICENSE file for the full license text.
See this issue.
Your OpenAI Key has run out of quota. Please check your OpenAI account.
Please make sure you have a stable network connection which can access the OpenAI API endpoint.
ping api.openai.com
If you cannot access the OpenAI API endpoint, you can try to set the OPENAI_API_ENDPOINT
in UI or environment variable.