nalanqingcheng / sqlchat

Chat-based SQL Client and Editor for the next decade

Home Page:https://sqlchat.ai

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SQL Chat banner

SQL Chat

vercel

English | 中文

What

SQL Chat is a chat-based SQL client to ask database questions and query databases using natural language.

Screenshot

Screenshot

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

Data Privacy

  • All database connection configs are stored locally in your browser. You can also visit settings to clear the data.

  • Only the database schema will be sent to the OpenAI API. No table data will be sent there.

  • If you use sqlchat.ai, it will record the anonymised conversations.

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.

Self-host with Docker

docker run --name sqlchat --platform linux/amd64 -p 3000:3000 sqlchat/sqlchat

Required environment variables:

  • DATABASE_URL: Postgres connection string to store data. e.g. postgresql://postgres:YOUR_PASSWORD@localhost:5432/sqlchat?schema=sqlchat.
  • OPENAI_API_KEY: OpenAI API key. You can get one from here.

Optional environment variables:

  • OPENAI_API_ENDPOINT: OpenAI API endpoint. Defaults to https://api.openai.com.
docker run --name sqlchat --platform linux/amd64 --env OPENAI_API_KEY=xxx --env OPENAI_API_ENDPOINT=yyy -p 3000:3000 sqlchat/sqlchat

Local Development

  1. Make a copy of the example environment variables file:

    cp .env.example .env
  2. Add your API key and OpenAI API Endpoint(optional) to the newly created .env file.

  3. 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 DATABASE_URL.

  4. Install dependencies

    pnpm i
  5. Generate schema

    1. Generate prisma client from the model

      pnpm prisma generate
    2. Migrate schema

      pnpm prisma migrate dev
    3. (Optional) Seed data

      pnpm prisma db seed

Star History

Star History Chart

Community

Hang out on Discord

Follow us on Twitter

sqlchat

Sponsors

License

This project is under the BSL License. See the LICENSE file for the full license text.

FAQ

How to self host SQL Chat?

  • You can deploy SQL Chat to Vercel with one click

    vercel

  • You can deploy your SQL Chat with docker in seconds

    docker run --name sqlchat --platform linux/amd64 -p 3000:3000 sqlchat/sqlchat

How to use my OpenAI API key?

  • You can set the OPENAI_API_KEY in environment variable.

    docker run --name sqlchat --platform linux/amd64 --env OPENAI_API_KEY=xxx -p 3000:3000 sqlchat/sqlchat
  • You can set the OPENAI_API_KEY in setting dialog.

It always says that I have a network connection issue?

Please make sure you have a stable network connection which can access the OpenAI API endpoint. If you cannot access the OpenAI API endpoint, you can try to set the OPENAI_API_ENDPOINT in UI or environment variable.

About

Chat-based SQL Client and Editor for the next decade

https://sqlchat.ai

License:Other


Languages

Language:TypeScript 98.5%Language:CSS 0.6%Language:Dockerfile 0.6%Language:JavaScript 0.3%