Commit Graph
417 Commits
Author SHA1 Message Date
Jason Zhang a9fa039495 Change GitHub links to new repository owner
Updated GitHub repository links in the README to reflect the new owner.
2026-09-11 17:14:26 +08:00
Jason Zhang 3ce22bd4eb Merge pull request #9 from awayings/fix/bars-dialog-pagination
fix: K线取数翻页浪费——弹窗只取近2年 + fetchBars 停页判断取错端点
2026-09-11 17:05:13 +08:00
awayingsandClaude Code 04f7f1f34e fix: fetchBars 停页判断取末根(最新根)恒假,带 startDate 的请求多翻一页
页内升序,本页最早一根应是 pageBars[0];原代码取 pageBars[length-1]
(=最新根),"最早 ≤ startDate" 恒假 → 每个限定日期范围的请求都多发
一页 800 根(sentiment 量能仪表盘 2 页→1 页,选股器/弹窗同样受益)。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-11 16:31:55 +08:00
awayingsandClaude Code 71c386509c fix: 个股/板块弹窗日K只取近 2 年,不再全历史分页(5+ 页 → 1 页)
弹窗日K只用最近 250 根,却以 count=800 逐页拉全历史(300308 约 3400 根
= 5 页),深层页还触发服务端 QFQ 负价的 NONE+XDXR 本地重算(每页多一次
协议请求)。传 startDate(近 2 年)后单页 800 根即覆盖,翻页循环第一页
即命中退出;长期停牌取不到时退回全历史,行为不变。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-11 16:25:52 +08:00
Jason Zhang 5844c4a8a6 Merge pull request #8 from awayings/feature/watchlist-returns
feat: 自选列表新增「近3日/近1周/近2周」涨跌幅三列(issue #7)
2026-09-11 16:17:51 +08:00
awayingsandClaude Code 5ea6914edb perf: /watchlist/returns 取数 800 → 20 根(MAC 单页,冷路径请求减半)
实测 MAC 服务端 QFQ 复权锚与请求窗口无关(count=11 vs 800 收盘价
完全一致),数学上 max(DEFAULT_WINDOWS)+1=11 根即够,+10 缓冲;
800 根在 MAC 协议上是 2 页请求,纯属浪费。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-11 15:28:48 +08:00
awayingsandClaude Code 5c2d4ff3d1 fix: 修复 CI ruff I001(测试文件 import 排序)
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-11 14:37:23 +08:00
awayingsandClaude Code fb35677802 feat: 自选列表新增「近3日/近1周/近2周」涨跌幅三列(issue #7)
交易日偏移口径:T = 上证指数日线(交易日历)中 <= 今天的最后一天,
D_n = T 往前 n 个交易日,锚点 = 个股日线(/bars 同款 QFQ)中
date <= D_n 的最后一根 bar。后端只回锚点收盘价,涨跌幅由前端用
SSE 实时价现算,盘中三列随报价免费跳动、无需轮询本接口。

- 新增 GET /watchlist/returns + 纯计算模块 web/returns.py(零 IO,单测覆盖
  停牌回退/次新 null/除权日 QFQ/非交易日回退等口径)
- 个股日线与交易日历均进程内缓存(当日不变、次日失效),重复刷新零行情请求;
  日历缺今天(serve 盘前启动)时按 60s 间隔重取,避免 T 整体前移
- 取数并发 ≤ 4(TDX 防封红线);单只失败只落 error,不影响整表
- 前端 +3 列(着色复用 dirClass/fmtPctSigned),e2e 同步断言

与 issue 定稿的两处偏差(/simplify 收敛,"减少不必要的改动"):
- 删除 windows 查询参数:列名与窗口一一对应(issue 亦将"用户自定义窗口"
  列为 out of scope),固定 3/5/10
- 个股缓存由磁盘 JSON 改为进程内 dict:可观测行为不变(当日不重复请求),
  但 serve 重启后当天首次请求会重取一次

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-11 11:39:10 +08:00
Jason Zhang 57b1a7b32b Merge pull request #2 from awayings/feature/fix0910
fix: 适配 2026-09 主站新式握手,修复 K线/市场统计返回空数据
2026-09-10 11:36:53 +08:00
awayingsandClaude Code f31790e6d9 fix: 适配 2026-09 主站新式握手,修复 K线/市场统计返回空数据
2026-09 起行情主站拒绝旧版 pytdx 三条固定 msg_id 握手建立的连接:
握手有响应,但该连接上 K 线一律返回 2 字节空包(0x0320,声称 800 条)、
880xxx 统计指数快照返回空——服务器不报错只是不给数据,导致 web
/market/stat 500、/bars/index 空列表。

修复:改为新式单条握手(0x000d + payload 0x01 + 随机 msg_id,每连接
新生成),sync/async transport 连接与 sync 心跳统一走
easy_tdx.commands.setup.build_handshake_command()。业务请求格式与固定
msg_id 无需改动(对照实验:新式握手连接上固定 msg_id 请求全部正常;
旧三条命令即使 msg_id 随机化仍被拒)。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-10 11:25:28 +08:00
Jason Zhang 80b0d399e0 Merge pull request #1 from awayings/docs/restructure
docs: 文档体系重构——README 瘦身、docs 分域拆分与全量索引
2026-09-08 23:32:20 +08:00
awayingsandClaude f58010ead8 docs: README 瘦身至 204 行 + 文档导航;修复 examples 财务锚点
- README 保留功能介绍/30 秒上手/架构摘要/安装/Web UI 入口,CLI 参考、
  Web API、Python API、枚举、完整 API 列表、架构树、开发章节全部移交 docs/
- 新增「文档导航」段:24 份 docs 全部从 README 可达,完整索引见 docs/index.md
- examples/06_finance/README.md 的 #财务 锚点改指 docs/cli-finance.md#财务

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-08 23:21:55 +08:00
awayingsandClaude ae24c3a5f1 docs: 新增 architecture/development,重写 docs/index.md 全量索引
- architecture.md:七层架构图 + 源码树 + 分层要点(越层直调/协议层无 IO/
  e2e_mock 替身/__main__ 三形态/平台差异)
- development.md:环境初始化/测试三层分布/静态检查/开发流程四阶段
  (需求 Issue→开发测试→提交 CI→发布 release+CHANGELOG)/文档规范
- index.md:人类目录(分类+每文件一句描述+历史归档标注)+ 完整 toctree
  (38 个 md 全部入树,消除 ReadTheDocs orphan 页面)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-08 23:21:50 +08:00
awayingsandClaude 990b4a7802 docs: 拆分超大文档——教程/参考分离,去过期版本横幅,模型枚举归并
- backtest_usage(742→485):CLI 章移交 cli-backtest.md,示例/注意事项
  抽至 backtest-examples.md,重建目录
- quantitative-guide(628→325):第 5-7 章(滑点/执行仿真/归因/工作流)
  抽至 quantitative-advanced.md 并重编号
- api_reference(704→478):删除过期版本横幅(1.16.2)与快速开始教程段;
  数据模型/枚举与 field_mapping.md 逐表核对后去重(field_mapping 为唯一权威);
  WebSocket 节随 web-api.md 合并移除
- field_mapping:吸收 MAC 协议枚举(Period/Adjust/Category/BoardType/
  SortType/ExMarket),全部文档回到 ≤500 行

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-08 23:21:44 +08:00
awayingsandClaude 36b586b015 docs: README Python API 章拆至 python-api.md(教程),枚举/API 列表归入参考文档
- python-api.md:连接/MAC/统一客户端/标准协议/离线/缠论/公告/财报/实时轮询教程
- MAC 协议枚举(Period/Adjust/Category/BoardType/SortType/ExMarket)并入 field_mapping.md
- MacClient/MacExClient 完整方法表并入 api_reference.md(TdxClient 表与正文重复,删除)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-08 23:21:35 +08:00
awayingsandClaude d8b3a1afb5 docs: README Web 章拆至 web-api/web-ui,WebSocket 帧规范并入 web-api
- web-api.md:REST/WebSocket/SSE 端点与示例;吸收 api_reference.md 的
  WebSocket 帧表/控制消息/行为约定/前端接入,消除两处互补重复
- web-ui.md:行情终端与回测工作台零代码操作手册(原错位嵌套在
  「本地 K 线仓库」章节下的 Web UI 块,补全章节结构)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-08 23:21:30 +08:00
awayingsandClaude bfb8789ae8 docs: README CLI 章按域拆至 docs/cli*.md + chanlun/data-local(含参数表去重合并)
- cli.md 命令总览(补 chanlun/zhuoyao/bias-signal 漏项)+ 按域导航
- cli-market / cli-finance / cli-indicators / cli-screen / cli-backtest 按域拆分
- cli-backtest 吸收 backtest_usage CLI 章的 backtest/optimize 参数表与 --indicators 说明
- chanlun.md(CLI+Python)、data-local.md(warehouse+offline)按主题合一
- 策略 demo 图复制至 docs/images/demo/,图片与内联链接路径改写为 docs 内相对路径

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-08 23:21:26 +08:00
Justin Gu e374a0da28 release: v1.32.6 — 两周改动深度审查全面修复(回测口径三件套/LLM 安全加固/涨停价舍入/时区统一/缓存与竞态等 58 处)
对 v1.21→v1.32.5 的 249 文件 4.2 万行改动做六路专项审查,本轮落地全部发现:

回测正确性:组合收益 fillna(0) 虚增、轮动停牌日过期价成交、单标的 WF 逐窗指标
被预热区稀释(三件套均带先红后绿回归);worst_drawdown 方向、grading 容错、
组合体检品种费率、寻优端点费率透传。

安全:LLM api_url 仅 http/https 且禁 userinfo(封死 file:// 读取与 Key 外送链)、
错误响应不回显原始 body、响应体 2MB 上限、配置原子写、坏配置字段级防御。

数据:涨跌停价整数分币舍入(67/318/90 个价位错 1 分漏判清零)、交易时段/采样/
provisional 统一沪时区、warehouse 增量缺口自动全量重拉、provisional 定点转正、
baostock 真故障抛错 + W/M 去 tradestatus(实测服务端报错,周月兜底此前从未工作)
+ 指数 vol 股→手(实测锚定)、ccpm 结构变更抛错。

Web API:缓存键补 count/vipdoc、NaN 清洗先于缓存、count>800 分页取全量、
submit 透传真实状态、pending 不再被淘汰成幽灵、watchlist/server 入参约束。

公式:FILTER 去副作用、0-1 值域误判收严、递归深度上限、REF 负移位显式禁止。

前端:4 处请求竞态序号守卫、Sparkline viewBox、北交所 market=2 映射、
空数据缓存死角、AI 弹窗卸载中止轮询、量能/资金日历口径修正。

CLI/CI:warehouse sync 失败 exit 1、参数校验干净报错、release 真实发布 SHA256、
CI 超时与缓存、spec 补 baostock 前提。

约 60 条回归测试先红后绿;pytest 1820 全过,ruff/mypy/vue-tsc/node --test 全绿。
2026-09-06 22:16:48 +08:00
Justin Gu d5cf9c14a9 feat(web): 品牌区显示应用版本号 — 新增 GET /api/v1/meta,前端启动拉取展示 2026-09-06 14:34:59 +08:00
Justin Gu 99733f13d1 release: v1.32.5 — 回撤持续统计修复,统一为最长水下期口径(单标的风险指标恒为 1) 2026-09-06 02:42:34 +08:00
Justin Gu c1d1349c8b docs(ci): Release 模板正文补充杀软误报说明与体积修正
v1.32.4 有用户反馈 Defender 报 Trojan:Win32/Wacatac.C!ml——未签名
PyInstaller 单文件的典型 ML 误报。把误报说明(核验步骤/VirusTotal
交叉验证/微软误报申诉入口)固化进 release.yml 的 body 模板,
后续版本自动携带;体积描述 80-150MB 修正为实际的 40-50MB。
2026-09-06 01:24:47 +08:00
Justin Gu 757859bc18 fix: mypy 严格模式修复 — 热点构建状态收窄与 Task 泛型参数(CI mypy job) 2026-09-05 12:18:36 +08:00
Justin Gu 342e6e8d41 release: v1.32.4 — 盘面洞察系列六栏目 + AI 复盘 + 资金日历(成分股排序/截断修复) 2026-09-05 12:08:33 +08:00
Justin Gu 9be6f156c7 fix: 热点相关性矩阵行列顺序跨重启随机互换 — set 迭代序非确定性
board-mac/hotspot-correlation 的入阵板块来自 set 的并集,
sorted(days_in, key=-days_in) 在上榜次数并列时保持 set 迭代序,
而字符串哈希随机化(PYTHONHASHSEED)使该顺序跨进程不稳定——
服务每次重启矩阵的行/列都可能互换(全量单测中按哈希种子复现)。

排序加 code 兜底使其确定性;热点矩阵 rows_out 的多级排序同样
补 code 兜底(全并列时此前也受 set 序影响)。
2026-09-05 11:42:05 +08:00
Justin Gu 610092f968 test: ex_reconnect 测试密闭化 — 屏蔽跨主机故障转移的真实网络探测
TestMacExClientReconnect::test_all_retries_relogin_each_time 在部分机器
login 计数 5 != 4:4 次退避重试耗尽后 _execute 会走跨主机故障转移
(select_best_host_sync 真实测速),找到可切换主机时会再 connect+login
一次——测试未 mock 该阶段,断言结果依赖运行环境的网络可达性。

- 新增 autouse 夹具把 ex.client / ex.mac_client 的 select_best_host_sync/async
  统一 patch 为"找不到新主机",全部用例密闭化、不再发真实探测
- 新增 test_failover_stage_relogs_in_and_raises:显式钉住故障转移找到
  新主机时也必须 _login()(4+1=5 次)且仍失败则抛出的语义
2026-09-05 11:42:04 +08:00
Justin Gu aead122478 feat: 涨停生态 vipdoc 路径可配置 — 应用级 KV 设置 + 页面配置行
- 新增 AppSettingsStore(~/.easy_tdx/settings.db,KV 持久化,重启不丢)
- GET/PUT /settings/vipdoc:读取/保存本地 vipdoc 目录(保存即校验目录
  存在,并清空涨停生态/历史缓存,下次扫描立用新路径;空串=恢复自动检测)
- vipdoc 解析优先级:显式参数 > 已存设置 > 自动检测(TDX_HOME/常见路径)
- /limitup-ecology 响应携带 vipdoc_path 供页面展示生效目录
- 涨停生态页头部新增路径配置行(输入框+保存+恢复自动检测),
  未检测到数据的空态文案引导填写
2026-09-05 11:24:48 +08:00
Justin Gu a36043f962 fix: 市场情绪页空态提示层铺满全页拦截鼠标
资金日历的 .fund-card 未设置 position:relative,其空态提示
.empty-hint(absolute + inset:0)向上找到了无定位祖先,直接以
初始包含块铺满整个视口,把全页链接/按钮都挡住。修复:

- .fund-card 加 position:relative,提示层收回卡片内
- .empty-hint 加 pointer-events:none,纯信息层双保险永不拦截交互
2026-09-05 05:02:08 +08:00
Justin Gu a9782b74b9 feat: 盘面洞察收官 — AI 盘面复盘 + 板块主力资金日历
- AI 盘面复盘(市场情绪页):一键汇总当前情绪/量能/涨停梯队数据生成
  摘要 Prompt,走 /llm/chat/async 异步任务 + 轮询,回复页内展示并经
  _record_history 自动归档「AI 解读历史」
- 板块资金日历:FundFlowSampler 每交易日 14:45 后经
  get_board_ranking(main_net_amount) 采样行业主力净流入 Top10,
  SentimentStore 新增 board_fund 表((date,rank) 幂等);口径为
  "涨幅前 50 名中主力净流入最高 10 个"(逐板块 summary 太贵,非全市场
  严格排序);/market/board-fund/history + 市场情绪页日历视图
- app.py lifespan 接线启停;路线图 ⑥⑩ 标记收官
2026-09-05 04:43:22 +08:00
Justin Gu 7f0f14532e refactor: 移除异动雷达 — 数据源盘中几乎无记录,功能不达预期
- 删除 /radar 页面与导航、看板「异动雷达」卡片、fetchUnusual 封装
- 移除 /mac/unusual HTTP 端点(MAC 协议层 get_unusual 与 mock 保留,
  属协议覆盖面);路线图 ③ 标记取消
2026-09-05 04:42:53 +08:00
Justin Gu 0a205ffbf3 feat: 盘面洞察第四批 — 板块相关性热力图 + 异动雷达 + 量能仪表盘
- 相关性 /hotspots 页内新增「相关性」视图:/board-mac/hotspot-correlation
  复用热点历史矩阵缓存,对窗口内活跃板块(每日前 per_day 名并集,按上榜次数
  取前 N)两两算日涨跌幅 Pearson 相关;红=同涨同跌(抱团)、绿=跷跷板(轮动),
  ECharts 热力图 + 双向色阶 visualMap;无缓存时透传 building 状态
- 异动雷达 /radar:沪深异动流时间线(封板/炸板/大笔买入/逼近涨停…),
  每分钟异动密度柱 + 类型筛选 chips(带计数),行点击直达个股弹窗,15s 轮询
- 量能仪表盘并入市场情绪页:两市(上证+深成 5 分钟线)累计成交额曲线
  vs 近 5 日同期均值(虚线),标题给出偏离百分比——放量/缩量一眼可辨
- 热点缓存判定重构为 _hotspot_history_or_build 公共入口,correlation 与
  hotspot 共用同一构建状态机;新增相关性矩阵回归单测
2026-09-05 04:09:03 +08:00
Justin Gu 37c732fb30 fix: 板块弹窗成分股写死 120 只截断 — 改全量拉取
BoardDialog loadMembers 硬编码 count=120,CPO(205 只)、半导体(185 只)
等大板块的成分股榜永远少一大截。改为 1000(后端单页 80 自动翻页,
拉满后按成员清单自然终止,典型 200 只板块仅 3 个请求);
fetchBoardMembers 缺省值同步对齐。

注:688801 燧原科技 MAC 报价缺前收(pre_close=0),前端已有除零守卫,
属数据源口径而非排序问题。
2026-09-05 03:41:03 +08:00
Justin Gu 7456f81c80 fix: 板块成分股/排行报价分页合并顺序颠倒 — 多页前插改按页序追加
BoardMembersQuotesCmd 分页合并曾用 batch + all_quotes 前插,而协议 start=0
返回排序后最前一页:成分股超过单页 80 只的板块(半导体 SH881319、
光学光电 SH881329、通信设备 SH881338 等)弹窗涨跌幅榜从第 81~100 名开头,
前 80 名被压到后面,肉眼即乱序;≤80 只的板块单页不受影响。

同步/异步 get_board_members 与 get_stock_quotes_list 共 4 处统一改为
按页序追加(all_quotes = all_quotes + batch),回归测试钉死多页合并顺序、
start 偏移推进与末页不足一页的终止行为。

注:test_ex_reconnect::test_all_retries_relogin_each_time 存量失败
(干净工作树同样失败),与本修复无关,另案处理。
2026-09-05 03:30:52 +08:00
Justin Gu 2b86a7d588 feat: 市场情绪栏目 — 盘中情绪采样器 + 宽度分时 + 涨停史离线回补
- /sentiment 市场情绪:温度卡(实时上涨占比/涨跌停/总成交,五档情绪判定)
  + 今日宽度分时(上涨/下跌/涨停家数三线)+ 近 60 日涨停跌停家数与上涨占比
- SentimentSampler:交易时段每分钟采样全市场广度(get_market_stat),
  停牌/盘外自动跳过、失败不中断;SentimentStore 落 SQLite
  (~/.easy_tdx/sentiment.db,(date,minute) 幂等主键,重启不丢)
- /market/sentiment/today|history:当日分钟曲线 + 逐日聚合(收盘快照占比/峰值)
- /market/limitup-history:涨停跌停家数逐日历史由 vipdoc 离线回补,
  无需采样积累即时可用;缓存按 days 分键(修复 10 天缓存被 60 天请求命中)
- 采样历史需交易日积累,页面空态有明示;涨停/跌停历史开箱即有 60 天
2026-09-05 03:10:19 +08:00
Justin Gu e419f911b7 feat: 盘面洞察三栏目 — 热点滚动/大盘日历/涨停生态,移除龙头池
- 热点滚动 /hotspots:交易日×板块涨跌矩阵(行业/概念/风格FG、领涨领跌镜像、今日~30日窗口),
  每日名次徽标+连板/累计/首榜统计,统计卡可点击展开成员板块;后端 /board-mac/hotspot
  两段式数据(历史日K矩阵当日缓存 + 今日实时列,周末 pre_close 未滚动去重),
  单连接约束下后台构建+进度轮询;风格轮动 /styles 为同视图 FG 路由别名
- 大盘日历 /calendar:指数全年红绿热力图,方框大小编码成交额(年内四分位),
  悬停浮框显示收盘/涨跌幅/成交额
- 涨停生态 /limitup:本地 vipdoc 日线离线回算连板天梯/首板二板分布/炸板率/跌停;
  仅统计最后一根 bar 等于全市场最新交易日的股票(防停牌/退市/未下载陈旧文件污染),
  主板 5% ST 判定带低价护栏;名称前端经 symbol-info 懒加载补齐
- 移除龙头池栏目及 /market/core-leaders 端点(screen 模块 universe=core 保留)
- 设计文档:docs/hotspot-rolling-design.md、docs/market-insights-roadmap.md
2026-09-05 02:43:02 +08:00
GitHub ef9b34b88d release: v1.32.3 — 策略库保存名称带股票名 + 参数寻优买入持有基准对比 2026-09-04 22:45:04 +08:00
GitHub 50f00440c5 test: E2E 适配保存策略名称带股票名 — 预填名预期值更新为「双均线交叉 · 000001 · 平安银行」 2026-09-04 22:44:24 +08:00
GitHub 5476ba0f33 feat: 参数寻优新增买入持有基准对比 — 两个寻优接口返回同口径 buy_hold(run_buy_hold_benchmark),全局最佳/最优结果总收益旁展示 [买入持有:xx.xx%],涨红跌绿 2026-09-04 22:42:13 +08:00
GitHub 9b9d123105 feat: 保存策略默认名称挂股票名 — 弹窗打开时查 /mac/symbol-info 拼成「策略 · 代码 · 股票名」,失败/手动改名不打扰,摘要行同步带名 2026-09-04 22:42:07 +08:00
GitHub 75a741e03c release: v1.32.2 — baostock 自动兜底数据源(TDX 全败时最后一级回退 + warehouse 多源 + EXE 内置) 2026-09-04 19:58:09 +08:00
GitHub 2359df8694 feat: warehouse sync 支持 --source auto/tdx/baostock + EXE 打包内置 baostock 兜底源 + README 使用说明 2026-09-04 19:40:28 +08:00
GitHub 01e8fc0cc1 feat: /bars 自动兜底数据源 baostock — TDX 全部路径失败时最后一级回退(仅日线及以上),响应带 source 字段标注数据来源 2026-09-04 19:24:05 +08:00
GitHub bc2774bbf5 docs: README 头部调整 — 宣传图移至 Star History 图表之前 2026-09-04 18:48:26 +08:00
GitHub d3fbedd1ee docs: README 开头新增 Star History 星标历史图表(深浅主题自适应 picture 版) 2026-09-04 18:26:42 +08:00
GitHub cb506dc0ed docs: README 新增回测防过拟合验证链实拍(WF 样本外/一条龙评估/25 项指标/成交明细)与期货持仓排名页截图 2026-09-04 18:20:29 +08:00
GitHub f6dab148bb docs: README 行情终端章节新增行业/概念总览三张实拍截图(热力图通栏 + 20日排序/概念页并排) 2026-09-04 18:12:12 +08:00
GitHub 55494b799a docs: README 开头重写为定位+四大能力总览(去版本号堆砌),补 CLI 新命令与 Web API 端点(板块总览/回测任务/策略库/自选/AI) 2026-09-04 17:52:56 +08:00
GitHub 41db6b0ca7 release: v1.32.1 — 行业/概念总览上线:WebUI 板块全景双栏目(热力图/表格+统计条+三榜/翻红翻绿+板块弹窗复用) 2026-09-04 16:00:04 +08:00
GitHub f6560f3c6d feat: 行业/概念总览 — WebUI 板块总览双栏目(统计条+热力图/表格+三榜/翻红翻绿+板块弹窗复用)+ /board-mac/overview 聚合端点(多排序归并+15s缓存) 2026-09-04 15:59:57 +08:00
Justin Gu d6478a1e1c ci: 排除 test_ai_llm.py — CI 无 API key 且 runner 卡顿时 LLM 异步轮询必然超时抖挂 2026-09-04 13:09:50 +08:00
Justin Gu d0b72e1bd1 release: v1.31.3 — 紧急修复盘中分时数据错乱(实时命令解析错位,全程改走历史分时) 2026-09-04 12:42:44 +08:00