feat: add multi-key auth profile rotation for model providers
This commit is contained in:
@@ -253,6 +253,7 @@ models:
|
||||
provider: anthropic
|
||||
model: claude-opus-4-5-20251101
|
||||
api_key: sk-ant-api03-...
|
||||
# api_keys: [sk-ant-primary-..., sk-ant-secondary-...] # Optional rotation pool
|
||||
local:
|
||||
provider: ollama
|
||||
model: qwen2.5:14b
|
||||
@@ -289,17 +290,17 @@ If you want a fast mental model of where to start as an AI agent / contributor:
|
||||
|
||||
| Provider | Config |
|
||||
|----------|--------|
|
||||
| Anthropic | `provider: anthropic`, `api_key` or `auth_token` |
|
||||
| OpenAI | `provider: openai`, `api_key`, optional `endpoint` |
|
||||
| Anthropic | `provider: anthropic`, `api_key`/`api_keys` or `auth_token` |
|
||||
| OpenAI | `provider: openai`, `api_key`/`api_keys`, optional `endpoint` |
|
||||
| Vercel AI Gateway | `provider: vercel`, `api_key` or `AI_GATEWAY_API_KEY`, optional `endpoint` |
|
||||
| GitHub Copilot | `provider: github`, auto-login via OAuth device flow |
|
||||
| Gemini | `provider: gemini`, `api_key` |
|
||||
| Bedrock | `provider: bedrock`, AWS credentials |
|
||||
| Ollama | `provider: ollama`, `model`, optional `endpoint` |
|
||||
| Zhipu AI (GLM) | `provider: zhipuai`, `api_key` or `ZHIPUAI_API_KEY`, optional `endpoint` |
|
||||
| xAI (Grok) | `provider: xai`, `api_key` or `XAI_API_KEY` |
|
||||
| MiniMax | `provider: minimax`, `api_key` or `MINIMAX_API_KEY`, optional `endpoint` |
|
||||
| Moonshot (Kimi) | `provider: moonshot`, `api_key` or `MOONSHOT_API_KEY`, optional `endpoint` |
|
||||
| xAI (Grok) | `provider: xai`, `api_key`/`api_keys` or `XAI_API_KEY` |
|
||||
| MiniMax | `provider: minimax`, `api_key`/`api_keys` or `MINIMAX_API_KEY`, optional `endpoint` |
|
||||
| Moonshot (Kimi) | `provider: moonshot`, `api_key`/`api_keys` or `MOONSHOT_API_KEY`, optional `endpoint` |
|
||||
| llama.cpp | `provider: llamacpp`, `endpoint` |
|
||||
|
||||
### Model Tiers
|
||||
@@ -316,6 +317,8 @@ models:
|
||||
|
||||
Each tier can optionally specify `auth_mode` (`auto` | `api_key` | `oauth`) to control whether Flynn uses API keys vs OAuth/token auth for that provider. `use_oauth: true` remains supported as a compatibility alias for `auth_mode: oauth`.
|
||||
|
||||
When multiple keys are configured via `api_keys`, Flynn rotates across keys on provider failures and sticks to the last successful key profile until it fails.
|
||||
|
||||
Note: with `provider: openai` + `auth_mode: oauth` (Codex backend), Flynn currently does not send tool definitions to the provider. Tool execution is therefore unavailable in that mode, and any textual `tool_use` output should be treated as non-executable model text.
|
||||
|
||||
Note: with `provider: ollama`, tool execution depends on model capabilities. If Ollama reports that the selected model does not support tools, Flynn omits tool definitions for that request.
|
||||
|
||||
Reference in New Issue
Block a user