fix(alerts): 3 個飛輪沉默節點 — DIAGNOSE routing + 心跳停用 + 通知格式
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled

1. openclaw.py: DIAGNOSE 移除 require_local=True
   - v4.3 已決定 NIM 為主力且無隱私問題
   - require_local=True 導致所有 provider 被 privacy_skip → 告警永遠失敗
   - 修後 DIAGNOSE 走 _full_fallback_chain(NIM → Gemini → Claude)

2. ai_router.py: require_local 失敗通知改為 ADR-075 TYPE-1 格式
   - 禁止純文字 raw notification(統帥鐵律:所有訊息必須符合格式模板)
   - 改用 ├─ / └─ 樹狀結構 + 語義化標籤

3. main.py: 停用 Telegram 心跳監控
   - 心跳已轉發到另一個 Telegram 群組,不需在此頻道重複發送

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OG T
2026-04-15 19:49:29 +08:00
parent 2d85b49cc0
commit 3ce5025ca7
3 changed files with 24 additions and 18 deletions

View File

@@ -229,15 +229,14 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]:
register_all_providers()
logger.info("mcp_providers_registered")
# Phase 6.5: Telegram 心跳監控 (防止沉默盲點)
# - 每 30 分鐘發送心跳,證明告警鏈路正常
# - 超過 2 小時沒訊息則告警
if settings.OPENCLAW_TG_BOT_TOKEN:
await telegram_gw.start_heartbeat_monitor(
heartbeat_interval_minutes=30,
silence_threshold_hours=2,
)
logger.info("telegram_heartbeat_monitor_started")
# Phase 6.5: Telegram 心跳監控
# 2026-04-15 ogt: 停用 — 心跳已轉發到另一個 Telegram 群組,不需在此頻道重複發送
# if settings.OPENCLAW_TG_BOT_TOKEN:
# await telegram_gw.start_heartbeat_monitor(
# heartbeat_interval_minutes=30,
# silence_threshold_hours=2,
# )
logger.info("telegram_heartbeat_monitor_disabled", reason="forwarded_to_separate_group")
# Reboot Recovery: Warm-up Redis Working Memory from PostgreSQL
# 2026-04-05 ogt: 重開機後 Redis 清空,從 DB restore 未解決的 incidents