opencode-ollama-multi-auth
v1.5.10
Published
Opencode plugin for Ollama Cloud with multiple API keys and automatic failover
Maintainers
Readme
opencode-ollama-multi-auth
OpenCode plugin for Ollama Cloud with multiple API keys and automatic failover. Never run out of API quota!
Features
- Multiple API Keys - Add unlimited API keys from different Ollama Cloud accounts
- Automatic Failover - Automatically rotates to next key when current one fails (401, 403, 429)
- Auto Recovery - Re-enables failed keys after 5 hours (configurable)
- Concurrency Safe - Handles multiple concurrent requests without state corruption
Installation
npm install -g opencode-ollama-multi-authConfiguration
Add the plugin to your ~/.config/opencode/opencode.json:
{
"model": "ollama-multi/kimi-k2.5",
"provider": {
"ollama-multi": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://ollama.com/v1"
},
"models": {
"kimi-k2.5": { "id": "kimi-k2.5", "name": "Kimi K2.5", "family": "kimi" },
"gemma4:31b-cloud": { "id": "gemma4:31b-cloud", "name": "Gemma 4 31B", "family": "gemma" }
}
}
},
"plugin": [
["opencode-ollama-multi-auth", {
"ollamaMultiAuth": {
"keys": [
"your-ollama-api-key-1",
"your-ollama-api-key-2",
"your-ollama-api-key-3"
],
"failWindowMs": 18000000,
"maxRetries": 5
}
}]
]
}Configuration Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| keys | string[] | [] | Array of API keys to rotate through |
| failWindowMs | number | 18000000 | Time in ms before retrying a failed key (default: 5 hours) |
| maxRetries | number | 5 | Maximum key rotations per request |
| providerId | string | "ollama-multi" | Provider ID to manage (for custom providers) |
Environment Variables
You can also set keys via environment variables:
export OLLAMA_API_KEY="your-first-key"
export OLLAMA_API_KEY_1="your-second-key"
export OLLAMA_API_KEY_2="your-third-key"Keys from environment variables are merged with config keys.
How It Works
Request 1: Using Key #1 ✅ Success
Request 2: Using Key #1 ❌ Rate limited (429)
↓ Automatic rotation
Request 2: Using Key #2 ✅ Success
...The plugin intercepts API requests and:
- Uses the first available key from your list
- Detects auth errors (401, 403, 429)
- Marks failed key and rotates to next available key
- Re-enables failed keys after the fail window expires
State Files
The plugin manages these files automatically:
~/.local/share/opencode/auth.json- Current active key~/.opencode/ollama-keys-state.json- Key failure history
Testing
The plugin includes a mock server for testing key rotation:
cd node_modules/opencode-ollama-multi-auth
node scripts/mock-server.jsThen configure a test provider in opencode.json pointing to http://127.0.0.1:11435/v1 with test keys.
Available Models
Pre-configured Ollama Cloud models:
ollama-multi/kimi-k2.5- Moonshot Kimi K2.5ollama-multi/qwen3.5:397b- Alibaba Qwen 3.5 397Bollama-multi/gemma4:31b-cloud- Google Gemma 4 31B
License
MIT License
