hmo
0513522e5a
fix: MoFin/scripts/死路径全部改指deploy/profile-scripts/
...
- promote/review_needed_watchdog引用已删除的per_stock_reassess.py
- meta_growth→hardcode_scanner, mofin_collect→stock_quote, stale_detector同
- 清影子副本的连锁遗留
2026-07-24 14:41:56 +08:00
hmo
5de6bda868
fix: promote技术位锚定+accumulation入门4→5+watchlist_auto_exit排cron+归档孤儿market_scanner
...
- promote参数不再信扫描器: ta.full_analysis重定 区(弱撑~弱压)/损(强撑x0.985)/盈(强压)
- accumulation_scanner入门闸 score>=4→5(减少陪跑噪音)
- watchlist_auto_exit排入系统crontab(每日08:50,此前根本没调度)
- market_scanner.py是孤儿(跑的是market_screener),归档
2026-07-24 14:32:40 +08:00
hmo
1523f9ad16
feat: position hard-constraint + cash-linked sizing + rotation context
...
- 建议仓位必须具体数字%,模糊表述(中等仓位/减仓或观望/轻仓)视为输出作废
- 必须结合可用现金计算可买股数,理想仓位超现金时写出实际可执行仓位+换仓建议
- 未持有股票注入最弱3只持仓上下文,LLM可给'减持XX换入'的具体换仓建议
2026-07-24 14:04:02 +08:00
hmo
309f074c51
feat: S6叙事一致性检查+统一入口+容量60硬顶+提拔先入观察
...
- candidate_filter S6: 消息(个股+行业)x资金x技术叙事矩阵
利好出货/三重打击=硬否决(dropped=1,不可被高分抵消)
共振做多+3/利空出尽+1/资金驱动+1/阴跌-1/行业利空-1
- promote: 信号一律先入'关注'(12维确认才升,消灭出生即买入); 容量60硬顶,RR<2的末位淘汰
- alphasift收编: 只写candidates不再直写自选(统一入口)
2026-07-24 12:09:30 +08:00
hmo
481acfb18f
feat: 优中选优机制(老爸:阈值太低+存量清洗+直接删)
...
- enqueue_recommend加严: RR>=2.0+仓位必须明确%+买入区有效+不追高(防今早RR1.49/仓位观望/区缺失的垃圾digest)
- promote: score>=7(原4=91%通过率)+ST排除+RR>=2.0
- watchlist_auto_exit: 新增死水3连退+RR<1.5退; 退出方式改为直接DELETE(非inactive)
- 盯盘可执行门槛1.5→2.0
2026-07-24 11:00:41 +08:00
hmo
1cdef8da7e
feat: SenseNova高速通道(key从hermes config读,不落盘)
...
- token.sensenova.cn托管同款deepseek-v4-flash,实测3.2s vs OCG 45s(开盘高峰)
- 通道顺序: sensenova→OCG key池→gateway; 空输出直接切下一通道(SN无pro)
2026-07-24 09:18:15 +08:00
hmo
a559fc84dd
feat: 批量重评分片并发(老爸:这么多key不能并发?)
...
- batch_reassess --shard K/N: index%N==K分片,N进程互不重叠
- llm_client LLM_KEY_OFFSET: key池起始位错开,避免N进程压同一首选key
- SKIP_FLUSH=1时worker不发摘要,parallel_batch.sh收尾统一flush
- parallel_batch.sh: N路并行+等待+统一digest
2026-07-24 09:02:34 +08:00
hmo
9fad0cfa14
feat: kanban→XMPP通知桥(assignee=xiaoxiao/xxm的卡片DM给xxm@yoin.fun)
...
- hermes gateway dispatcher只派给246本地hermes profile, 小小莫在Windows够不着
- 每2分钟扫kanban.db, [Kanban] card.assigned格式DM, 去重状态文件
2026-07-23 15:53:06 +08:00
hmo
9e995accb2
fix(template): 空仓股票不再显示'盈利持有'
...
- 技术模板action首段按profit_pct打标签, 非持仓cost=0→profit=0→永远掉进'盈利持有'
(601998: 空仓+信号买入+显示'盈利持有', 自相矛盾)
- 非持仓(shares=0/is_watchlist): 买入信号→'空仓·可建仓', 其他→'空仓关注'
- manual分支同款修复
2026-07-23 14:42:13 +08:00
hmo
6eab2148eb
fix(audit): candidates UPSERT保计算列+market_scanner INSERT对齐表结构+拆除sync_decisions_to_db地雷
...
举一反三审计结果:
- accumulation_scanner: INSERT OR REPLACE整行替换,promoted=1的候选被重置score/promoted/log
→ ON CONFLICT DO UPDATE只更新扫描器自有列(cron活跃,今日必修)
- market_scanner: INSERT引用表中不存在的列(price/score/entry_low等),实测必失败
→ 对齐真实schema+同款UPSERT(孤儿脚本顺手修)
- sync_decisions_to_db.py: 全表DELETE再从已不存在的decisions.json重建,地雷→归档
2026-07-23 14:23:06 +08:00
hmo
d5a62f48ef
refactor: per_stock统一使用batch的collect_data+build_prompt
...
- 删除per_stock内160行独立prompt及数据装配(宏观/PE/资金流/新闻/变更记录/技术位锚)
- 单一prompt源头: 以后改prompt只改batch_reassess.build_prompt一处, 不再漂移
- per_stock免费获得: 技术位锚/持仓上下文(持有vs未持有)/组合现金/参数自检/统一输出纪律
2026-07-23 13:53:37 +08:00
hmo
ccfa22c0d4
fix(per_stock): prompt补齐技术位锚定(与batch同源)
...
- per_stock的12维prompt是独立实现,无【技术位锚】无买入区间输出无参数自检
→ 今日35只重评中26只经per_stock路径,锚定纪律缺失(双prompt漂移)
- 注入同款锚定段+买入区间输出+参数自检+输出纪律第4条
2026-07-23 13:40:28 +08:00
hmo
37664f0523
fix(prompt): MA行仅在可用时输出
2026-07-22 23:46:18 +08:00
hmo
cf039b2770
feat(prompt): 技术位锚定+止损门禁+12维命名统一
...
- collect_data: 现算technical_analysis.full_analysis(强撑/弱撑/枢轴/弱压/强压/有效区间/MA)
- prompt: 【技术位锚】独立高亮段+锚定纪律(止损<区下沿,锚弱撑下方1-3%/强撑;止盈锚弱压强压;
偏离须说明理由)+输出纪律第4条+【参数自检】节
- save_result: sl>=el时用弱撑x0.985/强撑x0.99自动修正并留痕,无技术位拒写
- 命名: 九维→12维全局统一(prompt/docstring/前端弹窗)
2026-07-22 23:43:45 +08:00
hmo
0f2c6555df
fix(action): 12维操作建议写入action+技术路径action权限保护+RR区间显示修复
...
- batch parse_response提取【操作建议】→ save_result写action(根治: action字段只有技术路径写,
旧'盈亏比不足不建议买入'与12维买入分析同框矛盾)
- write_holding_strategy: 技术路径不得覆盖新鲜(<20h)12维 action(与信号权威同级)
- 前端: rr_high>0即显示低~高区间(rr_low=0是合法信息: 区下沿=止损贴底即损)
- server: SEND_FILE_MAX_AGE_DEFAULT=0 禁静态缓存
2026-07-22 23:16:43 +08:00
hmo
f7f7fe3ca0
fix(parser): 节标题锚定解析+脏区间清洗+三值RR
...
- parse_response: 只认行首【买入区间】【综合结论】等节行(原先取首个关键词行,
命中修改点段落引用的旧脏值→95~99区间反复写回,17只股票受害);
信号锚定】后首词,防'观望(不建议买入)'误判; 【买入区间】无→显式清空
- save_result: 区间-现价距离门禁(eh<0.5px或el>1.5px→拒写并清空,不再保留原值养脏)
- recompute_rr: 三值RR(rr_low/rr_ratio中/rr_high,分别对应区下沿/中值/上沿入场)
- 迁移: holding_strategies+rr_low/rr_high列; digest显示RR中(低~高); watch API+前端展示
2026-07-22 22:59:18 +08:00
hmo
dabef038db
fix: max_tokens下限512(OCG对小max_tokens短路返回空)
2026-07-22 14:00:14 +08:00
hmo
efd8baaeff
fix: 空输出不再假成功——升级pro仍空时落到外循环切下一个key
2026-07-22 13:54:25 +08:00
hmo
9939713059
feat(llm): OCG key池——按/api/keys实时状态排序轮换(key6优先),空输出同key升pro再切下一key
2026-07-22 13:51:43 +08:00
hmo
e0e98ebb1a
fix: 消息面不限情绪标签(分类器已死,原始新闻直接喂LLM自行判断)——batch+per_stock两路
2026-07-22 13:37:45 +08:00
hmo
40a75554aa
fix: 消息面查询code列不存在(searched_stocks)导致整个try块死亡——改列名+兜底独立try
2026-07-22 13:31:29 +08:00
hmo
5ebc093408
feat: 腾讯基本面刷新器(PE/PB/EPS/总市值/流通市值)
2026-07-22 13:09:30 +08:00
hmo
cdfc7346f1
feat: cninfo行业富集器——批量补全stock_sectors行业映射+回填sector_context
2026-07-22 13:04:43 +08:00
hmo
5d8c7476ff
fix: 行业未映射时诚实标注,禁止大盘指标伪装成行业信息
2026-07-22 12:52:12 +08:00
hmo
cdbbcec69e
fix: stock_sectors列名sector→sector_name(静默except吞掉的错误)
2026-07-22 12:50:41 +08:00
hmo
eb644221f4
fix: 资金流聚合输出net_flow/main_force/retail_flow/trend(12维资金面恒0根因) + sector_context污染时行业名兜底
2026-07-22 12:46:22 +08:00
hmo
a3f5ad5b3a
fix: 资金流端点再修正——ssl_qsfx_zjlrqs(最新在前), lscjfb数据停2020年是僵尸源
2026-07-22 12:36:01 +08:00
hmo
51c19b4971
fix: 资金流改Sina MoneyFlow(eastmoney 246不可达) + 消息面按行业名匹配+大盘兜底
2026-07-22 12:31:48 +08:00
hmo
b18e0d2164
fix: 关停进区摘要推送(噪音)+ per_stock结束也flush推荐摘要(688428式漏发根治)
2026-07-22 10:39:20 +08:00
hmo
c91d4c33f0
fix: 信号-分析对齐(reconcile以已存分析为唯一事实源) + prompt持仓上下文(已持有/未持有分开给建议,禁止两头写)
2026-07-22 10:29:23 +08:00
hmo
e633641686
fix: tag只许LLM路径写(防技术路径抖动幽灵化) + 推荐通知改批量摘要(防09:55式14连发轰炸)
2026-07-22 10:05:54 +08:00
hmo
8c2226e2b4
feat: 信号权威层级+推荐转场推送统一+ 🔔 分级修正
...
1. 权威层级: 新鲜(<20h)12维动作级信号, 技术路径(regenerate_all/
price_monitor)无权降级为关注/信号不充分/持有——只有LLM路径或
风险信号(卖出/止盈)可覆盖。根治推荐区'出现-消失'抖动
2. 推荐转场推送统一收拢到 mofin_db.push_recommend_alert:
tag新转为current_recommend时推送(全路径), 含质量门禁;
移除batch_reassess内联推送(防双重告警)
3. price_monitor 🔔 分级: 只有持仓股的卖出/止盈才ACTION直推,
买入/加仓机会一律进INFO摘要(老爸: 这种消息不要再发了)
2026-07-22 09:48:58 +08:00
hmo
fa163f53f9
fix: 开盘grace(09:00-09:15)——管道刚启动时隔夜数据不误报(verify管道审计+L1功能检查)
2026-07-22 09:20:26 +08:00
hmo
2a4ff53553
fix: sync脚本不再创建scripts/下cron脚本副本(配合文件居住宪法,副本一律自动归档)
2026-07-22 08:42:27 +08:00
hmo
3ea7c52112
feat(L2): 卫生审计自动收尸——scripts/影子副本+零引用孤儿(mtime>7天)自动git mv归档并提交; dev-spec新增文件居住宪法(红线#9)
2026-07-22 08:41:06 +08:00
hmo
375f6d469a
chore: sync脚本补price_monitor三处副本硬链
2026-07-22 08:28:39 +08:00
hmo
fbad1938f1
feat: 失败二轮重试(休息60s后失败股整体重跑) + sync脚本补7个分叉副本硬链
2026-07-22 08:26:32 +08:00
hmo
04284e5187
fix: 推送质量门禁+损盈一致性门禁(根治垃圾信号)
...
1. XMPP推送门禁(_validate_buy_alert): 实时价>0(live_prices)、
区间有效、现价不超上沿5%、损<下沿且在(0.5x~1.0x)现价内、
盈>上沿>损 —— 任一不过不推只记日志
2. DB损盈一致性门禁: 损必须在下沿之下、盈必须在上沿之上且损<盈,
不一致字段跳过写入保留原值(浩辰 区2~3损25.11 类污染根治)
3. 推送价格源改 live_prices(不再用 holding_strategies.price 的0值)
4. 浩辰脏行已从快照恢复(区25.93~27.84 损25.11 盈31.38)
2026-07-22 08:16:40 +08:00
hmo
c27388681c
fix: FALLBACK_MODEL 顶层导入(NameError 曾中断批量重评)
2026-07-22 01:31:56 +08:00
hmo
6cdcd3f2e5
feat(L1): 新增reassess_daily检查——持仓当日重评覆盖率+分析存在率+自选24h补评率(修复'每日重评做没做'无监控的空白)
2026-07-22 01:03:43 +08:00
hmo
36f01dc8f0
fix: save_result区间写入门禁——下沿<上沿<下沿x3,异常整体跳过(防214.68~2.52解析污染)
2026-07-22 00:39:30 +08:00
hmo
d92d6ba54b
fix: 截断保护——输出<1500字且无信号时升级pro重试(flash懒答/截断导致信号丢失)
2026-07-22 00:36:53 +08:00
hmo
83b0770db0
feat(llm): flash空输出自动升级pro重试(688617实测flash三连空/pro正常输出)
2026-07-22 00:30:33 +08:00
hmo
40852de280
fix: LLM空输出视为失败 + save_result拒绝写入空分析(防止假时间戳跳过机制失效)
2026-07-22 00:24:47 +08:00
hmo
52f7df7bef
feat: 提交白名单配套——guard带GIT_ALLOW_COMMIT令牌 + hygiene新增钩子存在性检查
2026-07-21 23:45:26 +08:00
hmo
9914ff9457
feat(盯盘): 推荐操作区域置顶独立 + tag与XMPP动作级信号自动同步
...
- mofin_db: write_holding_strategy 内置tag同步语义——动作级信号
(买入/可买入/可加仓/卖出/止盈)→current_recommend; 信号降级→
清除current_recommend; active_manual人工标记永不被自动流覆盖/清除
- 新增 sync_recommend_tag() 供裸SQL调用方
- batch_reassess.save_result / per_stock stage-2 调用同步
- 盯盘Tab: '重点推荐'更名'推荐操作', 区域独立琥珀色视觉, 置顶
同步语义: XMPP买入信号(ACTION级告警)的个股=推荐操作区域个股,
信号消失(重评降级)时区域同步消失
2026-07-21 23:31:57 +08:00
hmo
05a60cf0d4
revert( 34337fc5): 恢复被知微二次stale提交覆盖的昨晚重构——batch/per_stock/stale_detector/fix_gateway_port/candidate_filter 回滚至1e71a2d8版本;她提交中的运行时文件(db-shm/db-wal/price_history/market_scan_summary)移出跟踪;保留其morning_health_check小果清理
2026-07-21 23:24:45 +08:00
知微
a245c8b4dd
fix: price_monitor crash when shares is string + type guard in write_holding_strategy
...
Root cause: holding_strategies.shares field got set to literal string
'write_holding_strategy' for 6 records, causing TypeError at
price_monitor.py line 611 ('>' not supported between str and int).
Fixes:
1. price_monitor.py: Replace set comprehension with safe loop that
checks isinstance before comparison. Non-numeric shares treated
as holdings for safety.
2. mofin_db.py write_holding_strategy: Add type guard that resets
non-numeric shares to 0 with warning.
3. Data fix: Updated 5 corrupted holding_strategies records from
holdings table (300035/300308/300750/518880/00700).
Set 002594 (watchlist) shares=0.
2026-07-21 13:47:52 +08:00
知微
91885f7623
Merge branch 'session-work'
2026-07-21 13:47:31 +08:00
hmo
5422b0a11d
feat(db): 每日DB在线备份(07:50,留14天) + 管道审计malformed重试一次再告警(瞬态WAL损坏防误报)
2026-07-21 13:47:10 +08:00