项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 5855
技术标签
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- 已安装 Docker
- 准备一个 OpenAI API Key(OPENAI_API_KEY)
- 提供一个任意字符串作为 NEXTAUTH_SECRET
- 宿主机空闲 3000 端口
- (可选)本地 Postgres 实例,用于需要数据库的功能
安装与启动步骤
-
1准备密钥
准备 OpenAI API Key 和任意一个随机字符串作为 NEXTAUTH_SECRET;后者不填 next-auth 会报错。
-
2启动 Docker 容器
用官方镜像拉起 sqlchat,映射 3000 端口;镜像为 amd64 平台,苹果芯片也能跑。
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 -
3启动 Postgres
若要用到依赖数据库的功能,先自行启动一个 Postgres 实例;不需要可跳过并设置 NEXT_PUBLIC_USE_DATABASE=false。
-
4创建数据库
在 Postgres 中新建名为 sqlchat 的数据库,并把连接串写入 .env 的 DATABASE_URL 和 DATABASE_DIRECT_URL。
CREATE DATABASE sqlchat; -
5初始化表结构
在项目目录执行 Prisma 迁移,生成数据库表结构(需要 pnpm 环境)。
pnpm prisma migrate dev -
6(可选)导入种子数据
迁移完成后可执行 seed 命令写入示例数据,非必需。
pnpm prisma db seed
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
OPENAI_API_KEY | 是 | 调用 OpenAI 大模型,将自然语言转换为 SQL | sk-xxxxxxxxxxxxxxxx |
NEXTAUTH_SECRET | 是 | next-auth 所需的任意字符串,不填会报错 | a1b2c3d4e5 |
NEXT_PUBLIC_USE_DATABASE | 否 | 设为 false 可跳过数据库相关功能与建库步骤 | false |
DATABASE_URL | 否 | Postgres 连接串,用于存放应用自身数据 | postgresql://user:pass@localhost:5432/sqlchat |
DATABASE_DIRECT_URL | 否 | Prisma 直连地址,与 DATABASE_URL 成对配置 | postgresql://user:pass@localhost:5432/sqlchat |
如何确认成功
浏览器打开 http://localhost:3000,能看到聊天界面即启动成功。
常见问题
Q:官方托管版 sqlchat.ai 连不上我的数据库?
A:sqlchat.ai 部署在 Vercel 上使用动态 IP,需把 0.0.0.0(允许所有连接)加入数据库白名单;有安全顾虑请改用自托管。
Q:容器里连不上宿主机上的数据库?
A:数据库在宿主机时,连接配置里的 host 要用 host.docker.internal,而不是 localhost。
Q:不想搭建数据库可以吗?
A:可以,设置环境变量 NEXT_PUBLIC_USE_DATABASE=false,即可跳过建库和 Prisma 迁移步骤。
Q:启动时报 next-auth 相关错误?
A:NEXTAUTH_SECRET 必须传入任意非空字符串,用 openssl rand -hex 5 生成即可。
注意事项
- 官方镜像启动参数带 --platform linux/amd64,非 x86 机器会自动走模拟。
- 容器名固定为 sqlchat,端口映射为 3000:3000,重复启动前先删除同名容器。
- Prisma 的 migrate 与 seed 命令需要项目源码和 pnpm 环境,仅用 Docker 跑可跳过。
- 不要把真实 OPENAI_API_KEY 提交到公开仓库或分享给他人。
核心亮点
- 支持 10+ 主流数据库,覆盖 MySQL、PostgreSQL、ClickHouse 等,开箱即用
- 自然语言直接转 SQL,大幅降低数据查询门槛,适合非技术人员
- 界面简洁,聊天交互直观,查询结果即时展示,体验流畅
不足之处
- 依赖外部大模型 API,离线或内网环境无法使用
- 复杂查询的 SQL 生成准确率有限,仍需人工校验
适用场景
- 数据分析师快速探索数据库,无需手写复杂 SQL
- 产品经理或运营自助查询业务数据,减少对技术团队的依赖
- 教学场景中帮助初学者理解 SQL 生成逻辑
替代项目
Text-to-SQL、Vanna、AI2SQL
上一篇:awesome-chatgpt
下一篇:Marina-GPT
同类项目推荐
builderbot
开源
几分钟搞定 WhatsApp 聊天机器人,开源免费
Crear Chatbot WhatsApp en minutos. Únete a este proyecto OpenSource
opal
开源
球鞋社群 Discord 全能管家,发售提醒+自动管理一手抓
An AIO Discord bot for sneaker groups
light-session
开源
长对话不卡顿,ChatGPT 秒响应
Keep ChatGPT fast — Firefox & Chrome extension that trims DOM in long conversations
Cebian
开源
在浏览器侧边栏随时唤起 AI,不切页面直接对话
An AI assistant that lives in your browser side panel
temp-mail
开源
一键生成临时邮箱,即刻接收验证邮件,保护隐私不泄露。
TempMail is a simple web application that allows you to generate temporary email add···
chatAir
开源
一个安卓应用,同时对话 ChatGPT、Gemini、Claude 和 DeepSeek。
☁️A native Android app for ChatGPT, Gemini, Claude, and DeepSeek ☁️ChatGPT、Gem···
Llama-macOS
开源
Mac 上双击就能跑的本地大模型聊天应用
A cosy home for your LLMs.
rasa-chatbot-templates
开源
复制即用,快速搭建 RASA 对话机器人
RASA chatbot use case boilerplate
csml-engine
开源
用简洁语言快速构建聊天机器人,告别复杂逻辑。
CSML is an easy-to-use chatbot programming language and framework.
