Skip to content

An interactive SQL learning platform that generates personalized SQL practice questions with dify.

License

Notifications You must be signed in to change notification settings

ElysiaFollower/chatSQL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文

Next.js React TypeScript License Ask DeepWiki

Website

C𝐡𝐚𝐭𝐒𝐐𝐋 是一个交互式的数据库系统学习平台,通过智能体设计与工作流编排,协同前端xyflow等组件库的二次开发与深度适配,帮助用户从入门到精通 SQL 查询、ER图结构设计与B+树操作理解.

项目核心模块介绍

C𝐡𝐚𝐭𝐒𝐐𝐋 由以下核心模块组成:

  • SQL编程实践模块:供用户练习SQL查询,提供dify生成与预制课程两方面来源的练习
  • ER图设计模块:提供ER图建模工具、ER图建模问题生成与智能体测评反馈
  • B+树操作模块:实现B+树操作可视化
  • ChatBot模块:基于专业知识库的通用问答,辅助数据库系统课程的学习

SQL编程实践模块

功能设计

  • 🤖 智能体生成练习:提供两种方式的习题来源

    • 通过预设的教程, 循序渐进地练习 select, join, 聚合操作与嵌套子查询等知识点.
    • 与dify工作流交互, 输入难度,标签与描述自动生成 SQL 练习题.
  • 📊 数据库结构可视化:直观展示表关系和字段信息, 外检约束等信息一目了然;

  • ⌨️ Monaco编辑器与schema的补全整合

    • 支持sql语法高亮和悬浮的语法提示
    • 针对当前schema信息提供 tab的自动补全
  • 📝 即时结果验证:实时验证查询结果

    • 支持将查询结果与期望结果进行比较, 评价查询结果是否正确.

运行效果

ER图设计模块

功能设计

运行效果

B+树操作模块

功能设计

运行效果

ChatBot模块

功能设计

运行效果

未来计划

苏格拉底式对话智能体

🛠 技术栈

Next.js React TypeScript Ant Design Material-UI Monaco Editor XY Flow

🚀 快速开始

TODO:提供百炼平台端的智能体/工作流设计文件 or 迁移到dify

前置要求

  • Node.js 18.0 或更高版本
  • npm 包管理器
  • Dify.ai 账号和 API 密钥

安装步骤

  1. 克隆仓库
git clone https://github.com/ffy6511/ChatSQL.git
cd ChatSQL/chat-sql
  1. 安装依赖
npm install
  1. 配置环境变量
touch .env

编辑 .env 文件并添加您的 Dify API 密钥:

NEXT_PUBLIC_DIFY_API_KEY=your_api_key_here
  1. 启动开发服务器
npm run dev

Dify 工作流配置

  1. Dify 平台 创建新应用(选择工作流)
  2. 导入工作流配置:
    • 从项目中下载 public/Agent/dify/ChatSQL_dify_improved.yml 文件
    • 在 Dify 平台中导入该配置文件
    • 导入工作流
  3. 获取 API 密钥并在个人设置中配置(工作流默认使用 Gemini,可根据需要修改)

🤝 贡献

欢迎提交 Pull Request 和 Issue!

📄 许可证

MIT License

About

An interactive SQL learning platform that generates personalized SQL practice questions with dify.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 91.6%
  • CSS 7.8%
  • Other 0.6%