From 25e0570e80d97f1bdd1d0388c3508e4c13a99398 Mon Sep 17 00:00:00 2001 From: OoO Date: Wed, 13 May 2026 12:56:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A3=9C=E9=BD=8A=20AI=20runtime=20=E7=92=B0?= =?UTF-8?q?=E5=A2=83=E7=AF=84=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 21 +++++++++++++++++++++ tests/test_phase3f_cleanup_contracts.py | 15 +++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/.env.example b/.env.example index d44cc22..3458064 100644 --- a/.env.example +++ b/.env.example @@ -280,6 +280,13 @@ AI_PROVIDER=ollama YOUTUBE_API_KEY= GEMINI_TIMEOUT=60 +# [預設 OFF] AI runtime feature flags;未完成部署驗收前不要在正式環境打開 +MODEL_ROUTER_ENABLED=false +COST_THROTTLE_ENABLED=false +RAG_ENABLED=false +PPT_VISION_ENABLED=false +DEEPSEEK_DIRECT_ENABLED=false + # ────────────────────────────────────────────────────────────────────────── # Ollama / MCP / 密碼政策 # ────────────────────────────────────────────────────────────────────────── @@ -292,6 +299,20 @@ OLLAMA_MODEL=gemma3:4b OLLAMA_TIMEOUT=120 OLLAMA_COPY_TIMEOUT=180 OLLAMA_EMBED_TIMEOUT=45 + +# [預設 true] OpenClaw Q&A 先走 Ollama,品質不足或失敗時才 fallback Gemini/NIM +OPENCLAW_QA_OLLAMA_FIRST=true +OPENCLAW_QA_OLLAMA_MODEL=qwen3:14b +OPENCLAW_QA_OLLAMA_HOST=http://34.143.170.20:11434 +OPENCLAW_QA_OLLAMA_TIMEOUT=60 +NEMOTRON_OLLAMA_TIMEOUT=180 + +# [預設 OFF] MCP Router;需先部署 docker-compose.mcp.yml 並完成健康檢查再開 +MCP_ROUTER_ENABLED=false +MCP_POSTGRES_URL=http://127.0.0.1:3001 +MCP_FIRECRAWL_URL=http://127.0.0.1:3002 +MCP_OMNISEARCH_URL=http://127.0.0.1:3003 +MCP_FILESYSTEM_URL=http://127.0.0.1:3004 MCP_CACHE_TTL_HOURS=24 MCP_GEMINI_MODEL=gemini-2.0-flash diff --git a/tests/test_phase3f_cleanup_contracts.py b/tests/test_phase3f_cleanup_contracts.py index 41a517f..13dc862 100644 --- a/tests/test_phase3f_cleanup_contracts.py +++ b/tests/test_phase3f_cleanup_contracts.py @@ -46,6 +46,8 @@ def test_env_example_documents_runtime_and_ai_automation_variables(): expected_keys = { "AUTO_FIX_ENABLED", "CODE_REVIEW_AUTO_FIX_ENABLED", + "COST_THROTTLE_ENABLED", + "DEEPSEEK_DIRECT_ENABLED", "ELEPHANT_ALPHA_ALLOWED_SSH_HOSTS", "ELEPHANT_ALPHA_URL", "EMBEDDING_HOST", @@ -61,12 +63,25 @@ def test_env_example_documents_runtime_and_ai_automation_variables(): "MOMO_EVENT_ROUTER_QUEUE", "MOMO_EVENT_ROUTER_REPLAY_LIMIT", "MOMO_EVENT_ROUTER_REPLAY_ON_SUCCESS", + "MCP_FILESYSTEM_URL", + "MCP_FIRECRAWL_URL", + "MCP_OMNISEARCH_URL", + "MCP_POSTGRES_URL", + "MCP_ROUTER_ENABLED", + "MODEL_ROUTER_ENABLED", "N8N_HOST", "N8N_PASSWORD", "N8N_PROTOCOL", "N8N_USER", "N8N_WEBHOOK_BASE_URL", + "NEMOTRON_OLLAMA_TIMEOUT", "OLLAMA_EMBED_TIMEOUT", + "OPENCLAW_QA_OLLAMA_FIRST", + "OPENCLAW_QA_OLLAMA_HOST", + "OPENCLAW_QA_OLLAMA_MODEL", + "OPENCLAW_QA_OLLAMA_TIMEOUT", + "PPT_VISION_ENABLED", + "RAG_ENABLED", "TELEGRAM_CHAT_ID", "WEB_CONCURRENCY", }