系统更新说明文档
更新概述
本次系统更新包含多项安全增强、功能扩展和用户体验优化,主要涉及认证安全、本地模型管理、内容审核、API标准化等多个方面。以下是详细的更新内容说明。
详细功能更新
1. 客户端密码安全传输
功能说明:修改了客户端密码明文传输的问题,实现了密码的安全加密传输。
技术实现:
- 前端使用HTTPS协议确保传输加密
- 后端使用bcrypt算法对密码进行哈希存储
- 密码在传输过程中通过HTTPS加密通道传输
安全增强:
- 密码不再以明文形式存储在数据库中
- 即使数据库被泄露,密码也无法被还原
- 传输过程中密码不会被截获
2. 本地私钥功能
功能说明:新增本地私钥功能,支持用户管理本地模型的访问密钥。
技术实现:
- 使用加密算法对本地模型的API密钥进行加密存储
- 提供API密钥的安全管理接口
- 实现密钥的脱敏显示,保护密钥安全
使用方式:
- 管理员可以为本地模型设置API密钥
- 系统会自动对密钥进行加密存储
- 密钥在显示时会进行脱敏处理
3. 私域模型与用户调用权限管理
功能说明:实现了私域模型的权限管理,控制用户对本地模型的访问权限。
技术实现:
- 新增
user_local_model_permission表存储用户权限
- 实现权限缓存机制,提高权限检查性能
- 提供权限管理接口,支持管理员配置用户权限
权限控制:
- 用户只能访问自己创建的本地模型
- 全局可见的模型需要用户获得权限才能访问
- 管理员可以为用户分配本地模型的访问权限
4. 客户端注册时密码强度实时监测
功能说明:新增密码强度实时监测功能,在用户注册时提供密码强度评估和建议。
技术实现:
- 前端实现密码强度可视化显示
- 后端提供密码强度检测API
- 支持密码强度等级评估(弱、中、强)
检测规则:
- 密码长度检查(至少8个字符)
- 字符类型检查(小写字母、大写字母、数字、特殊符号)
- 常见弱密码模式检测
- 实时提供密码强度改进建议
5. 修复登录不支持纯数字密码的问题
问题说明:修复了系统无法使用纯数字密码登录的问题。
技术实现:
- 调整密码验证逻辑,支持纯数字密码
- 确保密码哈希算法正确处理纯数字密码
- 保持密码强度检测的有效性
影响范围:用户现在可以使用纯数字密码进行登录,但系统会仍然建议使用更复杂的密码组合。
6. 管理端音频审核
功能说明:新增管理端音频审核功能,支持管理员审核用户生成的音频内容。
技术实现:
- 新增音频审核状态字段
- 提供音频审核接口
- 支持批量审核操作
审核流程:
- 用户生成音频后自动进入待审核状态
- 管理员可以查看和审核音频内容
- 审核通过后音频可正常访问,审核拒绝则会被标记为违规
7. 用户端图像/视频/音频预览功能
功能说明:新增用户端多媒体内容预览功能,支持图像、视频和音频的在线预览。
技术实现:
- 前端实现多媒体预览组件
- 后端提供预览资源访问接口
- 支持流式播放和渐进式加载
支持格式:
- 图像:JPG、PNG、WebP
- 视频:MP4、WebM
- 音频:MP3、WAV、OGG
8. 规范Swagger文档请求体
功能说明:优化并规范了Swagger文档的请求体定义,提高API文档的可读性和一致性。
技术实现:
- 统一请求体格式和命名规范
- 完善参数描述和示例
- 确保文档与实际API保持一致
改进效果:
- 开发者可以更清晰地了解API使用方法
- 减少API调用错误
- 提高API文档的维护性
9. 修改客户端注册登录请求为JSON格式
功能说明:将客户端注册和登录请求从表单格式改为JSON格式,提高接口的标准化程度。
技术实现:
- 前端修改请求格式为JSON
- 后端更新接口接收JSON格式数据
- 保持参数结构不变,仅修改数据传输格式
兼容性:
- 新的JSON格式请求与原有功能完全兼容
- 提高了接口的可扩展性和一致性
10. 修复管理端内容审核错误
问题说明:修复了管理端内容审核功能中的错误,确保审核操作正常执行。
技术实现:
- 修复审核状态更新逻辑
- 解决审核操作的权限问题
- 优化审核流程的错误处理
修复效果:
- 管理员可以正常执行内容审核操作
- 审核状态更新及时准确
- 审核历史记录完整可查
11. 管理端添加私域模型兼容性测试
功能说明:新增管理端添加私域模型时的兼容性测试功能,确保添加的模型能够正常使用。
技术实现:
- 实现模型连接测试接口
- 支持不同类型模型的测试
- 提供详细的测试结果和错误信息
测试类型:
- 对话模型(/chat/completions)
- 语音合成(/audio/speech)
- 语音识别(/audio/transcriptions)
- 文生图(/images/generations)
- 视频生成(/videos/generations)
- 图像编辑(/images/edits)
- 向量嵌入(/embeddings)
- 重排序(/rerank)
12. 管理端新增embedding模型和rerank模型分类
功能说明:在管理端新增embedding(向量嵌入)模型和rerank(重排序)模型的分类支持。
技术实现:
- 扩展模型分类枚举值
- 更新模型管理接口
- 支持新分类模型的测试和管理
分类说明:
- 7: 向量嵌入模型(用于文本向量化)
- 8: 重排序模型(用于搜索结果排序)
13. 新增rerank接口调用
功能说明:新增rerank(重排序)接口调用功能,支持使用重排序模型对搜索结果进行优化。
技术实现:
- 实现rerank接口
- 支持OpenAI兼容的重排序请求格式
- 提供重排序结果处理逻辑
使用场景:
14. CAS单点登录及用户注册默认API Key管理
功能说明:抽取CAS单点登录模块,新增SQLite轻量库存放URL地址及注册API Key,支持通过后台系统配置单点登录及新用户注册的API Key。
技术实现:
- 使用SQLite存储CAS配置和API Key
- 实现配置管理接口
- 支持配置的动态更新
配置项:
- CAS服务器URL
- CAS回调URL
- 新用户注册API Key
- 单点登录状态管理
技术实现细节
密码安全实现
- 使用bcrypt算法进行密码哈希
- 密码哈希存储在
user.password_hash字段
- 前端通过HTTPS传输密码
- 后端验证密码时使用安全的比较方法
本地模型权限管理
- 使用
user_local_model_permission表存储用户权限
- 实现权限缓存机制,减少数据库查询
- 权限检查逻辑集成到模型访问流程中
密码强度检测
- 实现多维度密码强度评估
- 提供实时反馈和改进建议
- 支持不同强度等级的视觉展示
模型兼容性测试
- 实现多类型模型的测试逻辑
- 提供详细的测试结果和错误信息
- 支持不同模型分类的测试端点
CAS单点登录配置
- 使用SQLite轻量级存储配置
- 支持通过管理端动态更新配置
- 实现配置的缓存和热加载
配置说明
新增配置项
CAS单点登录配置
cas_server_url: CAS服务器地址
cas_callback_url: CAS回调地址
enable_cas_login: 是否启用CAS登录
用户注册API Key配置
registration_api_key: 新用户注册API Key
enable_api_registration: 是否启用API注册
本地模型配置
enable_local_models: 是否启用本地模型
local_model_max_count: 本地模型最大数量
配置管理
- 通过管理端系统设置页面进行配置
- 配置变更会自动生效,无需重启服务
- 配置修改会记录操作历史,便于审计
注意事项
密码安全
- 建议用户使用包含大小写字母、数字和特殊符号的强密码
- 系统会对弱密码进行提示,但仍然允许使用
本地模型安全
- 本地模型的API Key会被加密存储
- 建议定期更新本地模型的API Key
- 本地模型的Base URL需要经过安全验证,避免SSRF攻击
CAS单点登录
- 确保CAS服务器地址配置正确
- 回调URL需要在CAS服务器中注册
- 新用户注册API Key需要妥善保管
内容审核
- 管理员需要定期审核用户生成的内容
- 审核操作会记录到系统日志中
API兼容性
- 客户端注册登录请求已改为JSON格式,前端需要相应更新
- 其他API接口保持向后兼容
部署说明
数据库迁移
- 运行数据库迁移脚本,更新数据库结构
- 新增表:
user_local_model_permission
- 更新表:
model(添加新的分类支持)
配置文件更新
前端更新
- 部署最新的前端代码
- 确保前端使用新的JSON格式请求
测试验证
- 测试用户注册登录功能
- 测试本地模型管理功能
- 测试CAS单点登录功能
- 测试内容审核功能
总结
本次更新涵盖了系统的多个方面,包括安全性、功能扩展性和用户体验优化。通过这些更新,系统的安全性得到了显著提升,功能更加完善,用户体验更加友好。同时,系统的可维护性和可扩展性也得到了增强,为未来的功能迭代奠定了良好的基础。