Skip to content

Githuiyang/sql-assistant

Repository files navigation

SQL Assistant

让非技术人员也能轻松生成SQL查询语句的开源工具

Deployed on Vercel License Next.js TypeScript

🚀 在线体验: https://sql-assistant-iota.vercel.app | 📦 GitHub: https://github.com/Githuiyang/sql-assistant

功能特性

  • 📤 简单导入: 粘贴SQL代码,上传CSV文件
  • 📖 智能字典: 自动生成字段字典,支持在线编辑
  • 💬 自然语言: 用日常语言描述需求,自动生成SQL
  • 🔒 隐私安全: 本地存储,7天自动清理
  • 🤖 多模型支持: ChatGPT/Gemini/千问/Kimi/智谱
  • 🎨 科技风UI: 简洁现代的界面设计
  • ⌨️ 快捷键支持: 提升操作效率

快速开始

使用Docker(推荐)

# 克隆项目
git clone https://github.com/Githuiyang/sql-assistant.git
cd sql-assistant

# 启动服务
docker-compose up -d

# 访问 http://localhost:3000

本地开发

# 进入前端目录
cd frontend

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 访问 http://localhost:3000

生产构建

# 构建项目
npm run build

# 启动生产服务
npm start

项目结构

sql-assistant/
├── frontend/                    # Next.js前端应用
│   ├── app/                     # App Router目录
│   ├── components/              # React组件
│   ├── lib/                     # 工具库
│   ├── hooks/                   # 自定义Hooks
│   ├── types/                   # TypeScript类型定义
│   └── public/                  # 静态资源
├── docker-compose.yml           # Docker配置
└── README.md                    # 项目说明

核心功能

1. 数据导入

  • 支持粘贴多段SQL代码
  • 支持批量上传CSV文件(≤10MB)
  • 提供示例数据快速体验

2. 字段字典

  • 基于大模型自动生成字段字典
  • 支持在线编辑字段描述和关联关系
  • 可导出为CSV/Excel格式

3. SQL生成

  • 自然语言输入需求
  • 严格基于字段字典生成SQL
  • 自动语法校验
  • 代码高亮显示

4. 历史记录

  • 保存所有操作记录
  • 支持7天自动清理
  • 可按时间筛选查询

技术栈

  • 前端框架: Next.js 14.2 (React 18)
  • UI组件: shadcn/ui + TailwindCSS
  • 类型检查: TypeScript 5.4
  • 代码高亮: react-syntax-highlighter
  • CSV解析: PapaParse
  • SQL校验: sql.js
  • 存储: IndexedDB + localStorage
  • 容器化: Docker

开发路线图

Phase 1: 项目初始化 ✅

  • 创建Next.js项目
  • 配置TailwindCSS + shadcn/ui
  • 配置TypeScript和ESLint
  • 准备示例数据
  • 配置Docker环境

Phase 2: 导入模块(开发中)

  • SQL上传组件
  • CSV上传组件
  • 导入校验逻辑
  • 前置提醒弹窗

Phase 3: 字段字典

  • 大模型Prompt设计
  • 字典生成API
  • 字典编辑器组件
  • 字典导出功能

Phase 4: SQL生成

  • SQL生成Prompt
  • 自然语言输入组件
  • SQL语法校验
  • 代码高亮显示

Phase 5: 辅助功能

  • 历史记录管理
  • 7天自动清理
  • 配置管理
  • 主题切换

Phase 6: 测试优化

  • 单元测试
  • 集成测试
  • 性能优化
  • UI优化

贡献指南

欢迎贡献代码!请查看 CONTRIBUTING.md 了解详情。

开发流程

  1. Fork本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启Pull Request

许可证

MIT License

致谢

感谢所有为这个项目做出贡献的开发者!

联系方式


⭐ 如果这个项目对你有帮助,请给我们一个Star!

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors