You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
buffer_platform/openspec/changes/trade-reflection-system/tasks.md

121 lines
5.1 KiB

## 1. 数据模型与数据库迁移
- [x] 1.1 在 analysis_models.py 中扩展 TradeRecord 模型,新增 reflection_status 字段
- [x] 1.2 创建 TradePair 模型(交易配对表)
- [x] 1.3 创建 TradeReflection 模型(交易反思表)
- [x] 1.4 创建 DailyReflection 模型(当日反思表)
- [x] 1.5 创建 TradeTag 模型(标签定义表)
- [x] 1.6 创建 TradeRecordTag 模型(交易-标签关联表)
- [x] 1.7 创建 TradeExperience 模型(经验教训表)
- [x] 1.8 运行数据库迁移,验证所有表结构正确创建
## 2. 交易配对引擎
- [x] 2.1 实现自动配对逻辑(按品种+方向+时间段FIFO 规则)
- [x] 2.2 实现连续开仓合并为一个头寸的逻辑
- [x] 2.3 实现手动创建配对 APIPOST /trade-pairs
- [x] 2.4 实现修改配对 APIPUT /trade-pairs/{id}
- [x] 2.5 实现删除配对 APIDELETE /trade-pairs/{id}
- [x] 2.6 实现配对盈亏计算逻辑
- [ ] 2.7 编写配对逻辑单元测试FIFO、跨日、多次开仓场景
## 3. 反思 API
- [x] 3.1 实现创建反思 APIPOST /reflections
- [x] 3.2 实现更新反思 APIPUT /reflections/{id}
- [x] 3.3 实现查询反思 APIGET /reflections?trade_id=
- [x] 3.4 实现创建当日反思 APIPOST /daily-reflections
- [x] 3.5 实现更新当日反思 APIPUT /daily-reflections/{id}
- [x] 3.6 实现查询当日反思 APIGET /daily-reflections/{date}
- [x] 3.7 实现按天获取交易+配对+反思状态 APIGET /daily-trades/{date}
## 4. 标签系统 API
- [x] 4.1 实现获取所有标签 APIGET /tags含预设标签初始化
- [x] 4.2 实现创建自定义标签 APIPOST /tags含去重逻辑
- [x] 4.3 实现交易打标签 APIPOST /records/{id}/tags
- [x] 4.4 实现移除标签 APIDELETE /records/{id}/tags/{tag_id}
- [ ] 4.5 编写标签去重和关联单元测试
## 5. AI 重新分析
- [x] 5.1 扩展 ai_analysis.py新增反思增强分析提示词构建函数
- [x] 5.2 实现 AI 重新分析 APIPOST /reanalyze
- [x] 5.3 实现多版本 AI 分析结果存储逻辑
- [x] 5.4 实现经验提炼建议解析和保存
- [ ] 5.5 编写 AI 提示词构建单元测试
## 6. 经验库 API
- [x] 6.1 实现获取经验列表 APIGET /experiences支持标签/类型/关键词筛选和分页
- [x] 6.2 实现创建经验 APIPOST /experiences
- [x] 6.3 实现更新经验 APIPUT /experiences/{id}
- [x] 6.4 实现删除经验 APIDELETE /experiences/{id}
- [ ] 6.5 实现按标签统计经验数量 API
## 7. 前端 - 按天交易视图
- [x] 7.1 创建日期选择器组件,支持前后切换日期
- [x] 7.2 实现按天获取交易+配对数据的前端调用
- [x] 7.3 实现交易配对卡片展示(开仓→平仓箭头样式)
- [x] 7.4 实现未配对交易单独展示
- [ ] 7.5 实现手动配对交互(选择开仓+平仓→确认配对)
- [x] 7.6 实现当天统计卡片(总盈亏、交易笔数、胜率等)
## 8. 前端 - 反思编辑面板
- [x] 8.1 创建反思编辑 Modal 组件
- [x] 8.2 实现模板字段表单(入场理由、时机评价、仓位管理、出场理由、纪律评分)
- [x] 8.3 实现自由反思多行文本框
- [x] 8.4 实现反思保存 API 调用
- [x] 8.5 实现「保存并 AI 分析」按钮
- [x] 8.6 实现反思状态指示器(未反思/待分析/已完成)
## 9. 前端 - 标签系统
- [x] 9.1 创建标签选择组件(预设标签按分类展示)
- [x] 9.2 实现自定义标签输入框
- [x] 9.3 实现交易打标签交互
- [x] 9.4 实现已选标签展示和移除
## 10. 前端 - AI 分析结果展示
- [x] 10.1 创建 AI 分析结果展示面板
- [ ] 10.2 实现多版本分析结果切换
- [x] 10.3 实现经验提炼建议展示和编辑
- [x] 10.4 实现经验保存交互
## 11. 前端 - 当日反思
- [x] 11.1 创建当日反思编辑区域
- [x] 11.2 实现多维度表单(情绪状态、市场判断、纪律评分、总体评分、总结、改进方向)
- [x] 11.3 实现当日反思保存和展示
## 12. 前端 - 经验库页面
- [x] 12.1 创建经验库独立页面/Tab
- [x] 12.2 实现经验列表视图(卡片样式)
- [x] 12.3 实现搜索框和筛选栏(标签筛选、类型筛选)
- [ ] 12.4 实现分页加载
- [ ] 12.5 实现经验详情弹窗(含来源交易链接)
- [x] 12.6 实现时间线视图切换
- [x] 12.7 实现分类视图切换(按标签分组)
## 13. Demo 交互确认
- [x] 13.1 创建 Demo 页面(使用静态模拟数据)
- [x] 13.2 实现按天查看交易 + 配对展示 Demo
- [x] 13.3 实现编辑反思 + 打标签 Demo
- [x] 13.4 实现触发 AI 重新分析 Demo模拟响应
- [x] 13.5 实现经验提炼和保存 Demo
- [x] 13.6 实现经验库浏览和筛选 Demo
- [x] 13.7 用户确认 Demo 交互流程
## 14. 集成测试与边界测试
- [ ] 14.1 编写反思→AI 分析→经验保存完整流程集成测试
- [ ] 14.2 编写跨日配对边界测试(周末/节假日)
- [ ] 14.3 编写空反思 AI 分析测试
- [ ] 14.4 编写经验库分页/搜索/筛选测试
- [ ] 14.5 运行所有测试并修复失败项