refactor: externalize hardcoded model config and clean up robustness plan

- Add openai_model, tts_minimax_model, tts_elevenlabs_model, tts_edge_voice,
  antigravity_model to Settings; set image_model default to nano-banana-pro
- Update provider_router._get_default_config to read from settings
- Add nul to .gitignore (Windows artifact)
- Mark all robustness tasks as completed in dev-plan.md
This commit is contained in:
zhangtuo
2026-03-09 16:54:58 +08:00
parent c82d408ea1
commit 145be0e67b
4 changed files with 29 additions and 46 deletions

View File

@@ -41,8 +41,13 @@ class Settings(BaseSettings):
# AI Model Configuration
text_model: str = "gemini-2.0-flash"
openai_model: str = "gpt-4o-mini"
tts_model: str = ""
image_model: str = ""
image_model: str = "nano-banana-pro"
tts_minimax_model: str = "speech-2.6-turbo"
tts_elevenlabs_model: str = "eleven_multilingual_v2"
tts_edge_voice: str = "zh-CN-XiaoxiaoNeural"
antigravity_model: str = "gemini-3-pro-image"
# Provider routing (ordered lists)
text_providers: list[str] = Field(default_factory=lambda: ["gemini"])

View File

@@ -98,7 +98,7 @@ def _get_default_config(adapter_name: str) -> AdapterConfig | None:
if adapter_name == "openai":
return AdapterConfig(
api_key=getattr(settings, "openai_api_key", ""),
model="gpt-4o-mini", # 这里可以从 settings 读取,看需求
model=settings.openai_model,
timeout_ms=60000,
)
@@ -106,7 +106,7 @@ def _get_default_config(adapter_name: str) -> AdapterConfig | None:
if adapter_name in ("cqtai"):
return AdapterConfig(
api_key=getattr(settings, "cqtai_api_key", ""),
model="nano-banana-pro", # 默认使用 Pro
model=settings.image_model or "nano-banana-pro",
timeout_ms=120000,
)
if adapter_name == "image_primary":
@@ -128,7 +128,7 @@ def _get_default_config(adapter_name: str) -> AdapterConfig | None:
# 我们这里暂时返回基础配置。
return AdapterConfig(
api_key=getattr(settings, "minimax_api_key", ""),
model="speech-2.6-turbo",
model=settings.tts_minimax_model,
timeout_ms=60000,
)