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:
@@ -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:43,bot加入群聊coregroup就绪,gateway health ok,HTTP桥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 是内存dict,price_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
|
||||
|
||||
Reference in New Issue
Block a user