Marquis03
|
177fca7ae8
|
fix(stocksdk): normalize realtime change percentage
|
2026-08-20 10:35:52 +08:00 |
|
intfoo
|
4c85f99633
|
fix(minute): 自定义分钟数据源用户单股补拉/监控页整改 (承接 #121 review)
|
2026-07-19 13:35:35 +08:00 |
|
 wshyandshy3130
|
697ff2a181
|
fix(compliance): reinforce research-only boundaries (#108)
Co-authored-by: shy3130 <shy3130@users.noreply.github.com>
|
2026-07-12 22:42:38 +08:00 |
|
wshy
|
f0a082b01a
|
chore: 数据获取耗时诊断日志 + 指数卡片涨跌着色 (#76)
* chore(diag): 数据获取全链路加分段耗时日志, 定位 WSL 卡死
用户反馈 WSL 下数据获取超时 800s 疑似卡死。在三个可能卡住的环节
加轻量诊断日志(不改业务逻辑), 复现一次即可从日志定位根因:
- policy.py: 能力探测每个 cap 的开始/完成/耗时/结果 + 探测总耗时
(启动期 13 次串行探测是首要嫌疑)
- client.py: 3 个 SDK 客户端创建时记录端点 + 标注 SDK 默认超时
(timeout=30s, max_retries=3, 单次最坏 127s)
- quote_service.py: 全市场行情/核心指数拉取的条数 + 耗时
- bridge.py: stock-sdk 桥接 subprocess 的 op + 耗时 + 超时上下文
* style(sidebar): 指数卡片价格按涨跌着色, 与涨跌幅同色
|
2026-07-08 15:15:30 +08:00 |
|
 xtxoandtokenming
|
f273349cc8
|
fix: allow stock-sdk plugin on Windows (#75)
Co-authored-by: tokenming <xtxo@users.noreply.github.com>
|
2026-07-08 14:19:52 +08:00 |
|
shy3130
|
03e99bd05f
|
feat(stock-sdk): 取数入口补充 INFO 日志, 便于确认切换后实际走 stock-sdk
|
2026-07-07 13:07:59 +08:00 |
|
 wshyandshy3130
|
3656fedc62
|
fix(docker): 镜像内置 stock-sdk 插件依赖(Node + node_modules) (#59)
Docker 运行时镜像(python:3.11-slim)既无 node 也无 node_modules,
导致 stock-sdk 插件 availability() 恒返回 false, 用户反馈打成 docker 后无法安装。
多阶段构建:
- 新增 stocksdk-builder 阶段(node:20-bookworm-slim)npm ci 装依赖
- runtime 阶段 apt 装 nodejs(满足 engines>=18, 自带全部动态依赖)
- COPY --from 将 vendored node_modules 拷到与 bridge.mjs 同目录
(/app/app/plugins/stocksdk/node_modules), 命中 bridge.mjs loadSDK() 第一候选路径
用户 docker pull 后开箱即用, 无需进容器手动 npm install。
同步更新 plugin.yaml install_hint 文案与相关文档。
Co-authored-by: shy3130 <shy3130@users.noreply.github.com>
|
2026-07-06 22:26:43 +08:00 |
|
shy3130
|
966d94ab03
|
feat: 数据源插件化架构 + stock-sdk 首个插件
将可选数据源改为插件化架构: 插件代码放 backend/app/plugins/<name>/,
用户在设置页点击安装依赖, 主仓库不背运行时依赖(nodejs 等)。
架构:
- loader.py 新增 _load_builtin_plugins() 扫描 plugins/ 目录, 通过
plugin.yaml 清单动态发现并注册插件(委托自检 + 优雅降级)
- runtime 字段支持 node/python, 安装/卸载分别用 npm/pip
- 现有 tickflow + YAML 自定义源逻辑 100% 保留, 插件是叠加层
stock-sdk 插件 (plugins/stocksdk/):
- 原始实现来自 @forrany 的 PR #57, 迁移到插件化架构, 署名保留
- Node 桥接 (bridge.py/mjs) + Python provider, 覆盖日K/除权/分钟/实时
- 设置页主列表直接显示: 未装灰显+安装按钮, 装完可切换/卸载
配套:
- instrument_sync: 通用增强, 任何 provider 都能提供标的维表
- install/uninstall: uv 优先回退 pip, 容错坏 uv.toml + 国内镜像
- 10 例单测全过, tsc 零错误
|
2026-07-06 17:00:56 +08:00 |
|