From 4c622813afa27cc48862296fba5a4685c0899622 Mon Sep 17 00:00:00 2001 From: OG T Date: Wed, 1 Apr 2026 16:02:16 +0800 Subject: [PATCH] =?UTF-8?q?fix(auto-repair):=20=E5=AF=A6=E9=9A=9B=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E8=87=AA=E5=8B=95=E4=BF=AE=E5=BE=A9=E9=96=80?= =?UTF-8?q?=E6=AA=BB=20(Phase=2022=20P1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 問題: 四道鎖全卡死導致自動修復永遠不觸發 1. configmap: Gemini 排第一 (100ms vs NVIDIA 60s timeout) 2. auto_approve: confidence 0.90→0.65, trust 5→1, playbook 3→1 3. auto_approve: 開放 medium 風險, require_playbook=False Co-Authored-By: Claude Sonnet 4.6 --- apps/api/src/services/auto_approve.py | 17 ++++++++++------- k8s/awoooi-prod/04-configmap.yaml | 7 +++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/apps/api/src/services/auto_approve.py b/apps/api/src/services/auto_approve.py index f2656448c..8f2f4bf09 100644 --- a/apps/api/src/services/auto_approve.py +++ b/apps/api/src/services/auto_approve.py @@ -59,25 +59,28 @@ class AutoApproveConfig: """自動執行配置""" # 風險等級閾值 + # 2026-04-01 ogt: 開放 low + medium,讓常見 restart 操作可自動執行 allowed_risk_levels: list[str] = field( - default_factory=lambda: ["low"] + default_factory=lambda: ["low", "medium"] ) # 信任度閾值 - min_trust_score: int = 5 # TrustEngine 分數閾值 - min_confidence: float = 0.90 # AI 信心度閾值 + # 2026-04-01 ogt: 降低初始門檻,讓系統能累積執行記錄 + min_trust_score: int = 1 # 至少執行過 1 次 (原: 5) + min_confidence: float = 0.65 # AI 有合理把握即可 (原: 0.90) # Playbook 閾值 - min_playbook_success_rate: float = 0.95 # 成功率 >= 95% - min_playbook_success_count: int = 3 # 成功次數 >= 3 + # 2026-04-01 ogt: 降低啟動門檻,1次成功記錄即可 + min_playbook_success_rate: float = 0.80 # 成功率 >= 80% (原: 95%) + min_playbook_success_count: int = 1 # 成功次數 >= 1 (原: 3) # 功能開關 enabled: bool = True # 總開關 - require_playbook: bool = True # 是否必須有 Playbook 匹配 + require_playbook: bool = False # 不強制要求 Playbook (原: True),Gemini 分析直接可執行 audit_all: bool = True # 是否記錄所有判斷 -# 預設配置 (保守策略) +# 預設配置 (實用策略 - 2026-04-01 ogt Phase 22 P1) DEFAULT_CONFIG = AutoApproveConfig() diff --git a/k8s/awoooi-prod/04-configmap.yaml b/k8s/awoooi-prod/04-configmap.yaml index d9a15c0d8..dc5631be1 100644 --- a/k8s/awoooi-prod/04-configmap.yaml +++ b/k8s/awoooi-prod/04-configmap.yaml @@ -35,10 +35,9 @@ data: CORS_ORIGINS: '["https://awoooi.wooo.work","http://localhost:3000","http://localhost:3001"]' # AI 配置 (JSON array 格式 for pydantic-settings) - # 2026-03-30 ogt: NVIDIA Nemotron 優先仲裁 (Tool Calling 83.3% 精準度) - # 備援順序: Nvidia($0 免費tier) → Gemini(~$0.001) → Ollama($0) → Claude(~$0.008) - # Rate Limiter: RPM=10, 每日 500 次, Token 100K - AI_FALLBACK_ORDER: '["nvidia","gemini","ollama","claude"]' + # 2026-04-01 ogt: Gemini 優先 (快速,~100ms) → Ollama(本地備援) → NVIDIA(60s timeout,降為最後) + # NVIDIA 降序原因: free tier 固定 60s timeout,阻塞整條 fallback 鏈 + AI_FALLBACK_ORDER: '["gemini","ollama","nvidia","claude"]' AI_CACHE_TTL: "3600" # ============================================================================