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 |
|