Providers

Provider-agnostic LLM access. Switch models without changing agent logic.

Supported Providers

OpenAI
GPT-4, GPT-4o, GPT-5 series. Streaming, tool use, reasoning, vision. API key auth.
OpenAI Codex
OAuth device flow with automatic token refresh. Designed for code-oriented tasks.
Z.ai
GLM models (GLM-4, GLM-5). OpenAI-compatible endpoint. Supports streaming and tool use.
Ollama
Local and cloud models. OpenAI-compatible API. Any model available via Ollama — Llama, Mistral, Qwen, DeepSeek, etc.
Cohere
Command R+ and Command R. Custom HTTP implementation (not OpenAI-compatible). Streaming with tool use.
Mistral
Mistral Large, Medium, Small. OpenAI-compatible endpoint. Streaming and tool use.

Provider Architecture

Five of the six providers share an OpenAI-compatible HTTP client. Cohere has its own implementation due to different API conventions. Each provider reports its capabilities at runtime:

  • Streaming — whether the provider supports server-sent events for token-by-token delivery
  • Tool use — whether the provider supports structured tool calling in responses
  • Reasoning — whether the provider supports thinking/reasoning tokens
  • Vision — whether the provider accepts image inputs

Capability detection happens at provider registration time. The chain runner uses these flags to construct prompts compatible with the selected provider — no manual configuration needed.

Concurrency Throttling

Each provider has a configurable concurrency limit. Requests beyond the limit are queued. This prevents rate-limit errors with providers that enforce request ceilings (OpenAI, Cohere) and ensures fair resource distribution when multiple agents share the same provider.

Per-Agent Configuration

Each agent specifies its own provider and model. Two agents on the same Animus instance can use different providers — one on OpenAI GPT-5, another on a local Ollama model. Switching providers doesn't change agent logic, memory, or tool access. The model is the vessel, not the identity.

Agent config example
{
  "id": "agent-alpha",
  "provider_id": "openai-main",
  "model_id": "gpt-5",
  "reasoning_effort": "high",
  "max_chain_steps": 15
}