Files
xiaobaifupan/app/docs/migration/evidence/slice-09

切片 09:我的复盘、自选、笔记、交易日志、提醒与复盘助手

基线:b3df070(切片 08 回档标签:xiaobai-preservation-slice-09-20260731 结论:源码、API、数据库、账户隔离、真实页面及全量回归通过;最终视觉仍等待全站人工验收

1. 原实现归位

本切片只机械移动原版复盘、提醒和复盘助手实现,没有从next/取用代码,也没有修改自选、笔记、交易日志、提醒、会员灰化、LLM 上下文或流式协议。

原位置 新的唯一实现位置 兼容方式
assistant_agent.py app/backend/features/review/agent.py 根级模块指向同一模块对象
DashboardService提醒方法 app/backend/features/alerts/facade.py AlertServiceMixin
DashboardService复盘方法 app/backend/features/review/service.py ReviewServiceMixin
ReviewDatabase提醒方法 app/backend/features/alerts/repository.py AlertRepositoryMixin
ReviewDatabase复盘方法 app/backend/features/review/repository.py ReviewRepositoryMixin
五个 POST/流式入口 app/backend/features/alerts/http.pyreview/http.py HTTP Mixin

原版已经存在的AlertServiceTradeJournalService、Repository Port 与 SQLite Adapter 继续保留为唯一底层实现。本切片没有制造第二套提醒或交易日志服务。

2. 源码等价与必要适配

  • assistant_agent.py与正式 Agent 文件 SHA-256 一致,根级兼容模块与正式 Agent 是同一模块对象。
  • 5 个提醒编排方法、8 个复盘编排方法、6 个提醒 Repository 方法和 13 个复盘 Repository 方法均与原版无位置信息 AST 一致。
  • 五个 HTTP 方法只把全局SERVICE改为 Mixin 的self.application_service;状态码、字段、异常和流式事件写法不变。
  • backend.features.alertsbackend.features.review仅对旧底层服务采用延迟导出,避免database -> feature package -> sqlite adapter -> database初始化循环;外部from ... import AlertService/TradeJournalService接口不变。
  • 公共RequestHandler._write_stream_event继续保留,因为问师和复盘助手共同使用,且现有测试直接覆盖;统一传输层留到切片 10。

3. API 与数据库差分

  • 原版8790和迁移版8791使用正式数据库的两个临时副本,未写正式数据库。
  • 固定日期下自选、全部复盘笔记、交易日志、提醒中心及复盘助手历史共 5 个鉴权接口,状态码与业务 JSON 完全一致。
  • 两版均为 62 个 schema 对象;watchlistreview_notestrade_entriesalertsassistant_messagesuserssystem_settingsllm_usage逐行一致。
  • 真实浏览器在迁移版临时副本中新增一条交易记录,弹窗正确关闭并显示短提示“交易记录已保存”;没有写正式数据库。
  • 未调用真实/api/assistant/chat,避免外部模型波动和 LLM 用量写入;Agent、流式累积与权限路径由源码等价和单元测试覆盖。

4. 真实浏览器检查

  • 1920×1080 检查我的复盘完整布局,自选 6 只、交易日志、每日复盘三个独立输入框和最近复盘均可访问,无横向溢出。
  • 添加自选与交易日志弹窗居中可用;交易日志保存后没有出现超长空弹窗。
  • 提醒中心正常展示筛选、新建提醒和提醒记录。
  • 管理员会员账号显示完整可用的复盘助手;临时普通账号显示相同界面、顶部“复盘助手仅对会员开放”,下方快捷问题、输入框和发送按钮均灰化禁用。
  • 临时普通账号自选和交易日志均为空,证明用户私有数据没有串到管理员账号。
  • 夜间模式背景为rgb(18, 20, 22),1920×1080 页面无横向溢出,控制台无错误。
  • 截图review-workspace-night-1920x1080.png SHA-256bc803305a391930a0aafd68062bab6de86eca14612799eebfda220cf2ad0798e

5. 自动验证与保留边界

验证 结果
原版python -m unittest discover -s tests -q 231 项通过
迁移版python -m unittest discover -s tests -q 287 项通过
python -m unittest tests.test_preservation_slice_review_alerts -q 7 项通过
npx.cmd playwright test --reporter=dot 45 项通过(2.2 分钟)
git diff --check 通过
  • 前端 DOM、页面 JS、CSS 与移动端行为未改动,统一归位延至切片 10。
  • demo_data.pystatic/heaven-loading.js、五个疑似无引用前端函数和wencai_saved_queries继续保留到切片 11 试删。
  • 没有修改next/、正式数据库、Docker/NAS 或8765服务。