# 📚 优化历史功能部署指南 ## 🎯 功能概述 优化历史功能为用户提供了完整的提示词生成历史管理功能,包括: - 📝 **历史记录管理**: 查看、编辑、删除历史记录 - 🔍 **智能搜索**: 关键词搜索和多种筛选条件 - ⭐ **收藏功能**: 重要提示词收藏管理 - 📊 **统计分析**: 使用统计和趋势分析 - 📤 **数据导出**: 支持JSON和CSV格式导出 - 🏷️ **标签系统**: 自定义标签管理 ## 🚀 部署步骤 ### 1. 数据库准备 #### 1.1 执行SQL脚本 ```bash # 连接到MySQL数据库 mysql -u root -p # 选择数据库 USE pro_db; # 执行创建表脚本 SOURCE /home/renjianbo/aitsc/create_history_tables.sql; ``` #### 1.2 验证表创建 ```sql -- 检查表是否创建成功 SHOW TABLES LIKE '%history%'; SHOW TABLES LIKE '%statistics%'; -- 查看表结构 DESCRIBE prompt_history; DESCRIBE history_tags; DESCRIBE user_statistics; ``` ### 2. 代码部署 #### 2.1 文件结构 ``` src/flask_prompt_master/ ├── models/ │ └── history_models.py # 历史记录数据模型 ├── routes/ │ └── history_routes.py # 历史记录API接口 ├── templates/ │ └── history.html # 历史记录前端页面 └── __init__.py # 应用初始化(已更新) ``` #### 2.2 重启应用 ```bash # 停止现有服务 pkill -f gunicorn # 启动新服务 cd /home/renjianbo/aitsc gunicorn -c gunicorn.conf.py src.flask_prompt_master:app ``` ### 3. 功能验证 #### 3.1 运行测试脚本 ```bash # 运行测试脚本 python test_history_feature.py ``` #### 3.2 手动验证 1. **访问历史页面**: `http://localhost:5002/history` 2. **生成提示词**: 在首页生成一些提示词 3. **查看历史**: 在历史页面查看生成的记录 4. **测试功能**: 搜索、筛选、收藏、导出等 ## 📋 功能使用说明 ### 1. 历史记录管理 #### 1.1 查看历史记录 - 访问 `/history` 页面 - 查看所有生成的历史记录 - 支持分页浏览 #### 1.2 搜索和筛选 - **关键词搜索**: 在搜索框输入关键词 - **模板筛选**: 选择特定模板 - **时间筛选**: 按时间范围筛选 - **收藏筛选**: 只显示收藏的记录 - **排序方式**: 按时间、评分、生成时间排序 #### 1.3 记录操作 - **查看详情**: 点击眼睛图标查看完整内容 - **复制提示词**: 点击复制图标复制到剪贴板 - **收藏/取消收藏**: 点击心形图标 - **删除记录**: 点击垃圾桶图标删除 ### 2. 统计分析 #### 2.1 统计面板 - **总生成数**: 历史生成总数 - **收藏数**: 收藏的提示词数量 - **平均评分**: 用户满意度统计 #### 2.2 数据导出 - **JSON格式**: 结构化数据导出 - **CSV格式**: 表格数据导出 - **筛选导出**: 按条件导出特定数据 ### 3. 标签管理 #### 3.1 添加标签 - 在记录详情页面添加标签 - 支持自定义标签 - 标签分类管理 #### 3.2 标签筛选 - 按标签筛选记录 - 标签统计和趋势 ## 🔧 配置说明 ### 1. 数据库配置 #### 1.1 连接配置 ```python # 在 config.py 中配置数据库连接 SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:123456@localhost:3306/pro_db?charset=utf8mb4' ``` #### 1.2 索引优化 ```sql -- 为常用查询字段添加索引 CREATE INDEX idx_user_created_at ON prompt_history(user_id, created_at); CREATE INDEX idx_favorite_rating ON prompt_history(is_favorite, satisfaction_rating); ``` ### 2. 应用配置 #### 2.1 分页配置 ```python # 历史记录分页大小 HISTORY_PAGE_SIZE = 20 HISTORY_MAX_EXPORT = 1000 ``` #### 2.2 缓存配置 ```python # 统计数据缓存 CACHE_STATISTICS_TTL = 300 # 5分钟 ``` ## 🚨 故障排除 ### 1. 常见问题 #### 1.1 数据库连接失败 ```bash # 检查数据库服务 systemctl status mysql # 检查数据库连接 mysql -u root -p -e "SELECT 1" ``` #### 1.2 表不存在错误 ```sql -- 检查表是否存在 SHOW TABLES LIKE '%history%'; -- 重新执行创建脚本 SOURCE /home/renjianbo/aitsc/create_history_tables.sql; ``` #### 1.3 权限问题 ```sql -- 检查用户权限 SHOW GRANTS FOR 'root'@'localhost'; -- 授权数据库权限 GRANT ALL PRIVILEGES ON pro_db.* TO 'root'@'localhost'; FLUSH PRIVILEGES; ``` ### 2. 性能优化 #### 2.1 数据库优化 ```sql -- 分析查询性能 EXPLAIN SELECT * FROM prompt_history WHERE user_id = 1 ORDER BY created_at DESC; -- 优化慢查询 CREATE INDEX idx_user_created_at ON prompt_history(user_id, created_at); ``` #### 2.2 应用优化 ```python # 启用查询缓存 SQLALCHEMY_ENGINE_OPTIONS = { 'pool_pre_ping': True, 'pool_recycle': 300, 'pool_size': 10, 'max_overflow': 20 } ``` ## 📊 监控和维护 ### 1. 数据监控 #### 1.1 数据量监控 ```sql -- 查看历史记录数量 SELECT COUNT(*) FROM prompt_history; -- 查看用户统计 SELECT user_id, total_generations, favorite_count, avg_rating FROM user_statistics; ``` #### 1.2 性能监控 ```sql -- 查看慢查询 SHOW PROCESSLIST; -- 分析表使用情况 SHOW TABLE STATUS LIKE 'prompt_history'; ``` ### 2. 数据清理 #### 2.1 清理旧数据 ```sql -- 删除30天前的数据 DELETE FROM prompt_history WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY); -- 更新统计信息 CALL CleanOldHistory(30); ``` #### 2.2 数据备份 ```bash # 备份历史数据 mysqldump -u root -p pro_db prompt_history history_tags user_statistics > history_backup.sql ``` ## 🔄 更新和维护 ### 1. 功能更新 #### 1.1 添加新功能 1. 修改数据模型 2. 更新API接口 3. 修改前端页面 4. 执行数据库迁移 #### 1.2 版本管理 ```bash # 创建版本标签 git tag -a v1.1.0 -m "添加优化历史功能" git push origin v1.1.0 ``` ### 2. 定期维护 #### 2.1 数据清理 ```bash # 创建清理脚本 cat > cleanup_history.sh << 'EOF' #!/bin/bash mysql -u root -p pro_db -e "CALL CleanOldHistory(90);" EOF chmod +x cleanup_history.sh # 添加到定时任务 crontab -e # 添加: 0 2 * * 0 /path/to/cleanup_history.sh ``` #### 2.2 性能监控 ```bash # 创建监控脚本 cat > monitor_history.sh << 'EOF' #!/bin/bash echo "历史记录统计:" mysql -u root -p pro_db -e " SELECT COUNT(*) as total_records, COUNT(DISTINCT user_id) as unique_users, AVG(satisfaction_rating) as avg_rating FROM prompt_history; " EOF ``` ## 🎉 总结 优化历史功能已经成功集成到现有系统中,提供了完整的用户历史记录管理功能。通过这个功能,用户可以: 1. **回顾历史**: 查看所有生成过的提示词 2. **智能搜索**: 快速找到需要的历史记录 3. **数据管理**: 收藏、评分、删除记录 4. **统计分析**: 了解使用情况和趋势 5. **数据导出**: 备份和分享历史数据 这个功能大大提升了用户体验,让用户能够更好地管理和利用自己的提示词生成历史。 --- *部署完成时间:2025年1月* *功能版本:v1.0* *维护人员:系统管理员*