Documentation

Providers

Every supported LLM provider — open-source, local, and proprietary — with setup instructions.

Edit on GitHub

Nyzhi is provider-agnostic. It ships with 16 built-in providers and supports any OpenAI-compatible endpoint as a custom provider. Swap models by changing one line of config.

Built-in Provider Table

ProviderIDAPI StyleEnv VariableOAuthType
Kimi (Moonshot)kimiopenaiMOONSHOT_API_KEYNoOpen
Kimi Coding Plankimi-codinganthropicKIMI_CODING_API_KEYNoOpen
MiniMaxminimaxopenaiMINIMAX_API_KEYNoOpen
MiniMax Coding Planminimax-codinganthropicMINIMAX_CODING_API_KEYNoOpen
GLM (Z.ai)glmopenaiZHIPU_API_KEYNoOpen
GLM Coding Planglm-codingopenaiZHIPU_CODING_API_KEYNoOpen
DeepSeekdeepseekopenaiDEEPSEEK_API_KEYNoOpen
GroqgroqopenaiGROQ_API_KEYNoCloud
Together AItogetheropenaiTOGETHER_API_KEYNoCloud
OllamaollamaopenaiOLLAMA_API_KEYNoLocal
OpenAIopenaiopenaiOPENAI_API_KEYYesProprietary
AnthropicanthropicanthropicANTHROPIC_API_KEYYesProprietary
Google GeminigeminigeminiGEMINI_API_KEYYesProprietary
OpenRouteropenrouteropenaiOPENROUTER_API_KEYNoAggregator
CursorcursorcursorCURSOR_API_KEYYesProprietary
GitHub Copilotgithub-copilotcopilotGITHUB_COPILOT_TOKENYesProprietary

Plus two SDK-style providers:

ProviderIDFallback
Claude Agent SDKclaude-sdkFalls back to anthropic credential
OpenAI Codex CLIcodexFalls back to openai credential

Quick Setup Examples

Kimi (Moonshot)

export MOONSHOT_API_KEY="sk-..."
[provider]
default = "kimi"

[provider.kimi]
model = "moonshot-v1-128k"

Kimi excels at long-context tasks (128k tokens). The Coding Plan variant (kimi-coding) uses Anthropic-style API for structured tool use.

MiniMax

export MINIMAX_API_KEY="..."
[provider]
default = "minimax"

[provider.minimax]
model = "abab7-chat"

MiniMax provides strong multilingual support. The Coding Plan variant is available at minimax-coding.

GLM (Zhipu / Z.ai)

export ZHIPU_API_KEY="..."
[provider]
default = "glm"

[provider.glm]
model = "glm-4-plus"

GLM offers competitive code generation through its Z.ai platform. Coding Plan variant available at glm-coding.

DeepSeek

export DEEPSEEK_API_KEY="sk-..."
[provider]
default = "deepseek"

[provider.deepseek]
model = "deepseek-chat"

DeepSeek provides strong coding performance at competitive pricing.

Groq

export GROQ_API_KEY="gsk_..."
[provider]
default = "groq"

[provider.groq]
model = "llama-3.3-70b-versatile"

Groq runs open-source models on custom LPU hardware for extremely fast inference.

Together AI

export TOGETHER_API_KEY="..."
[provider]
default = "together"

[provider.together]
model = "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo"

Together AI provides access to a wide catalog of open-source models with serverless inference.

Ollama (Local)

No API key needed — just have Ollama running locally:

# Install and start Ollama
ollama serve

# Pull a model
ollama pull codestral
[provider]
default = "ollama"

[provider.ollama]
base_url = "http://localhost:11434/v1"
model = "codestral"

Tip: Ollama is completely offline. No data leaves your machine.

OpenAI

export OPENAI_API_KEY="sk-..."
[provider]
default = "openai"

[provider.openai]
model = "gpt-5.3-codex"

Or use OAuth:

nyz login openai

Anthropic

export ANTHROPIC_API_KEY="sk-ant-..."
[provider]
default = "anthropic"

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

Google Gemini

export GEMINI_API_KEY="..."
[provider]
default = "gemini"

[provider.gemini]
model = "gemini-2.5-pro"

OpenRouter

Access any model through a single API:

export OPENROUTER_API_KEY="sk-or-..."
[provider]
default = "openrouter"

[provider.openrouter]
model = "anthropic/claude-sonnet-4-20250514"

Custom / OpenAI-Compatible Providers

Any API that follows the OpenAI chat completions format works:

[provider.my-custom]
base_url = "https://my-company.example.com/v1"
api_key = "sk-..."
model = "internal-model-v3"
api_style = "openai"

Then set it as default:

[provider]
default = "my-custom"

Provider Selection at Runtime

How Nyzhi picks which provider and model to use:

Provider:

  1. --provider CLI flag (if set)
  2. config.provider.default

Model:

  1. --model CLI flag (if set)
  2. [provider.<id>].model (if set)
  3. First supported model for the provider (fallback)

Model Routing

When routing is enabled, Nyzhi automatically picks different models based on task complexity:

[agent.routing]
enabled = true
low_keywords = ["fix typo", "rename"]
high_keywords = ["refactor", "architect", "redesign"]

Prompts are classified into tiers (low, medium, high), and the provider selects an appropriate model for each tier.

See Routing for full details.

Using Multiple Providers

You can define several providers and switch between them:

[provider]
default = "anthropic"

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

[provider.openai]
model = "gpt-5.3-codex"

[provider.deepseek]
model = "deepseek-chat"

[provider.ollama]
base_url = "http://localhost:11434/v1"
model = "codestral"

Switch at runtime without changing config:

nyz --provider openai
nyz --provider deepseek --model deepseek-coder

Next Steps