xxm
|
fb5a1adcec
|
feat(alert_helper): notify同时写broadcast_messages(deploy_guard等告警进统一消息源)
|
2026-08-22 10:18:25 +08:00 |
|
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 |
|