# 更新日志

本文档记录了神机阁项目的所有重要更改。

格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)，
并且本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。

## [3.1.1] - 2025-08-22

### 🔧 修复
- **Koyeb Volume挂载路径修复**: 解决数据库持久化问题
  - 修正Koyeb实际挂载路径从 `/app/data` 到 `/workspace/data`
  - 添加智能环境检测逻辑，自动适配不同部署环境
  - 更新 `.koyeb/koyeb.yaml` 配置文件中的挂载路径
  - 增强数据库初始化日志，显示环境状态和路径信息
  - 确保数据库文件正确存储在持久化Volume中
- **数据库配置优化**: 改进多环境数据库路径管理
  - Koyeb环境：自动使用 `/workspace/data/numerology.db`
  - Docker环境：继续使用 `/app/data/numerology.db`
  - 本地开发：使用相对路径 `./numerology.db`
  - 添加环境检测日志：`🏢 Koyeb环境: Yes/No`

### 📚 文档更新
- **KOYEB_DEPLOYMENT.md**: 更新部署指南
  - 修正Volume挂载路径说明
  - 更新环境变量配置示例
  - 添加故障排除和日志验证指南
  - 新增Volume挂载路径问题专门说明
- **系统配置文档**: 完善部署配置说明
  - 明确不同环境的数据库路径配置
  - 添加环境检测和自动适配机制说明

## [3.1.0] - 2025-08-22

### 🆕 新增功能
- **AI智能解读系统**: 完整的AI解读功能集成
  - 支持多种AI模型：OpenAI GPT、智谱AI、Azure OpenAI、Claude、Google AI
  - 灵活的配置系统：自定义API密钥、模型参数、提示词模板
  - 流式响应支持：实时显示AI解读过程
  - 结果缓存机制：避免重复调用，节省API费用
  - 专业提示词模板：针对八字、紫微、易经的专门优化
- **Docker容器化部署**: 完整的容器化解决方案
  - Docker + Docker Compose 一键部署
  - 优化的镜像构建流程
  - 数据持久化卷配置
  - 健康检查机制
- **云平台部署支持**: 多种云平台部署优化
  - Koyeb 云平台专门配置
  - 自动部署流程
  - 环境变量管理
  - CSP安全策略配置
- **历史记录分页**: 高效的历史数据管理
  - 每页10条记录的智能分页
  - 页码导航和快速跳转
  - 记录总数和分页信息显示
  - 移动端优化的分页控件

### 🔧 核心改进
- **数据持久化保护**: 解决部署更新时数据丢失问题
  - 智能数据库初始化：只在必要时创建数据
  - 生产环境数据保护：跳过示例数据创建
  - 持久化卷配置：确保数据在容器重启后保留
- **安全性增强**: 全面的Web安全防护
  - CSP内容安全策略：允许AI API调用
  - CORS跨域配置：支持多域名部署
  - JWT认证优化：更安全的用户认证
- **性能优化**: 多方面性能提升
  - API调用去重：减少重复请求
  - 前端缓存优化：提升页面响应速度
  - 数据库查询优化：更高效的数据访问
- **用户体验提升**: 全面的界面和交互优化
  - AI解读界面：美观的Markdown渲染
  - 移动端适配：完美的响应式设计
  - 加载状态优化：更好的用户反馈
  - 错误处理改进：友好的错误提示

### 🐛 问题修复
- **TypeScript编译错误**: 修复ChineseButton组件variant类型问题
- **数据库连接问题**: 修复better-sqlite3 API调用方式
- **CSP策略错误**: 修复AI API调用被阻止的问题
- **分页显示问题**: 修复历史记录只能显示20条的限制
- **容器启动问题**: 优化Docker启动流程

### 📚 文档更新
- **Docker部署指南**: 完整的容器化部署文档
- **Koyeb部署指南**: 云平台部署配置说明
- **AI解读使用指南**: AI功能配置和使用教程
- **README更新**: 反映最新功能和部署方式
- **API文档完善**: 更详细的接口说明

### 🔄 技术栈更新
- **前端依赖**: 添加React Markdown、Sonner等新组件
- **后端优化**: 改进数据库操作和API响应
- **部署工具**: 集成Docker、Koyeb等部署方案
- **开发工具**: 优化开发和构建流程

## [3.0.0] - 2025-08-20

### 新增
- **AI增强分析**: 为紫微斗数添加了AI驱动的个性化分析功能
  - 个性化理财建议：根据主星特质提供14种不同的理财策略
  - 现代事业建议：结合数字化时代特点的职业发展指导
  - 详细成功策略：每个主星6个具体的事业发展要点
- **星曜强度详解**: 完善了十二宫位的星曜强度解释系统
  - 五个等级详细说明：旺、得地、平、不得地、陷
  - 每个宫位显示具体的强度含义和改善建议
  - 可视化的强度等级说明卡片
- **命宫位置增强**: 大幅提升了命宫位置的解释深度
  - 五行属性详细说明（子宫属水、丑宫属土等）
  - 深层性格影响分析和行为模式解读
  - 独立的命宫位置详解区域

### 改进
- **用户体验优化**: 所有术语都有详细解释，降低学习门槛
- **前端显示增强**: 使用更好的布局和视觉设计展示分析结果
- **项目品牌统一**: 将所有"三算命"更新为"神机阁"
- **技术栈升级**: 更新到最新版本的依赖包

### 技术改进
- 升级 Vite 到 6.0.1
- 升级 TypeScript 到 5.6.2
- 升级 Tailwind CSS 到 3.4.16
- 优化了前端组件的性能和可维护性

## [未发布] - 2025-08-20

### 修复
- **易经占卜时区问题**: 修复了易经占卜使用服务器时间而非用户当地时间的问题
  - 易经分析器现在支持接收用户时区信息和当地时间
  - API接口新增 `user_timezone` 和 `local_time` 参数
  - 前端自动获取用户时区并传递给后端
  - 时辰分析现在基于用户当地时间，提高占卜准确性
  - 添加了完整的测试用例验证修复效果

## [未发布]

### 计划中
- 添加更多命理分析类型
- 实现分析结果导出功能
- 添加用户收藏夹功能
- 支持多语言国际化
- 添加移动端原生应用
- 实现数据库约束防重复
- 添加分析结果缓存机制

## [2.0.0] - 2024-01-19

### 🔄 重大架构重构
- **分离关注点**: 彻底分离分析计算与历史记录存储
- **新增接口**: `/analysis/save-history` 专门用于保存历史记录
- **接口变更**: 所有分析接口不再返回 `record_id`，只返回纯分析结果
- **后端重构**: 从Supabase迁移到Node.js + Express + SQLite架构

### 🐛 重要修复
- **重复记录问题**: 彻底解决一次分析产生多条历史记录的问题
- **React StrictMode**: 移除开发环境下导致重复执行的StrictMode
- **对象引用稳定**: 使用useMemo缓存对象，避免不必要的重新渲染
- **useEffect优化**: 依赖具体字段而非整个对象，提高性能
- **时间显示**: 修复历史记录时间显示不正确的问题

### ✨ 新增功能
- **API请求去重**: 实现请求去重机制，防止并发重复调用
- **错误隔离**: 历史记录保存失败不影响分析结果显示
- **组件优化**: 所有分析组件支持预先分析数据，避免重复API调用
- **时间统一**: 统一使用ISO时间戳和本地化显示格式

### 🚀 性能优化
- **减少API调用**: 通过架构重构减少60%以上的重复API调用
- **组件渲染优化**: 减少40%以上的不必要重新渲染
- **内存使用**: 优化对象创建和引用，降低内存占用
- **响应速度**: 分析结果显示更快，用户体验显著提升

### 📊 数据统计
- **重复记录**: 从每次3-5条减少到1条，减少80%+
- **代码质量**: 16个文件修改，+286行新增，-128行删除
- **架构清晰度**: 职责分离，可维护性显著提升

### 🔧 技术改进
- **前端架构**: 实现"先分析，后存储"的清晰流程
- **状态管理**: 优化组件状态和数据流
- **错误处理**: 完善错误边界和容错机制
- **开发体验**: 改善调试和开发效率

## [1.0.0] - 2024-01-01

### 新增
- 🎉 项目初始发布
- ✨ 八字命理分析功能
  - 四柱排盘计算
  - 五行平衡分析
  - 格局判断
  - 性格特质解读
  - 事业财运分析
  - 健康运势预测
- ✨ 紫微斗数分析功能
  - 星盘排布计算
  - 十二宫位分析
  - 主星特质解读
  - 四化飞星系统
  - 大限流年分析
- ✨ 易经占卜功能
  - 梅花易数起卦
  - 卦象详细解读
  - 变卦分析
  - 人生指导建议
- ✨ 用户系统
  - 用户注册登录
  - 个人资料管理
  - 分析历史记录
  - 数据安全保护
- ✨ 现代化界面
  - 响应式设计
  - 中国风UI主题
  - 流畅的交互动画
  - 无障碍设计支持

### 技术特性
- 🛠️ React 18.3.1 + TypeScript
- 🛠️ Vite 6.0.1 构建工具
- 🛠️ Tailwind CSS 样式框架
- 🛠️ Radix UI 组件库
- 🛠️ Supabase 后端服务
- 🛠️ Edge Functions 服务端逻辑
- 🛠️ PostgreSQL 数据库
- 🛠️ JWT 用户认证
- 🛠️ 实时数据同步

### 安全特性
- 🔒 行级安全策略 (RLS)
- 🔒 数据传输加密
- 🔒 用户输入验证
- 🔒 CORS 安全配置
- 🔒 环境变量保护

### 性能优化
- ⚡ 代码分割和懒加载
- ⚡ 图片懒加载
- ⚡ 静态资源缓存
- ⚡ CDN 加速
- ⚡ 数据库查询优化

### 开发体验
- 🔧 完整的 TypeScript 类型定义
- 🔧 ESLint 代码规范检查
- 🔧 Prettier 代码格式化
- 🔧 Git Hooks 预提交检查
- 🔧 VS Code 开发配置
- 🔧 热重载开发服务器

### 文档
- 📚 详细的 README 文档
- 📚 API 接口文档
- 📚 部署指南
- 📚 开发指南
- 📚 贡献指南

## 版本说明

### 版本号格式

本项目使用语义化版本号：`主版本号.次版本号.修订号`

- **主版本号**：不兼容的 API 修改
- **次版本号**：向下兼容的功能性新增
- **修订号**：向下兼容的问题修正

### 更新类型说明

- `新增` - 新功能
- `更改` - 对现有功能的更改
- `弃用` - 即将移除的功能
- `移除` - 已移除的功能
- `修复` - 问题修复
- `安全` - 安全相关的修复

### 发布周期

- **主版本**：根据重大功能更新发布，无固定周期
- **次版本**：每月发布，包含新功能和改进
- **修订版本**：根据需要发布，主要用于修复问题

### 支持政策

- **当前版本**：完全支持，包括新功能开发和问题修复
- **前一个主版本**：仅提供安全更新和重要问题修复
- **更早版本**：不再提供支持，建议升级

### 升级指南

#### 从 0.x 升级到 1.0.0

由于这是首个正式版本，不存在升级问题。

#### 未来版本升级

我们将在每个版本发布时提供详细的升级指南，包括：

1. **破坏性更改**：列出所有不兼容的更改
2. **迁移步骤**：提供详细的迁移指导
3. **新功能介绍**：说明新增功能的使用方法
4. **配置更改**：说明配置文件的更改
5. **数据库迁移**：提供数据库结构更改的迁移脚本

### 反馈和建议

如果您在使用过程中遇到问题或有改进建议，请通过以下方式联系我们：

- [GitHub Issues](https://github.com/patdelphi/suanming/issues) - 问题报告和功能请求
- [GitHub Discussions](https://github.com/patdelphi/suanming/discussions) - 讨论和建议
- [项目主页](https://github.com/patdelphi/suanming) - 项目信息和文档

### 贡献者

感谢所有为本项目做出贡献的开发者和用户！

---

**注意**：本更新日志将持续更新，记录项目的所有重要更改。建议用户在升级前仔细阅读相关版本的更新内容。