云雾多用户对话功能

sequoia00 6b80057a8f 增加用户登录,注册,管理,将所有记录录入数据库 hai 1 semana
static 6b80057a8f 增加用户登录,注册,管理,将所有记录录入数据库 hai 1 semana
.gitignore 0faf8f21ca first hai 1 semana
README 6b80057a8f 增加用户登录,注册,管理,将所有记录录入数据库 hai 1 semana
fastchat.py 6b80057a8f 增加用户登录,注册,管理,将所有记录录入数据库 hai 1 semana
start.sh 0faf8f21ca first hai 1 semana

README

和云雾大模型进行聊天的工具,现已支持多用户登录、管理员后台以及导出内容追踪。

## 主要特性

- **账号系统**:支持注册普通用户与账号密码登录,采用 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. 聊天过程中点击任意回答的「导出」按钮,内容会保存到博客目录与数据库,随后可在导出列表中下载。