
* fix the change assistant didn't take effect immediately #45 * Update src/store/conversation.ts Co-authored-by: boojack <stevenlgtm@gmail.com> * change method name * change method name * fix the call method --------- Co-authored-by: boojack <stevenlgtm@gmail.com>
What
SQL Chat is a chat-based SQL client to ask database questions and query databases using natural language.
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.
Deploy with Docker
docker run -d --name sqlchat -p 3000:3000 sqlchat/sqlchat:latest
You can set the following environment variables to customize the deployment:
OPENAI_API_KEY
: OpenAI API key. You can get one from here.OPENAI_API_ENDPOINT
: OpenAI API endpoint. Defaults tohttps://api.openai.com
.
Local Development
-
Make a copy of the example environment variables file;
cp .env.example .env
-
Add your API key and OpenAI API Endpoint(optional) to the newly created
.env
file; -
Install dependencies and start the dev server;
pnpm i && pnpm dev
Common questions
How to self host SQL Chat?
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.
Star History
Community

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