diff --git a/apps/api/src/services/decision_manager.py b/apps/api/src/services/decision_manager.py index c6dcace02..fd922cd09 100644 --- a/apps/api/src/services/decision_manager.py +++ b/apps/api/src/services/decision_manager.py @@ -97,11 +97,16 @@ async def _push_decision_to_telegram( gateway = get_telegram_gateway() # 從 proposal_data 提取資料 + import re as _re + def _strip_placeholders(s: str) -> str: + """移除 佔位符,避免 Telegram HTML parse 錯誤""" + return _re.sub(r'<[^>]+>', '', s).strip() + target = incident.affected_services[0] if incident.affected_services else "unknown" risk_level = proposal_data.get("risk_level", "medium") - action = proposal_data.get("action", proposal_data.get("kubectl_command", "")) + action = _strip_placeholders(proposal_data.get("action", proposal_data.get("kubectl_command", ""))) description = proposal_data.get("description", "") - reasoning = proposal_data.get("reasoning", "") + reasoning = _strip_placeholders(proposal_data.get("reasoning", "")) confidence = proposal_data.get("confidence", 0.0) # 🔴 預設 0.0 表示未經 AI 分析 source = proposal_data.get("source", "unknown") ai_provider = proposal_data.get("provider", "") # 2026-03-29 ogt: AI 模型來源