agentkai logo agentkai Docs EN Open agentkai
On this page

Getting started

Models

AgentKai is model-agnostic. The provider layer is LiteLLM, so one agent codebase works with 100+ models. You pick the model per run, per job, or per channel; everything else (tools, memory, scheduler, dashboard) stays the same.

Aliases

Short names so you don't memorize provider strings. Run agentkai models to see the live table (including your own custom aliases).

AliasResolves toKey
claudeanthropic/claude-sonnet-4-6ANTHROPIC_API_KEY
claude-opusanthropic/claude-opus-4-6ANTHROPIC_API_KEY
geminigemini/gemini-2.5-flashGEMINI_API_KEY (or GOOGLE_API_KEY)
gemini-progemini/gemini-2.5-proGEMINI_API_KEY
gptgpt-4oOPENAI_API_KEY
gpt-minigpt-4o-miniOPENAI_API_KEY
glmzhipu/glm-4-plusZHIPUAI_API_KEY
localollama/qwen3:32bnone (your PC)
fastgemini/gemini-2.5-flashGEMINI_API_KEY

Anything that isn't an alias passes through to LiteLLM unchanged, so agentkai run --model "anthropic/claude-sonnet-4-6" works too.

Key setup (BYOK)

Keys come from the environment first — this is the recommended way:

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

Alternatively, ~/.agentkai/config.yaml holds non-secret settings plus optional key configuration:

providers:
  ollama:
    base_url: http://localhost:11434   # default; change for remote Ollama
models:
  aliases:
    workhorse: anthropic/claude-sonnet-4-6   # your own aliases

Environment always wins over the file. Keys are never printed or logged — agentkai models shows only set / missing per provider. See privacy.md.

Fallbacks

Each alias has a fallback chain: if the primary model errors (rate limit, outage, bad key), the request retries on the next model in the chain automatically. The chain is defined per alias in the provider module; your custom aliases in config.yaml can set their own.

Capabilities

Before trusting a model with tool-heavy work, AgentKai can probe it: one tiny request ("reply with the single word: ok") checks that tool calling and streaming actually work, and the result is cached on disk. The agent loop also normalizes tool calls across providers — Anthropic native calls and OpenAI-style function calls arrive at your tools in the same shape — so tools never care which model is behind them.

Small local models vary: some Ollama models handle tools well, some don't. If a local model ignores tool calls, try a larger one or switch aliases. agentkai run fails cleanly (exit 1, readable error) when the provider is unreachable — e.g. --model local without Ollama running — instead of hanging.

Choosing

  • Best reasoning / default: claude
  • Cheap + fast: gemini (flash) or gpt-mini
  • Private / offline: local (needs Ollama running; quality depends on the model you pulled)
  • China-region APIs: glm

Cost and data handling are between you and the provider: hosted models send your prompts to that provider's API. If that matters, use local.