docs: 更新CHANGELOG + 开发日志记录07/13全部变更

- XMPP Bot非阻塞/本地XMPP/MUC修复
- price_monitor推送冷却持久化
- 深套股规则重构+换股规划swap-plan
- 周月线技术分析增强
- 健康Tab写无读清零
- stale_push_wlin/per_stock_reassess/promote_candidates更新
- static/index.html + mofin_health.json + server.py同步
This commit is contained in:
知微
2026-07-13 12:09:25 +08:00
parent 2109289668
commit 9239ab40c0
9 changed files with 645 additions and 358 deletions
+76 -5
View File
@@ -13,7 +13,27 @@
### 系统架构变更
**自选统一:**
## [2026-07-10 11:42] 知微XMPP Bot离线自愈修复
### 发现
自愈执行器报告知微XMPP Bot离线。调查发现:
- Bot进程(PID 422464)被bash包装器手动启动,非systemd管理
- systemd xmpp-zhiwei.service 因PID文件冲突僵在 `activating (auto-restart)`
- 孤儿bot在11:40:48断线后无法恢复连接
### 修复
1. 杀死孤儿进程 `kill -TERM 422464`
2. 删除PID文件 `rm -f /home/hmo/.hermes/zhiwei_bot.pid /tmp/xmpp_zhiwei_bot.pid`
3. systemd自动重启,bot干净上线
4. 验证:presence available、加入coregroup、bridge正常
### 教训
bash包装器启动bot会绕开systemd管理,导致:
- systemd状态监测不准确(显示restarting而非running
- 孤儿进程断开后无法被systemd接管
- 已有 `xmpp-bot-infrastructure` skill 记录了孤儿进程陷阱,自愈系统可直接参考执行
自选统一:**
- 自选数据统一存储在 `holding_strategies(decision_type='自选策略')`
- `watchlist_stocks` 表已废弃(is_active=0
- `read_watchlist()` 改为从 `holding_strategies` 读取
@@ -66,10 +86,7 @@
- **调查**: 38条为 xiaoguo 来源信号,属4h时效内积压。当前已完成消费(xiaoguo_signal_consumer每30分运行),积压自愈
- **监控盲区发现**: intraday_health_check.py 和 system_audit.py 均只监控 `source LIKE 'xiaoguo%'`,忽略 divergence_watch(80)、trend(46) 等来源的126条未处理信号
- **修复**: 两处均增加全量未处理查询,区分 xiaoguo 和其他来源分别报告
- **涉及文件**:
- `scripts/intraday_health_check.py` — check_signal_pipeline: 增加 total_unproc 查询和非xiaoguo预警
- `scripts/system_audit.py` — audit_signals: 增加 total_unproc 查询和MEDIUM级别溢出预警
- `CHANGELOG.md` — 追记监控盲区修复
- **涉及文件**: scripts/intraday_health_check.py, scripts/system_audit.py, CHANGELOG.md
## [2026-07-09 14:xx] 自愈执行器升级:信号积压126条(divergence_watch/trend无consumer
@@ -78,3 +95,57 @@
- **修复**: divergence_detector.py — INSERT时加processed=1(归档性质不需要consumer)。DB — 80条divergence_watch + 46条trend历史标记为processed。同步cron目录MD5一致
- **效果**: signal_news 1077条全量已处理,健康检查PASS,后续不会再次积压
- **涉及文件**: scripts/divergence_detector.py, data/mofin.db, CHANGELOG.md
## [2026-07-10 10:25] 自愈:知微XMPP Bot离线 — 孤儿进程阻塞systemd
- **发现**: 盘中自检报警「知微XMPP Bot离线」,TODO 83 created(无fix_action,升级到LLM处理)
- **调查**:
- systemd `xmpp-zhiwei.service` 陷入无限重启循环(重启计数器110+)
- 根因:外部bash wrapper脚本在10:04启动了一个孤儿bot进程(PID 252975),该进程占用了`/tmp/xmpp_zhiwei_bot.pid`和端口5805
- systemd每次尝试启动都因PID检查`xmpp_zhiwei_bot already running (PID 252975), exiting.`而退出
- 实际上PID 252975的bot是正常运行的(已加入群聊coregroup,HTTP桥5805正常响应),只是不受systemd管理。wrapper触发源不明(可能自愈系统之前的升级操作)
- **修复**:
1. `kill -TERM 252975` 杀掉孤儿进程
2. 清理旧PID文件 `/tmp/xmpp_zhiwei_bot.pid``/home/hmo/.hermes/zhiwei_bot.pid`
3. systemd 10秒RestartSec后自动启动新实例
4. TODO 83 标记为completed
- **验证**: systemd active(running) since 10:25:43bot加入群聊coregroup就绪,gateway health okHTTP桥5805正常
- **效果**: systemd恢复管控bot,重启循环归零
- **涉及文件**: /home/hmo/xmpp_zhiwei_bot.py (PID_FILE机制)
## [2026-07-13] XMPP Bot非阻塞修复 + 深套股规则重构 + 换股规划
### XMPP Bot修复
- **问题1**: bot调用gateway同步等600秒,阻塞事件循环 → XMPP心跳发不出 → 被踢下线 → 重试→turn堆积→更慢
- **修复**: 45s短超时 + "处理中"预回复 + 后台300s轮询 + 不再阻塞心跳
- **问题2**: 远程XMPP服务器(120.78.123.183:5222)网络不通,bot连不上
- **修复**: bot.connect(host='127.0.0.1', port=5222) 改连本地XMPP代理
- **问题3**: xep_0045 MUC插件未注册导致崩溃
- **修复**: __init__加 self.register_plugin('xep_0045')
- **涉及文件**: /home/hmo/xmpp_agent_core.py
### price_monitor通知噪音修复
- **问题**: _push_cooldown 是内存dictprice_monitor每2分钟新进程运行 → cooldown每次重置 → 同股同区间反复推送
- **修复**: cooldown持久化到 /home/hmo/.hermes/.price_push_cooldown.json
- **涉及文件**: scripts/price_monitor.py
### 深套股规则重构(Dad铁律确认)
- **删除**: `is_deep_loss` 对止损/止盈/买入区/质量检查的全部6处guard
- **删除**: `action_note="深套持有"` 强制覆盖
- **删除**: `position_advice="不补不割"` / `time_horizon="长期"`
- **保留**: `stock_category="深套"` 仅作标签
- **原则**: 一切根据客观判断,该加就加该割就割
- **涉及文件**: scripts/strategy_lifecycle.py
### 换股规划功能
- `python3 strategy_lifecycle.py swap-plan [--need 金额]`
- 五维评分: 亏损程度25% + 仓位20% + 技术趋势25% + 流动性15% + 前景15%
- 按评分排序输出可替换优先级,--need 参数自动计算卖几只够
- **涉及文件**: scripts/strategy_lifecycle.py
### 技术分析增强
- weekly/monthly趋势/MA/支撑阻力注入mtf_context
- 健康Tab写无读警告从3个归零(stock_weekly/monthly/watchlist_log加manual_readers
- 每日汇总只发一次(16:35 + sent标记防重复)
- cron_health_monitor新增数据实体完整性检查
- 涉及文件: scripts/technical_analysis.py, scripts/strategy_lifecycle.py, scripts/mofin_health.py, scripts/cron_to_xmpp.py, scripts/cron_health_monitor.py