English | 简体中文
C𝐡𝐚𝐭𝐒𝐐𝐋 是一个交互式的数据库系统学习平台,通过智能体设计与工作流编排,协同前端xyflow等组件库的二次开发与深度适配,帮助用户从入门到精通 SQL 查询、ER图结构设计与B+树操作理解.
C𝐡𝐚𝐭𝐒𝐐𝐋 由以下核心模块组成:
- SQL编程实践模块:供用户练习SQL查询,提供dify生成与预制课程两方面来源的练习
- ER图设计模块:提供ER图建模工具、ER图建模问题生成与智能体测评反馈
- B+树操作模块:实现B+树操作可视化
- ChatBot模块:基于专业知识库的通用问答,辅助数据库系统课程的学习
-
🤖 智能体生成练习:提供两种方式的习题来源
- 通过预设的教程, 循序渐进地练习
select
,join
, 聚合操作与嵌套子查询等知识点. - 与dify工作流交互, 输入难度,标签与描述自动生成 SQL 练习题.
- 通过预设的教程, 循序渐进地练习
-
📊 数据库结构可视化:直观展示表关系和字段信息, 外检约束等信息一目了然;
-
⌨️ Monaco编辑器与schema的补全整合:
- 支持sql语法高亮和悬浮的语法提示
- 针对当前schema信息提供
tab
的自动补全
-
📝 即时结果验证:实时验证查询结果
- 支持将查询结果与期望结果进行比较, 评价查询结果是否正确.
- 框架: Next.js
- UI 组件:
- 编辑器: Monaco Editor
- 流程图:
- XY Flow (@xyflow/react)
- AI 集成: Dify.ai && 阿里云百炼
- 类型检查: TypeScript
TODO:提供百炼平台端的智能体/工作流设计文件 or 迁移到dify
- Node.js 18.0 或更高版本
- npm 包管理器
- Dify.ai 账号和 API 密钥
- 克隆仓库
git clone https://github.com/ffy6511/ChatSQL.git
cd ChatSQL/chat-sql
- 安装依赖
npm install
- 配置环境变量
touch .env
编辑 .env
文件并添加您的 Dify API 密钥:
NEXT_PUBLIC_DIFY_API_KEY=your_api_key_here
- 启动开发服务器
npm run dev
- 在 Dify 平台 创建新应用(选择工作流)
- 导入工作流配置:
- 获取 API 密钥并在个人设置中配置(工作流默认使用 Gemini,可根据需要修改)
欢迎提交 Pull Request 和 Issue!