Files
Hermes-Skills/okx-auto-position/references/forwarder-rule-chain-monitor-stability-2026-08-06.md

87 lines
2.9 KiB
Markdown

# Forwarder Rule Stability — 链上监控作为"不稳定源" (2026-08-06 决策)
## 背景
2026-08-06 用户决策:**删除 forwarder rule 2(链上监控 | 魏神 麻吉 内幕哥)**。
原因: **"链上监控的规则先删了,是不稳定的"**。
## 为什么链上监控不稳定
链上监控 = 多个 trader 的混合信号源(麻吉大哥 / 魏神 / 狙击手 5912 等),特点:
- **trader 名混乱** — 不同 trader 用相似名(brackets/emoji 后缀)
- **格式不一致** — 麻吉用"📈",魏神用"📉 注意",不同信号格式
- **trader 切换快** — 同一个 trader 可能不同时间在多个频道
- **来源不能追溯** — 链上监控聚合多源,跟单不明确谁
## 风险
1. **同时多条同名 trader** — 锁混乱(同一币种多 trader 抢)
2. **格式变化** — parse_signal 失败 → 信号漏跑
3. **trader 字段为空** — 锁到期/失败
4. **来源混乱** — 真要查"我是跟谁的" → 找不回来
## 决策 (2026-08-06)
**策略**: 只保留 **"实盘监控"** 单一源 (chat 1),删:
- forwarder rule 2 (chat 4 链上监控)
- chats 表里 chat 4 (链上监控)
- rule 2 关联的 keywords
- rule 2 关联的 replace_rules
## 操作步骤(可在其他 forwarder 复用)
```bash
# 1. 删除 rule 2 (db 直接改)
docker exec telegram-forwarder python3 -c "
import sqlite3
conn = sqlite3.connect('/app/db/forward.db')
# 先删关联 keywords
conn.execute('DELETE FROM keywords WHERE rule_id=2')
# 删 replace_rules
conn.execute('DELETE FROM replace_rules WHERE rule_id=2')
# 删 rule
conn.execute('DELETE FROM forward_rules WHERE id=2')
conn.commit()
print(f'removed rule 2 with related')
# 验证
for r in conn.execute('SELECT id, source_chat_id, enable_rule FROM forward_rules').fetchall():
print(r)
"
# 2. 删除 chat 4 (防止继续监听)
docker exec telegram-forwarder python3 -c "
import sqlite3
conn = sqlite3.connect('/app/db/forward.db')
conn.execute('DELETE FROM chats WHERE id=4')
conn.commit()
print(f'removed chat 4')
"
# 3. 重启 forwarder
docker restart telegram-forwarder
# 4. 验证 forwarder 重启成功 + 没有 chat 4
docker logs --tail 20 telegram-forwarder | grep -i "启动\|chain\|链上"
```
## 验证
- ✅ rule 1(实盘监控 → 交易信号群) 启用
- ✅ chat 4 不在 chats 表
- ✅ forwarder log 显示"找到 0 个启用了总结功能的规则"
- ✅ 监听源只剩"实盘监控"单一源
## 经验教训
1. **多源聚合 = 不稳定** — 单一源比多源稳定(单一源失效可控)
2. **链上监控虽信号多**,但聚合 mutiple trader → 锁混乱
3. **要"宁缺毋滥"** — 一个清晰稳定的源 > 多个混乱的源
4. **可重启性** — 单源 forwarder 重启更可控,多源需要等待所有源
## 关联
- `forwarder-rule-enable-killer.md` — rule 禁用 silent killer
- `signal-source-drift-2026-07-15.md` — 信号源变化追踪
- `tg-forwarder-ops.md` — forwarder 基础运维