和云雾大模型进行聊天的工具,现已支持多用户登录、管理员后台以及导出内容追踪。 ## 主要特性 - **账号系统**:支持注册普通用户与账号密码登录,采用 MySQL 存储并自动维护默认管理员(`admin / Admin@123`)。 - **角色权限**:区分管理员与普通用户。管理员可以在后台界面中新增、重置、删除普通用户,并查看所有用户的导出记录。 - **聊天与历史**:每位用户拥有独立的聊天会话、历史记录以及上传文件。删除/归档操作仅影响当前用户。 - **导出追踪**:导出回答不但会生成本地文件,还会写入数据库。管理员可按用户检索、下载导出内容,普通用户可在「我的导出」中查看并下载自己的历史导出。 - **现代化 UI**:新增登录/注册界面、用户信息展示、导出面板与后台浮层,跟随登录状态自动切换。 ## 环境配置 1. **安装依赖** ```bash pip install fastapi uvicorn sqlalchemy pymysql python-multipart openai ``` 2. **准备数据库** - 默认连接:`mysql+pymysql://root:792199Zhao*@127.0.0.1:3306/chat_fast` - 启动服务后会自动创建数据库与数据表,并初始化默认管理员账号。 - 如需修改连接参数,可通过环境变量: - `CHATFAST_DB_HOST` - `CHATFAST_DB_PORT` - `CHATFAST_DB_USER` - `CHATFAST_DB_PASSWORD` - `CHATFAST_DB_NAME` 3. **启动服务** ```bash uvicorn fastchat:app --host 0.0.0.0 --port 18018 ``` 前端静态资源位于 `static/`,运行后直接访问服务地址即可。 ## 使用流程 1. 访问页面后先登录/注册。默认管理员:`admin / Admin@123`。 2. 普通用户登录后可直接聊天、查看个人历史与「我的导出」列表。 3. 管理员在页面右上角点击「用户管理」可进入后台: - 新增普通用户 - 重置普通用户密码 - 删除普通用户 - 查看所有用户的导出记录并可下载 4. 聊天过程中点击任意回答的「导出」按钮,内容会保存到博客目录与数据库,随后可在导出列表中下载。