feat: add dynamic x-api-provider and reasoning_effort support

- Add per-model provider configuration in config.json
- Implement getModelProvider() to fetch provider from model config
- Update all header generators to accept dynamic provider parameter
- Add reasoning_effort field handling for common endpoint type
- Support auto/low/medium/high/off reasoning levels for common models

This enables flexible multi-provider support and reasoning control
across different endpoint types (anthropic, openai, common).
This commit is contained in:
1eon
2025-11-19 01:25:01 +08:00
parent c31b680d95
commit 62a384f34b
6 changed files with 70 additions and 22 deletions

View File

@@ -25,48 +25,64 @@
"name": "Opus 4.1",
"id": "claude-opus-4-1-20250805",
"type": "anthropic",
"reasoning": "auto"
"reasoning": "auto",
"provider": "anthropic"
},
{
"name": "Haiku 4.5",
"id": "claude-haiku-4-5-20251001",
"type": "anthropic",
"reasoning": "auto"
"reasoning": "auto",
"provider": "anthropic"
},
{
"name": "Sonnet 4.5",
"id": "claude-sonnet-4-5-20250929",
"type": "anthropic",
"reasoning": "auto"
"reasoning": "auto",
"provider": "anthropic"
},
{
"name": "GPT-5",
"id": "gpt-5-2025-08-07",
"type": "openai",
"reasoning": "auto"
"reasoning": "auto",
"provider": "openai"
},
{
"name": "GPT-5-Codex",
"id": "gpt-5-codex",
"type": "openai",
"reasoning": "off"
"reasoning": "off",
"provider": "openai"
},
{
"name": "GPT-5.1",
"id": "gpt-5.1",
"type": "openai",
"reasoning": "auto"
"reasoning": "auto",
"provider": "openai"
},
{
"name": "GPT-5.1-Codex",
"id": "gpt-5.1-codex",
"type": "openai",
"reasoning": "off"
"reasoning": "off",
"provider": "openai"
},
{
"name": "GLM-4.6",
"id": "glm-4.6",
"type": "common"
"type": "common",
"reasoning": "off",
"provider": "fireworks"
},
{
"name": "Gemini-3-Pro",
"id": "gemini-3-pro-preview",
"type": "common",
"reasoning": "auto",
"provider": "google"
}
],
"dev_mode": false,