fix(flywheel): unblock action safety and Claude fallback
All checks were successful
CD Pipeline / build-and-deploy (push) Successful in 9m45s

This commit is contained in:
Your Name
2026-04-29 21:50:57 +08:00
parent 4c91d89dd2
commit dccdcdbaf5
12 changed files with 467 additions and 40 deletions

View File

@@ -135,7 +135,7 @@ async def probe_gemini_version() -> ProviderVersionInfo:
# =============================================================================
async def probe_claude_version() -> ProviderVersionInfo:
"""Claudemodel name 即版本識別(例如 "claude-sonnet-4-6"
"""Claudemodel name 即版本識別(例如 "claude-haiku-4-5-20251001"
Anthropic 沒有 list models endpoint截至 2026-04
以設定中的 claude model name 作為版本字串。
@@ -151,9 +151,7 @@ async def probe_claude_version() -> ProviderVersionInfo:
if not api_key:
raise RuntimeError("CLAUDE_API_KEY not configured")
# Claude model name 從 AI_FALLBACK_ORDER 的 claude provider 取
# 直接使用已知 model name 作為版本Claude 不提供公開版本 API
model_name = "claude-sonnet-4-6" # 與 settings 中 ai_router 的 claude model 對齊
model_name = "claude-haiku-4-5-20251001"
return ProviderVersionInfo(
provider="claude",
@@ -249,7 +247,7 @@ async def probe_all_providers() -> list[ProviderVersionInfo]:
results: list[ProviderVersionInfo] = []
provider_labels = ["ollama", "ollama_188", "gemini", "claude", "openclaw_nemo"]
for label, outcome in zip(provider_labels, raw):
for label, outcome in zip(provider_labels, raw, strict=True):
if isinstance(outcome, ProviderVersionInfo):
results.append(outcome)
else: