Adding AI Providers to Claude Council
Provider Script Interface
Each provider is a shell script in scripts/providers/ that:
- Accepts a prompt as the first argument
- Outputs the AI response to stdout
- Exits 0 on success, non-zero on failure
Quick Start
- Create
scripts/providers/{name}.sh(seeapi-patterns.mdfor templates) chmod +x scripts/providers/{name}.sh- Set
{NAME}_API_KEYenvironment variable - Test:
./scripts/providers/{name}.sh "Hello"
Current Providers
| Provider | API Key Variable | Default Model |
|---|---|---|
| Gemini | GEMINI_API_KEY |
gemini-flash-latest |
| OpenAI | OPENAI_API_KEY |
gpt-5.6-sol |
| Grok | XAI_API_KEY (or GROK_API_KEY) |
grok-latest |
| Perplexity | PERPLEXITY_API_KEY |
sonar-reasoning-pro |
| Kimi | KIMI_API_KEY |
kimi-k3 |
| Ollama | none (local) | first model ollama list shows |
| OpenRouter | OPENROUTER_API_KEY |
anthropic/claude-sonnet-5 (or one seat per OPENROUTER_MODELS entry) |
Troubleshooting
- Not discovered: Check API key is set and script is executable
- API errors: Verify key, check rate limits, confirm model name
- Parse fails: Add
echo "$RESPONSE"to debug, check response format
Reference
For API patterns and code templates, see api-patterns.md in this directory.