Commit Graph
265 Commits
Author SHA1 Message Date
wshy a6ad8665aa Update README.md 2026-07-02 22:29:30 +08:00
shy3130 085d50a744 Merge fix/strategy-delete-bugs: 自定义策略删除相关 bug 修复 2026-07-02 22:28:16 +08:00
shy3130 c7ad860dba fix: 修复自定义策略删除导致策略池清空及删除失败静默问题
- bug2(删除后策略全没): prune 仅在拉取成功且非空时执行,加载中/失败/空列表不碰池
  根因: 删除触发 engine.reload() 重扫所有文件,任一文件 import 失败被静默跳过,
  前端拿到残缺列表后 prune 把池中有效 ID 永久清除并写 localStorage
- bug1(自定义策略删不掉): handleDelete 不再静默吞错误,失败时显式提示并保持弹窗打开
- ai_save 守卫回归: 放宽前缀允许 ai_/custom_,保留 path traversal 字符白名单(安全核心未动)
  修复「AI 修改 custom 策略」因 strategy_id 非 ai_ 前缀被 400 拒绝
- 引擎加载失败可见化: _load_all 收集 load_errors,/api/screener/strategies 返回,
  前端 toast 提示具体失败文件,不再静默消失
- 同步补全 ai_generator _SYSTEM_PREFIX 三条铁律(与 bbc92c4 docs 一致)
2026-07-02 22:19:46 +08:00
shy3130 bbc92c45de docs: 优化策略提示词,新增文件与范围铁律约束
- step1/step2/guide 均补充不可触碰项目源码、不得放入内置策略目录的铁律
- 明确 AI 生成策略只属于 data/strategies/ai/,文件名/ID 用 ai_ 前缀
- 防止 AI 生成多文件、跨文件 import 或染指 backend/app/strategy/builtin/
2026-07-02 21:31:50 +08:00
shy3130 b203e07e22 chore: 更新 uv.lock 2026-07-02 17:46:31 +08:00
shy3130 d4dcbb1797 chore: 版本号升至 0.1.70 2026-07-02 17:45:30 +08:00
shy3130 e283d487ce feat: Free 档实时行情监控限制提示
实时行情开关区新增 Free 档限制提示「监控自选股前 5 只,
全市场监控需 Starter+」,位于交易时段状态上方,可手动关闭
(不持久化,刷新后恢复显示)。
2026-07-02 17:40:41 +08:00
shy3130 fca0e261db feat: 系统工具页新增封单监控触发验证
- 新增封单监控 tab: 模拟触发 (纯条件判断) 与真实触发 (落盘+推送)
  供验证规则是否生效
- 页面标题与文案中性化, 避免暴露内部调试性质
2026-07-02 17:22:52 +08:00
shy3130 33a7be0deb feat: 连板梯队封单监控卡片 UI 与 API
- monitor_rules API: RuleModel 加 metric/threshold 字段; ladder 类型
  需 DEPTH5_BATCH 能力校验; 加模拟触发与真实触发端点供验证
- 连板梯队卡片: 右上角监控按钮 + 设置菜单 (段控指标/阈值+单位/
  胶囊推送/权限提示); 开启监控的卡片置顶 + 背景区分
- 推送默认取全局设置; 单位默认万手/亿元
- 非付费用户可见功能入口但保存禁用, 提示后续适配免费数据源
2026-07-02 17:22:42 +08:00
shy3130 000a9ead77 feat: 连板梯队封单监控规则引擎
- monitor_rules 新增 ladder 类型 (封单量/封单额 <= 阈值预警)
- monitor 加 _evaluate_ladder: 封单判断 + 炸板/翘板预警, message 体现封单量
- monitor 加 has_rule_type 供评估前判断是否需注入特殊数据
- quote_service: 有 ladder 规则时从 depth_service 注入封单量到 enriched
2026-07-02 17:22:32 +08:00
shy3130 255688fab4 feat: 概念涨幅轮动 AI 分析
- 新增 concept_rotation_analyzer: 从涨幅排名矩阵预计算轮动信号
  (主线/新晋/退潮/机构vs游资), 结合大盘背景生成分析报告
- rps API 加 /rotation-analyze 流式端点 (NDJSON)
- 轮动对话框: AI 占位替换为流式 Markdown 报告区 + 自动滚动
- 删除搜索框, 新增选中概念排名行 (前10红/后10绿)
2026-07-02 17:22:16 +08:00
Yuki Noah d4a834e942 Normalize OpenAI-compatible AI base URLs (#35) 2026-07-02 12:35:06 +08:00
shy3130 c394a365e1 revert: 撤回连板梯队 queryKey 扁平化修复
撤回 e7615fb 中 [...QK.limitLadder(...)] 改写, 恢复为 [QK.limitLadder(...)]
嵌套写法。
2026-07-02 12:28:16 +08:00
shy3130 09ec2a55c3 fix: 当日涨跌停判定改用维表 limit_up/limit_down 权威值
原逻辑用 _limit_price(prev_close, 推断涨幅) 自算理论涨停价, 涨幅靠 symbol
前缀 + ST 名字匹配推断, 存在两类缺陷:
1. 浮点精度: 自算涨停价比真实价多 0.01, 超出 0.005 容差导致漏判 (12 只)
2. ST 匹配漏洞: 名字含 "S" 不含 "ST" (如 S佳通) 被漏判 ST 5% 档 (1 只)

改为优先读 instruments 维表的 limit_up/limit_down (交易所级别精确价),
仅新股 (limit_up 为 null 或哨兵 100000) 回退自算。输出 schema 不变,
下游 depth_service/screener/market_overview 零改动。

历史路径 compute_limit_signals 不动 (instruments 仅存当天 as_of)。
2026-07-02 12:28:13 +08:00
shy3130 e7615fb9e6 fix: 扩展数据拉取修复与连板梯队queryKey修复 2026-07-01 23:02:37 +08:00
shy3130 5a9fa9b255 feat: 概念涨幅RPS轮动分析 2026-07-01 17:48:28 +08:00
wshy c6541569c9 Update README.md 2026-07-01 17:37:01 +08:00
wshy e0e7b2c6a5 Update README.md 2026-07-01 15:03:45 +08:00
wshy 3f5f361361 Update README.md 2026-07-01 15:02:28 +08:00
shy3130 ff9d7a9ac4 fix: filter_history 策略(反包等)实时监控可触发通知 2026-07-01 14:38:40 +08:00
wshy 83b96e2aeb Update README.md 2026-07-01 14:26:50 +08:00
wshy 163893c5be Update README.md 2026-07-01 14:19:08 +08:00
shy3130 8127bd3c99 chore: 版本号升至 0.1.68 2026-07-01 11:27:30 +08:00
shy3130 ce5c705ab4 fix: 跨日后连板梯队整体少算一档
根因: live_agg 缓存的昨日连板数 (_prev_consec_up/down) 跨日不失效,
盘中增量计算永远基于前天基准, 导致次日开盘连板数整体 -1。

- get_live_agg() 加跨日失效守卫: date.today() 变化时按需重建
  (fast-path 仅比较 today ~0.24ms/次, 跨日当天一次性磁盘校验)
- cron 盘后管道补 refresh_cache(), 与手动触发 /api/pipeline/run 对齐
  (此前 cron 路径漏了这步, 盘后落盘的新 enriched 不反映到内存缓存)
2026-07-01 11:19:32 +08:00
shy3130 4a7d405d9d docs: 新增飞书推送截图(个股监控/自动复盘) 2026-07-01 10:15:29 +08:00
shy3130 14070c24b3 fix: 切页时 onboarding 守卫整屏 logo 闪烁
后台重取 (isFetching) 期间本地已有 stale 缓存可展示, 无需整屏占位。
仅首次加载 (isLoading) 才显示占位, 消除切页 logo 闪烁。
2026-06-30 22:36:07 +08:00
shy3130 e4f0a95ca2 fix: 升级 Expert Key 后财务页「全部同步」无反应
启动时无 FINANCIAL 能力导致调度器 _capset 为 None, 后续在设置页更新 Key
时 app.state.capabilities 已刷新但调度器未同步, trigger() 仍报
no FINANCIAL capability 而拒绝同步。新增 update_capabilities 并在设置 API
刷新能力时同步推给调度器; 前端对 started:false 一律给出提示, 不再静默。
2026-06-30 22:30:52 +08:00
wshy 190311bfc8 Update README.md 2026-06-30 17:30:32 +08:00
shy3130 68841af662 feat: 定时复盘飞书推送 + SSE 实时进度
- 定时复盘支持推送到飞书(卡片消息, 完整报告), 渠道多选(飞书可选, 微信开发中)
- 推送开关独立常驻, 与定时/实时行情解耦; 手动/定时生成都可推送
- 定时复盘改流式生成, 通过 SSE(review_progress)实时推给前端, 开着页面可见边生成边显示
- 修复定时任务协程未 await 的 bug(lambda 包裹 async → 改传函数对象 + args)
- LLM 断流自动重试(最多2次), 后端归档 + 飞书推送, 异常兜底通知前端
- 复盘定时下限改为 15:00, 默认 15:10
- 版本号 0.1.66 → 0.1.67
2026-06-30 17:28:18 +08:00
wshy 35b20d6317 Merge pull request #32 from lzwaang/feature/codex-cli-ai-provider
Add Codex CLI AI provider
2026-06-30 10:17:06 +08:00
Lzwaang 2d86dea721 Avoid copying Codex env file 2026-06-29 22:53:36 +08:00
wshy df5871f44f Merge pull request #33 from shy3130/feat/backtest-warmup-slippage
feat: 回测页加预热期说明徽标与滑点配置
2026-06-29 22:45:46 +08:00
shy3130 b315e531df feat: 回测页加预热期说明徽标与滑点配置
- 回测区间旁加「预热≥120天」徽标,点击弹泡说明开头无交易原因
- 佣金旁新增滑点(万分之)输入,持久化并接入回测请求
- Auth 设密码页加访问密码部署文档链接
2026-06-29 22:45:16 +08:00
Lzwaang ab9480b3f3 Harden Codex CLI workspace isolation 2026-06-29 22:44:31 +08:00
Lzwaang ec6380376d Add Codex CLI AI provider 2026-06-29 22:32:58 +08:00
shy3130 5d4d643bd8 fix: 同步后端 __version__ 到 0.1.66 2026-06-29 17:53:29 +08:00
shy3130 ec941e1eb1 chore: bump version to 0.1.66 2026-06-29 17:50:12 +08:00
shy3130 47a87fca2b feat: 环境变量预置访问密码 + 飞书推送文档 2026-06-29 17:41:32 +08:00
wshy 49e705ab40 Merge pull request #31 from shy3130/feat/v0.1.65-monitor-backtest-webhook
release: v0.1.65 监控增强 + 回测止盈 + 飞书推送
2026-06-29 17:23:05 +08:00
shy3130 73490fdf5e chore: bump version to 0.1.65 2026-06-29 17:21:01 +08:00
shy3130 a72445d782 fix(pipeline): 修复盘后管道除权因子拉取范围逻辑
daily_pipeline 除权因子改用日K范围回填 (实时增量模式兜底最近数日),
移除 max_date/incremental 依赖;kline_sync 修复 _normalize_adj_factor
重复列重命名崩溃, 新增 fetch_adj_factor_single 单股拉取;
kline.py fallback 改用 compute_enriched 应用复权;
index_sync 指数/ETF 日K同步增加批次进度回调;
同步指数日K步骤输出详细日志。
2026-06-29 17:17:44 +08:00
shy3130 37934091ac feat(notify): 推送通知接入飞书 Webhook
新增 webhook_adapter 飞书群机器人推送 (含签名校验);preferences/settings
增加 feishu_webhook_url/secret 与 webhook_enabled_default (新建规则默认推送)
配置与端点;Monitoring 设置页重构为「推送通知」卡片 (渠道列表+飞书地址折叠
+默认渠道勾选);RuleEditor 规则编辑器支持单条规则勾选飞书。
QMT/ptrade 渠道文案统一改为「待定」。
2026-06-29 17:17:33 +08:00
shy3130 9dbd32246c feat(backtest): 风控新增固定止盈 + 优化回测范围
风控: MatcherConfig 增加 take_profit_pct, 单标的与组合引擎风险检查新增
涨破止盈线卖出逻辑 (退出原因 take_profit);strategy.py 透传 overrides,
api/strategy.py 与前端类型暴露 take_profit;风控 tab 增加止盈输入框,
摘要/结果头/退出标签同步展示;修复未设止损时止盈检查被跳过的 bug。

回测范围: StockPoolPicker 输入框右侧增加「导入自选」「清空」按钮与
「当前范围」指示器, 移除冗余的「留空=全市场」提示。
2026-06-29 17:17:20 +08:00
shy3130 cd76796a5c feat(monitor): 触发记录展示命中条件与当前价位
告警事件落盘时增加 conditions + logic 条件快照, 经 quote_service 透传到
SSE 推送;前端触发记录详情行渲染命中条件与现价, 替代原先仅显示
「信号触发」的通用文案。
2026-06-29 17:17:08 +08:00
wshy ec30e35991 Merge pull request #29 from shy3130/codex/fix-stock-analysis-ultrawide
fix: expand analysis layouts on ultrawide screens
2026-06-29 17:13:08 +08:00
Aliang 1529fe25b1 docs: add financials ultrawide screenshot 2026-06-29 12:07:24 +08:00
Aliang ce87bc37a6 fix(financials): expand layout on ultrawide screens 2026-06-29 12:04:48 +08:00
Aliang 017db67c0f fix(stock-analysis): expand layout on ultrawide screens 2026-06-29 11:48:01 +08:00
shy3130 b923352ea4 2026-06-28 22:15:53 +08:00
shy3130 8a4690f1f2 fix(auth): 登录页标题改为项目名称 TickFlow Stock Panel 2026-06-28 21:08:55 +08:00