基于需求文档实现的前后端分离 MVP,技术栈为 FastAPI + React + PostgreSQL + uv。
chatbi-backend/ FastAPI 后端服务
chatbi-frontend/ React + Vite 前端工作台
cd chatbi-backend
uv sync
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000系统库使用 PostgreSQL,数据库连接信息放在 chatbi-backend/.env。编辑 chatbi-backend/.env 指向你的外部 PostgreSQL:
DATABASE_URL=postgresql+psycopg://user:password@your-pg-host:5432/chatbi_system
JWT_SECRET_KEY=change_me
ENCRYPTION_SECRET=change_me_encryption首次启动会自动创建系统表,并生成默认管理员:
账号:admin
密码:admin123
cd chatbi-frontend
npm install
npm run dev访问 http://localhost:5173,前端会代理 /api 到 http://127.0.0.1:8000。
- 登录、refresh token cookie、退出登录、当前用户信息
- 用户、角色、权限基础管理
- 数据源管理、连接测试、元数据同步
- PostgreSQL / MySQL / SQLite 数据源适配器
- 模型供应商、模型配置、OpenAI-compatible 真实模型调用
- ChatBI 问数接口、真实模型 SQL 生成、SQL Guard、查询执行
- 表格展示、ECharts 图表推荐、查询结果分析
- 查询日志、登录日志基础落库
模型调用已统一接入 OpenAI-compatible /chat/completions 协议,内置 OpenAI、阿里云百炼、DeepSeek、vLLM 供应商预设。配置供应商 API Key 和模型名后,ChatBI 问数使用所选真实模型生成结构化 SQL。
cd chatbi-backend
uv run ruff check .
uv run python -m compileall app
cd ../chatbi-frontend
npm run build容器镜像构建、Docker Compose 和部署说明位于 install/。