Skip to content
Niki
All guides

Mixing providers per agent

Per-agent provider and model configuration in niki.toml.

Each stage in the full multiagent path can bind its own provider and model. Choose a provider for the work each stage needs; auto topology may skip some stages for low-complexity tasks.

The config

[agents.planner]
provider = "anthropic"
model    = "claude-sonnet-4-20250514"

[agents.coder]
provider = "anthropic"
model    = "claude-sonnet-4-20250514"

[agents.tester]
provider = "openai"
model    = "gpt-4o-mini"     # test generation tolerates a cheaper model

[agents.reviewer]
provider = "anthropic"
model    = "claude-sonnet-4-20250514"

Keys

Set per-provider keys via environment: env vars override niki.toml, so secrets never touch the repo:

export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...

Check and tune

niki providers check
niki recommend

niki recommend uses static provider/model pairings. It does not rank models from your observed spend.