Commit Graph
100 Commits
Author SHA1 Message Date
xxm 2cc8341dcb feat(alert): 异常浮窗数据源改为broadcast_messages的system_error类(24h,统一消息源) 2026-08-22 10:11:47 +08:00
xxm 6efcdf75e0 feat(alert_logger): record_alert同时写broadcast_messages(统一消息源,异常=system_error类) 2026-08-22 10:09:12 +08:00
xxm 26d751b071 feat(alert): 异常浮动新行为——24h过滤+新异常3秒展开折叠+已展开不重复+首次加载不弹旧异常 2026-08-22 09:56:43 +08:00
xxm c93dcdf8ab refactor(daily_kline): 取消拆分,统一no_agent=True+超时1800s解决超时问题 2026-08-22 02:04:59 +08:00
xxm a967295785 fix(daily_kline): sh拆分sh_a/sh_b按排序均分(解决600s超时,no_agent保持True) 2026-08-22 01:46:45 +08:00
xxm 0feb486a54 fix(promote_candidates): 补_exec_retry定义(DB锁自动重试) 2026-08-22 01:30:57 +08:00
xxm 8e9b280442 fix(promote_candidates): DB锁自动重试(busy_timeout+指数退避5次) 2026-08-22 01:27:46 +08:00
xxm 89ac3b688a fix(xmpp_logger): 修复score函数usage_percent为None时的TypeError(健康API 500) 2026-08-22 00:31:59 +08:00
xxm 58c7b223bf fix(health): 移除功能树中已禁用/归档的job节点(策略评估/分支自成长/元自成长/建议对账/cron报告推XMPP) 2026-08-22 00:24:38 +08:00
xxm 626465960e fix(mofin_health): 修复cycDelivery非法正则(\\x00-\\x7F→[^ -~])导致整个JS崩溃switchTab未定义 2026-08-22 00:11:36 +08:00
xxm 20c05b6e7c feat(messenger): 全部77个活跃cron脚本接入统一消息通道(install_stdio_hook) 2026-08-21 22:34:25 +08:00
xxm 5e0141eb28 fix(messenger): 修复hook递归——写broadcast表直接操作DB不经send(防无限循环) 2026-08-21 22:27:53 +08:00
xxm d56981d38f feat(messenger): hook自动将脚本stdout写入broadcast表(消费者接管消息归档) 2026-08-21 22:24:05 +08:00
xxm c830e005ce feat(messenger): 添加install_stdio_hook统一拦截脚本stdout按通道分发 2026-08-21 22:20:29 +08:00
xxm e4440379df fix(broadcast): 添加esc函数(修复播报页esc is not defined) 2026-08-21 21:54:58 +08:00
xxm 8433d46ed7 feat(mofin_db): flush_rec_digest推荐输出接入messenger(broadcast归档+xmpp推送) 2026-08-21 20:36:57 +08:00
xxm 91386530ee feat(market_watch): 接入messenger——温区更新走broadcast通道 2026-08-21 20:33:12 +08:00
xxm d6e101c4df feat(health): cron列表加消息通道列+可切换API(toggle_delivery) 2026-08-21 20:23:33 +08:00
xxm 6577534130 feat(health): pipelines加delivery消息通道字段 2026-08-21 20:19:19 +08:00
xxm b3c2c4f8d9 feat(price_monitor): 接入统一messenger——操作推荐归档broadcast+xmpp推送 2026-08-21 20:13:59 +08:00
xxm ed83fddcf4 feat(messenger): 统一消息处理者——生产者(脚本/job)驱动通道,不按内容判通道 2026-08-21 20:11:57 +08:00
xxm 548fd4bab1 fix(broadcast): 修复播报Tab loading问题(renderTab增加broadcast case) 2026-08-21 16:37:12 +08:00
xxm c549bc57df feat(broadcast): 播报Tab添加到index.html 2026-08-21 15:23:12 +08:00
xxm 5eeb31668d feat(broadcast): 播报系统Tab+API+历史查询+消息分类 2026-08-21 15:09:48 +08:00
xxm 981d35e1cf fix(mofin_health): 今天已运行的LLM job不报output_missing误报 2026-08-21 14:13:50 +08:00
xxm 6ed49a62de fix(mofin_health): 清理已归档模块引用(meta_watchdog/branch_*/prune_branches)+修复语法 2026-08-21 12:56:16 +08:00
xxm 389cf06f4a fix(mofin_health): 移除已归档模块引用(meta_growth/meta_watchdog/branch_*/prune_branches/stale_detector/watchlist_auto_exit) 2026-08-21 12:50:07 +08:00
xxm 34992de898 fix(realtime_indicators): 用live_prices实时价格替代stock_daily收盘价,确保今日数据写入 2026-08-21 11:40:16 +08:00
xxm 7075bd47d2 fix(realtime_indicators): 修复no such column id(stock_indicators表无id列) 2026-08-21 11:31:38 +08:00
xxm 4fe2c43310 fix: 复制alert_logger.py到deploy/profile-scripts(修复price_monitor ModuleNotFoundError) 2026-08-21 11:19:07 +08:00
xxm 37867f378c docs: 补充E组文档+加工层架构(strategy_lifecycle+realtime_indicators) 2026-08-21 11:12:50 +08:00
xxm b3cfe59770 chore: 重新归档meta_growth/meta_watchdog/ab_research_daily(上次被deploy_guard回滚) 2026-08-21 11:08:00 +08:00
xxm 15edc92371 feat(加工层): 实时技术指标计算+price_monitor联动+collect_data改为读stock_indicators
- 新增realtime_indicators.py: 盘中实时计算MA/支撑阻力/RSI/bias60/dist_ma20/ATR/candle_pattern
- price_monitor: 更新价格后联动计算实时指标写入stock_indicators
- batch_reassess collect_data: 从stock_indicators读取(不再重新计算ta.full_analysis)
- stock_indicators表: 新增strong_support/weak_support/pivot/weak_resist/strong_resist/candle_pattern字段
2026-08-21 05:12:18 +08:00
xxm eb78517f20 fix: 修正残留注释 2026-08-21 04:12:35 +08:00
xxm bf75aba72a fix: evo-box移到策略评估子tab,统一函数名为loadEvoLog 2026-08-21 04:10:26 +08:00
xxm fdb3757895 fix: 研究tab-evo子tab改为effectiveness数据展示 2026-08-21 04:01:18 +08:00
xxm 209595fc00 fix: 彻底移除evolution/evaluation旧代码,研究tab改用effectiveness 2026-08-21 03:54:28 +08:00
xxm 0035a3fdc3 fix(server): 添加deploy/profile-scripts到sys.path(修复mo_models导入) 2026-08-21 03:42:43 +08:00
xxm 407389946e refactor: 移除旧评估tab+evolution路由,研究tab改用effectiveness
- 移除评估tab(旧功能被strategy_effectiveness替代)
- 移除evolution API路由(引用已删除的evolution目录)
- 移除旧evaluation/stats/accuracy路由
- 研究tab: 策略自我进化→改为读取effectiveness/summary
- effectivenes.html仍可通过直链访问
2026-08-21 03:21:50 +08:00
xxm 207066e76b fix(server): effectiveness路由移到app.run()之前(修复404) 2026-08-21 03:00:36 +08:00
xxm 5b9d46efc6 refactor: 归档策略进化模块+新建评估页面+API
- 归档 evolution/ + meta_growth/meta_watchdog/ab_research_daily
- docs/evolution-archive-readme.md: 归档说明(旧模块功能+替代方案)
- server.py: 新增 /api/research/effectiveness + effectiveness/summary + recommendation_log + execution_log
- static/effectiveness.html: 新评估页面(概览/详细评估/推荐记录/执行记录)
- 策略进化改为人驱动闭环(评估→用户决策→调整)
2026-08-21 02:47:38 +08:00
xxm 8dd12ca1e8 docs: 更新架构文档——记录A-D组改动/策略版本化/两份历史记录/策略到期评估 2026-08-21 02:30:41 +08:00
xxm c0cfb89757 chore(D组): 禁用strategy_evaluator/advice_reconciliation cron+清理残留引用 2026-08-21 02:26:46 +08:00
xxm 83e2953f89 refactor(D组): 归档strategy_evaluator+advice_reconciliation,功能合并到strategy_effectiveness
- 归档strategy_evaluator.py/advice_reconciliation.py(功能已被strategy_effectiveness替代)
- strategy_effectiveness扩展: 读取recommendation_log+execution_log增强评估
- mofin_db新增: log_recommendation/log_execution/match_recommendations_executions
- 新表recommendation_log(推荐历史)+execution_log(执行历史)
2026-08-21 02:25:06 +08:00
xxm 3e7c7df38d feat(versioning): 策略版本化+到期评估模块
- mofin_db.py: 新增write_holding_strategy_versioned(对比关键字段→supersede/new)
- strategy_effectiveness.py: 策略到期后用完整K线评估区间职责履行
- holding_strategies新字段: strategy_source/cycle_start/buy_zone_expected_days/take_profit_expected_days
- strategy_effectiveness表: 记录策略评估结果(买入区/止损/止盈/时间准确性+改进建议)
2026-08-21 01:56:31 +08:00
xxm e0bd7fe2a6 refactor(trade_capture): 最大容错版——不限截图类型/不限股票数量/逐只独立处理 2026-08-21 00:36:10 +08:00
xxm 4d71075ee9 refactor: 截图识别重构为LLM执行协议(trade_capture模块+server.py集成) 2026-08-21 00:29:34 +08:00
xxm 61c3cb52b2 docs: LLM执行协议开发规范+可复用JSON schema
- docs/llm-execution-protocol.md: 从重评流程提取的通用协议(输入/prompt/解析/校验/写入/错误处理)
- specs/schemas/reassess-output.json: 重评LLM输出节标题schema
- specs/schemas/trade-capture-output.json: 截图识别LLM输出schema
- 可复用组件: _section_line/snapshot_strategy_history/write_holding_strategy/门禁模式
2026-08-21 00:08:09 +08:00
xxm 6a036faa28 fix(import_holding_xls): 导入后调用clean_watchlist清理自选池 2026-08-20 23:13:28 +08:00
xxm 4dfc77ace2 refactor(clean_watchlist): 重写为main()函数,可被import_holding_xls调用 2026-08-20 23:09:52 +08:00
xxm 29f9c3ff86 fix(clean_watchlist): 修复main()缩进问题 2026-08-20 23:00:37 +08:00
xxm 6347d9b88b fix(clean_watchlist): 修复main()函数化缩进 2026-08-20 22:59:14 +08:00
xxm 99cce27a2c refactor(C组): clean_watchlist改为函数+import_holding_xls增加调用+premarket_full_review增加兜底对账 2026-08-20 22:54:46 +08:00
xxm 8c880e1b7c fix(batch_reassess): 价格从stock_daily读,PE/市值从stock_fundamentals读,移除所有curl API调用 2026-08-20 22:17:19 +08:00
xxm 6e7e9ca061 fix(batch_reassess): 价格从stock_daily/live_prices读取,移除curl API直接调用 2026-08-20 18:22:36 +08:00
xxm 6396d6fe86 refactor: 归档stale_push_wlin(price_monitor已覆盖其功能)+清理残留引用+禁用cron job
- stale_push_wlin归档(price_monitor每2分钟监控所有持仓+自选的买入/止损/止盈区间,已完全覆盖)
- market_config/mofin_health/signal_ledger注释引用更新
- jobs.json禁用stale_push_wlin cron job
2026-08-20 17:33:04 +08:00
xxm 9899be4bcd fix(prompt): 修复stock_indicators查询—移除不存在的bias20列,补dist_ma20/vol_ratio 2026-08-20 16:18:26 +08:00
xxm cca20cf0e2 fix(prompt): 修复_sector_extra未定义(行业强度注入) 2026-08-20 16:14:58 +08:00
xxm f1d3862480 fix(prompt): 修复数据断裂——行业强度进LLM+移除死数据
- collect_data(): 从sector_snapshots读取行业涨跌/排名
- build_prompt(): 注入行业强度数据(行业涨跌%+排名)
- 移除current_regime_strategies死数据(旧策略名不匹配strategy_defs)
- 港股缺资金流(数据采集层限制,非代码问题)
2026-08-20 16:07:54 +08:00
xxm 228fefd328 feat(prompt): 技术指标注入LLM prompt——collect_data增加ta/mtf/factor,build_prompt增加_tech_str
- collect_data(): 从ta.full_analysis获取支撑阻力/MA/形态,从mtf获取多周期趋势/RSI,从stock_indicators获取mcap_q/pe_q/bias60
- build_prompt(): 在技术面段注入_tech_str(MA/dist_ma20/RSI/多周期趋势/基本面分位)
- LLM现在能看到11个策略所需的全部输入数据
2026-08-20 15:51:42 +08:00
xxm 118bcebb1b feat(prompt): 技术指标注入LLM prompt——collect_data增加ta/mtf/factor,Build_prompt增加_tech_str数据段
- collect_data(): 从ta.full_analysis获取支撑阻力/MA/形态/量价,从mtf获取多周期趋势/RSI,从stock_indicators获取mcap_q/pe_q/bias60等
- build_prompt(): 在技术面段注入_tech_str(MA20/dist_ma20/RSI/多周期趋势/基本面分位)
- LLM现在能看到11个策略所需的全部输入数据(之前只有tech_snapshot文本摘要)
- 语法验证通过(176脚本OK)
2026-08-20 15:49:25 +08:00
xxm 04faf4ed15 refactor(B组清理): 归档strategy_tree/branch_evaluator/prune_branches/branch_scanner,detect_scenario→market_regime
- 归档4个B组模块: strategy_tree.py/branch_evaluator.py/prune_branches.py/branch_scanner.py
  按方法论:只有重评才能改信号和操作,B组的分支扫描/评估/剪枝越权
- stale_push_wlin.py: detect_scenario→market_regime.load_market_regime()
- strategy_lifecycle.py: detect_scenario→market_regime.load_market_regime(),筹码权重改用温区
- import_holding_xls.py: 移除init_default_branches调用(分支概念已移除)
- per_stock_reassess.py: 移除init_default_branches调用(分支概念已移除)
- 清理mofin_db.py/strategy_lifecycle.py残留注释引用
- 关键脚本语法全部通过
2026-08-20 14:20:14 +08:00
xxm 80eb051e6f chore(cleansweep): 修复重复import+清理过时注释——25个文件56处重复import已修复,5个辅助模块注释更新
- run_all_tests.py: 移除未使用的write_holding_strategy import
- strategy_tree.py: 移除重复import行(21-22行完全重复)
- 25个文件的模块顶层重复import已清理(跳过try/except lazy loading)
- holdings_reconciliation/clean_watchlist/branch_scanner/advice_reconciliation/prune_branches: 注释从decisions.json更新为holding_strategies表
- 关键脚本语法全部通过
2026-08-20 11:46:48 +08:00
xxm c68f987653 chore(cleansweep): 代码大扫除——归档hermes 111个死工具+4个废弃scanner,收敛MoFin/scripts重复副本,删除根旧版mo_models
- archive/hermes-dead-tools-20260820/: hermes独有不在cron不被import的111个一次性排查/测试工具
- archive/hermes-dead-tools-20260820/: 4个废弃scanner(btd1_v3/market_scanner/market_thermometer已废弃/s2v2)
- archive/legacy-cleanup-20260820/: MoFin根2旧版(mo_models/technical_analysis)+/home/hmo/scripts无引用旧项目+MoFin/scripts重复prepare_report_data
- 删除MoFin根mo_models.py(根旧版,deploy/profile-scripts权威保留)
- 保留: mofin_db.py/mo_data.py硬链接(server.py多层sys.path需各目录访问同一inode,非冗余)
- fix_gateway.py保留(Gateway看门狗fix_gateway_port.py的活跃依赖,勿误删)
- 验证: cron所有脚本引用无缺失, key模块import正常
- hermes独有从116收敛到5核心(alert_logger/market_screener/prepare_report_data/self_todo_executor_v2/xmpp_zhiwei_bot)
2026-08-20 10:36:25 +08:00
xxm 0ec90ec893 feat(docs-tab): 文档分类更新——运维参考加operations-index/scheduler-mechanism,新增架构治理分类(新文档正确归类) 2026-08-20 07:49:48 +08:00
xxm 492bc75d13 docs: 索引+版本记录更新(运维索引/调度机制/架构治理分类,记录8/19-20大扫除) 2026-08-20 07:49:05 +08:00
xxm b8f6e611c0 docs: 运维操作索引——问题场景→文档/命令定位(改调度/查重评/数据流/文档导航) 2026-08-20 07:44:25 +08:00
xxm 50629f1b70 docs: hermes cron调度机制——改时间只改schedule.expr,next_run_at是派生值由croniter自动重算(2026-08-20改7:10教训,避免再踩坑) 2026-08-20 07:39:13 +08:00
xxm d47be18579 fix: 每日盘前重评补全自选池——batch_reassess同时启动holding+watchlist(老莫第4类重评要求所有池子一一重评,原只评持仓) 2026-08-20 06:46:07 +08:00
xxm f679b83f34 chore: 小果收尸补漏——mofin_health移除xiaoguo_signal_consumer/xiaoguo_scanner残留描述,删hermes残留副本 2026-08-20 05:36:48 +08:00
xxm cf9b87ef4d fix: price_monitor三处进区触发改为真12维LLM重评(_do_llm_reassess调per_stock_reassess)+30min冷却(补上次被回滚的commit,根治技术快算) 2026-08-20 05:33:56 +08:00
xxm 44e56089f3 chore: 小果收尸完成——server.py停用/api/xiaoguo-scan,xiaoguo_scanner.py移除,恢复.sh执行权限 2026-08-20 01:08:17 +08:00
xxm 7df2758873 chore: 小果(xiaoguo)收尸——删表/删建表/停API/归档脚本/移除监控描述(铁律10,已确证废弃7/20归档) 2026-08-20 01:06:58 +08:00
xxm 5b767411af docs: 系统大扫除记录20260819(备份/数据流地图/白名单参数保护/死表清理/重评路径纠正) 2026-08-20 00:50:51 +08:00
xxm a5dcb9136d fix: 策略参数权威保护改白名单机制——只有per_stock_12d/batch_12d/promote能写参数,辅助模块(clean_watchlist/branch_scanner等)无法覆写(根治00020等无快照票被反复覆写参数) 2026-08-20 00:42:52 +08:00
xxm 5674d3e66a docs: 数据流地图(顺瓜摸藤)——56表读写方+多写方风险,为系统大扫除提供依据 2026-08-20 00:31:13 +08:00
xxm a817d303a9 feat: 数据实体Tab加多写方风险维度(老莫思维提升)——holding_strategies 10写方等高风险标红,孤立死实体标注。修复mofin_db elif缩进 2026-08-19 23:44:37 +08:00
xxm fea6340228 docs: 补全4类重评体系(3.3b)——选股/买触发/卖触发/盘前全量,明确12维必须LLM+进区触发重评维持才发+冷却期三原则(老莫,2026-08-19) 2026-08-19 23:00:44 +08:00
xxm 3be8e53b13 docs: 架构修复记录——holding_strategies多写入方+快照污染(P2深挖发现/计划/结果) 2026-08-19 16:47:06 +08:00
xxm 3cbd76f7ee feat(P2-B+C): 权威保护加固——per_stock重评24h内其他源不得覆写参数(解决参数覆盖反复出bug)。A+D快照瘦身已前置 2026-08-19 16:40:25 +08:00
xxm 88885eae76 fix(P2-A+D): 快照瘦身——write_holding_strategy先对比新旧内容,无变化不快照(66%垃圾快照消除)。对比关键字段:entry/stop/tp/signal/rr 2026-08-19 16:36:19 +08:00
xxm fcce626c1a chore(P3): 清理一次性建卡脚本到trashbox(卡已写入DB,脚本无引用)——setup_strategy_defs/add_position_mgmt/add_trend_defs 2026-08-19 14:35:30 +08:00
xxm 63db67079a fix(P1): fund_flow_alert改走alert_helper统一网关(ACTION级)——替代直连5805旁路 2026-08-19 14:25:29 +08:00
xxm eda87ac2ee fix(P1): review_needed_watchdog对接DB——strategy_lifecycle写holding_strategies.status=review_needed但此watchdog读废弃decisions.json(永远空跑)。改读DB+4h冷却防重复重评+走alert_helper统一网关(ACTINO级) 2026-08-19 14:23:36 +08:00
xxm 2aa5e41616 fix: 螺旋监控僵尸会话反复告警——①僵尸(msgs停滞)跳过②去重窗口50→200③真螺旋(msgs快速增)才XMPP,普通嫌疑只日志(老莫:3分钟前还在收螺旋嫌疑) 2026-08-19 11:59:28 +08:00
xxm 6989a8f8b7 feat: 持仓异动监控——检测急涨急跌/放量/20日突破/深套反弹,ACTION级推送(老莫:中科电气异动无通知的教训) 2026-08-19 11:09:00 +08:00
xxm 0e09da12db fix: refresh_macro_context大盘描述用真实温区(不写死震荡)——当前trend_up→大盘强势(趋势市) 2026-08-19 11:03:15 +08:00
xxm 551ced8d31 fix: 消息信噪比——①stale_push_wlin无操作时静默(落实老莫8/14:zone_notes只记日志)②refresh_macro_context大盘描述用真实温区(不写死震荡) 2026-08-19 10:59:31 +08:00
xxm 73ff64ed4b chore: position_management策略卡脚本入库(add_position_mgmt.py) 2026-08-19 00:56:40 +08:00
xxm 47e6890bba feat: 换仓决策模块——资金不足时E_new(新票预期)vs E_hold(持仓深套查表)对比,卖E最低的凑钱(老莫:能代码算的不让LLM拍脑袋)。重评注入换仓方案 2026-08-19 00:06:02 +08:00
xxm 6dd4373898 feat: collect_data补全——①switched用attributed策略定义评估(600262切v8.1后按v8.1评)②无策略/失效持仓用position_management框架③当前温区合格策略注入(regime_active) 2026-08-18 22:23:17 +08:00
xxm e3cb8460df feat: collect_data持仓处置上下文——switched用attributed定义+深套判定+无策略/失效持仓用position_management框架+当前温区合格策略(老莫:处置决策要有明确策略) 2026-08-18 22:21:57 +08:00
xxm 5acf78d33b fix: 更换策略归类提示加强——必须写候选列表策略代码名(v_next等),禁描述性文字(600262案例LLM写了'趋势回调'匹配失败) 2026-08-18 21:40:25 +08:00
xxm 62a0626141 refactor: 策略判断合并——失效=需更换(老莫:同一决策)。失效时必须给新归属(候选封闭集),给不出才停invalidated。三选一:维持/修改/策略失效需更换 2026-08-18 21:37:39 +08:00
xxm 4af4bda7b3 feat: strategy_defs补trend家族(v_next/v8.1=趋势市龙头回调,映射leader_scanner)+候选目录更新(600262切策略有目标了) 2026-08-18 21:30:14 +08:00
xxm 845df7768b fix: 切窗周期(1m/6m/1y)cagr缺失→激活矩阵三项永不齐→全灭。补线性年化(老莫:三温区都有合格策略却没激活是bug) 2026-08-18 21:02:20 +08:00
xxm 8b5499bab1 feat: per_stock_reassess也落库策略判断(从full_analysis复用parse_response提取策略失效/切换)(老莫:重评策略切换决策全路径生效) 2026-08-18 20:31:27 +08:00
xxm 6b846941aa fix: sync_strategy_def bindings数不匹配(updated_at字面量误占位) 2026-08-18 20:25:34 +08:00
xxm 9b04fe1943 feat: sync_strategy_def维护函数——scanner自注册+key_params drift检测(变更→needs_review+version bump)(老莫:策略定义不过期) 2026-08-18 20:24:59 +08:00
xxm 82bdd76b85 feat: 重评注入策略语义——【情势体检】(温区/黑天鹅/执行红线)+【策略定义】+【策略判断】四选一,parse解析+save落库strategy_state(老莫:每次重评先判断是否切策略) 2026-08-18 20:20:11 +08:00