From d820ff2ad86b356556e1e85ff03afea8d7427a0b Mon Sep 17 00:00:00 2001 From: hmo Date: Sat, 20 Jun 2026 20:08:09 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E5=8D=8F=E4=BD=9C?= =?UTF-8?q?=E6=96=87=E6=A1=A3=20=E2=80=94=20=E8=AE=B0=E5=BD=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=B1=82=E9=87=8D=E6=9E=84=E5=AE=8C=E6=88=90=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/TDX_RELAY_COLLAB.md | 43 +++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/docs/TDX_RELAY_COLLAB.md b/docs/TDX_RELAY_COLLAB.md index 7d4a3d7..58cae0c 100644 --- a/docs/TDX_RELAY_COLLAB.md +++ b/docs/TDX_RELAY_COLLAB.md @@ -225,20 +225,39 @@ server.py 接收更新 ## 六、当前实现状态 -### 已完成 -- server.py `/api/update/realtime` 端点 ✅(v1.0) -- portfolio.json 写入 data_source 字段 ✅ +### 已完成(全部 ✅) +- server.py `/api/update/realtime` 端点 ✅ +- server.py `/api/relay/status` GET 端点 ✅ +- relay_state.json 持久化 ✅ +- price_monitor.py relay_active 检测 ✅ +- price_monitor 回退逻辑(relay 离线→腾讯 API 兜底)✅ +- tdx-relay 心跳上报(每15秒推送)✅ +- 断线自动重连(3次退避)✅ +- 17只港股全量推送 ✅ +- 数据层重构:JSON+SQLite 双写 + 消费者切 SQLite 优先 ✅ -### 待实现(知微负责) -1. relay_state.json 持久化 — 记录 relay 在线状态 -2. /api/relay/status GET 端点 — 中继状态查询 -3. price_monitor.py relay_active 检测 — 在线/离线判断 -4. price_monitor 回退逻辑 — relay 离线时用腾讯 API 兜底 +### 2026-06-20 数据层重构(小小莫完成) -### 待实现(小小莫负责) -1. tdx-relay 心跳上报 — 定期推送到 /api/update/realtime -2. 断线自动重连验证 — Windows 端长期稳定运行 -3. 行情覆盖检查 — 确保 17 只港股全量推送 +**新增文件**: +- `mofin_db.py` — 统一 SQLite 访问层(13张表 + 18个查询函数 + 4个写入函数) +- `migrate_all.py` — 一次性 JSON→SQLite 迁移脚本 +- `mofin_query.py` — 通用查询工具 +- `docs/DATABASE_ARCHITECTURE.md` — 完整架构文档 + +**修改文件**: +- `market_watch.py` — JSON+SQLite 双写 +- `multi_timeframe.py` — K线双写 +- `price_monitor.py` — 价格事件双写 +- `server.py` — SQLite 优先读取(/api/portfolio, /api/watchlist, /api/overview, /api/market) +- `strategy_lifecycle.py` — SQLite 优先读取(stock_sector_map, market_context, holdings, watchlist) +- `market_insight.py` — SQLite 优先读取 +- `strategy_feedback.py` — SQLite 优先读取 price_events +- `system_health_check.py` — SQLite 优先读取 price_events + +**设计原则**: +- 所有消费者:SQLite 优先 → 失败回退 JSON,系统不中断 +- 所有写入:JSON+SQLite 双写,SQLite 失败不影响 JSON 管道 +- 迁移脚本幂等可重跑,JSON 文件不修改 ---