87 lines
2.9 KiB
Markdown
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 基础运维
|