# 系统更新说明文档 ## 更新概述 本次系统更新包含多项安全增强、功能扩展和用户体验优化,主要涉及认证安全、本地模型管理、内容审核、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轻量级存储配置 - 支持通过管理端动态更新配置 - 实现配置的缓存和热加载 ## 配置说明 ### 新增配置项 1. **CAS单点登录配置** - `cas_server_url`: CAS服务器地址 - `cas_callback_url`: CAS回调地址 - `enable_cas_login`: 是否启用CAS登录 2. **用户注册API Key配置** - `registration_api_key`: 新用户注册API Key - `enable_api_registration`: 是否启用API注册 3. **本地模型配置** - `enable_local_models`: 是否启用本地模型 - `local_model_max_count`: 本地模型最大数量 ### 配置管理 - 通过管理端系统设置页面进行配置 - 配置变更会自动生效,无需重启服务 - 配置修改会记录操作历史,便于审计 ## 注意事项 1. **密码安全** - 建议用户使用包含大小写字母、数字和特殊符号的强密码 - 系统会对弱密码进行提示,但仍然允许使用 2. **本地模型安全** - 本地模型的API Key会被加密存储 - 建议定期更新本地模型的API Key - 本地模型的Base URL需要经过安全验证,避免SSRF攻击 3. **CAS单点登录** - 确保CAS服务器地址配置正确 - 回调URL需要在CAS服务器中注册 - 新用户注册API Key需要妥善保管 4. **内容审核** - 管理员需要定期审核用户生成的内容 - 审核操作会记录到系统日志中 5. **API兼容性** - 客户端注册登录请求已改为JSON格式,前端需要相应更新 - 其他API接口保持向后兼容 ## 部署说明 1. **数据库迁移** - 运行数据库迁移脚本,更新数据库结构 - 新增表:`user_local_model_permission` - 更新表:`model`(添加新的分类支持) 2. **配置文件更新** - 检查并更新相关配置项 - 确保CAS配置正确设置 3. **前端更新** - 部署最新的前端代码 - 确保前端使用新的JSON格式请求 4. **测试验证** - 测试用户注册登录功能 - 测试本地模型管理功能 - 测试CAS单点登录功能 - 测试内容审核功能 ## 总结 本次更新涵盖了系统的多个方面,包括安全性、功能扩展性和用户体验优化。通过这些更新,系统的安全性得到了显著提升,功能更加完善,用户体验更加友好。同时,系统的可维护性和可扩展性也得到了增强,为未来的功能迭代奠定了良好的基础。