v0.2.33 94ece7d

providers.md RawHistoryFolder

zot providers

zot ships with built-in providers and a model catalog. You can select models with /model, list them with zot --list-models, and add private models in $ZOT_HOME/models.json.

Login methods

Use /login in interactive mode.

  • api key: stores an API key in $ZOT_HOME/auth.json when the provider uses a normal key.
  • subscription: stores OAuth credentials for subscription-backed providers.

Use /logout to remove stored credentials.

Some providers need more than a single pasted key. For those providers, /login shows setup instructions instead of opening a localhost browser form. This avoids broken browser flows in SSH, containers, and kubectl exec sessions.

Setup-instruction providers:

  • Amazon Bedrock
  • Google Vertex AI
  • Cloudflare Workers AI
  • Cloudflare AI Gateway
  • Azure OpenAI Responses

Subscription providers

These providers support subscription login:

Provider Notes
Anthropic Claude Pro/Max OAuth credentials.
OpenAI Codex ChatGPT Plus/Pro Codex subscription route. Separate from the OpenAI API-key provider.
Kimi Kimi subscription login.
GitHub Copilot GitHub Copilot token flow.

OAuth tokens are stored in $ZOT_HOME/auth.json and refreshed when refresh is available.

API-key providers

These providers can use environment variables. Simple API-key providers can also be configured through /login. Providers that require extra cloud setup show instructions and should be configured with environment variables.

Provider Environment variable Stored key
Anthropic ANTHROPIC_API_KEY anthropic
OpenAI OPENAI_API_KEY openai
OpenAI Responses OPENAI_API_KEY openai-responses
Kimi KIMI_API_KEY or MOONSHOT_API_KEY kimi
Google Gemini GEMINI_API_KEY or GOOGLE_API_KEY google
DeepSeek DEEPSEEK_API_KEY deepseek
Moonshot AI MOONSHOT_API_KEY moonshotai
Moonshot AI China MOONSHOT_API_KEY moonshotai-cn
Groq GROQ_API_KEY groq
xAI XAI_API_KEY xai
Cerebras CEREBRAS_API_KEY cerebras
Together AI TOGETHER_API_KEY together
Hugging Face HF_TOKEN huggingface
OpenRouter OPENROUTER_API_KEY openrouter
Mistral MISTRAL_API_KEY mistral
ZAI ZAI_API_KEY zai
Xiaomi MiMo XIAOMI_API_KEY xiaomi
Xiaomi Token Plan Amsterdam XIAOMI_TOKEN_PLAN_AMS_API_KEY xiaomi-token-plan-ams
Xiaomi Token Plan China XIAOMI_TOKEN_PLAN_CN_API_KEY xiaomi-token-plan-cn
Xiaomi Token Plan Singapore XIAOMI_TOKEN_PLAN_SGP_API_KEY xiaomi-token-plan-sgp
MiniMax MINIMAX_API_KEY minimax
MiniMax China MINIMAX_CN_API_KEY or MINIMAX_API_KEY minimax-cn
Fireworks FIREWORKS_API_KEY fireworks
Vercel AI Gateway AI_GATEWAY_API_KEY vercel-ai-gateway
OpenCode Zen OPENCODE_API_KEY opencode
OpenCode Go OPENCODE_API_KEY opencode-go
GitHub Copilot token COPILOT_GITHUB_TOKEN or GITHUB_COPILOT_TOKEN github-copilot
Cloudflare Workers AI CLOUDFLARE_API_KEY cloudflare-workers-ai
Cloudflare AI Gateway CLOUDFLARE_API_KEY cloudflare-ai-gateway
Azure OpenAI Responses AZURE_OPENAI_API_KEY azure-openai-responses

Example:

export OPENROUTER_API_KEY=...
zot --provider openrouter

Cloud providers

Amazon Bedrock

Bedrock is configured with AWS credentials, not a generic zot API-key entry. Use one of these credential sources:

# AWS profile
export AWS_PROFILE=your-profile

# IAM access keys
export AWS_ACCESS_KEY_ID=AKIA...
export AWS_SECRET_ACCESS_KEY=...
export AWS_SESSION_TOKEN=... # only for temporary credentials

# Bedrock API key bearer token
export AWS_BEARER_TOKEN_BEDROCK=bedrock-api-key-...

# Region
export AWS_REGION=us-east-1

ECS task roles, IRSA, and other AWS SDK credential-chain sources are also supported.

Example:

AWS_BEARER_TOKEN_BEDROCK=bedrock-api-key-... AWS_REGION=us-east-1 \
  zot --provider amazon-bedrock --model anthropic.claude-sonnet-4-5-20250929-v1:0

Some Bedrock models require regional inference-profile IDs for on-demand throughput, such as us. or eu. prefixed model IDs. zot rewrites known families automatically where possible. Explicit profile IDs and ARNs are left unchanged.

Google Vertex AI

Vertex can use a Google API key when available:

export GOOGLE_CLOUD_API_KEY=...
zot --provider google-vertex

For service-account or application-default credentials, set the standard Google environment variables used by your deployment.

Cloudflare AI Gateway

Cloudflare AI Gateway needs a Cloudflare token plus account and gateway IDs:

export CLOUDFLARE_API_KEY=...
export CLOUDFLARE_ACCOUNT_ID=...
export CLOUDFLARE_GATEWAY_ID=...
zot --provider cloudflare-ai-gateway

Cloudflare Workers AI

Workers AI needs a Cloudflare token and account ID:

export CLOUDFLARE_API_KEY=...
export CLOUDFLARE_ACCOUNT_ID=...
zot --provider cloudflare-workers-ai

Azure OpenAI Responses

export AZURE_OPENAI_API_KEY=...
export AZURE_OPENAI_BASE_URL=https://your-resource.openai.azure.com
export AZURE_OPENAI_API_VERSION=2024-02-01 # optional
zot --provider azure-openai-responses

If your Azure deployment names differ from zot model IDs, add model overrides in $ZOT_HOME/models.json.

Auth file

Credentials are stored in $ZOT_HOME/auth.json with user-only permissions when zot creates the file.

Example:

{
  "anthropic": { "api_key": "sk-ant-..." },
  "openai": { "api_key": "sk-..." },
  "google": { "api_key": "..." },
  "additional_api_key_creds": {
    "openrouter": { "api_key": "..." },
    "mistral": { "api_key": "..." }
  }
}

The top-level keys are used for providers with dedicated credential fields. Other API-key providers are stored under additional_api_key_creds. Prefer /login so zot writes the correct schema.

Custom providers and models

Use $ZOT_HOME/models.json for private models, deployment aliases, local servers, or OpenAI-compatible gateways that are not in the built-in catalog. User entries override built-in entries with the same provider and model ID.

Credential resolution

For each request, zot checks credentials in this order:

  1. Explicit CLI key, such as --api-key.
  2. Provider-specific environment variables.
  3. $ZOT_HOME/auth.json.
  4. Custom provider credentials from $ZOT_HOME/models.json, when configured.

Bedrock then uses the AWS SDK credential chain for the actual request.

source
1# zot providers
2
3zot ships with built-in providers and a model catalog. You can select models
4with `/model`, list them with `zot --list-models`, and add private models in
5`$ZOT_HOME/models.json`.
6
7## Login methods
8
9Use `/login` in interactive mode.
10
11- `api key`: stores an API key in `$ZOT_HOME/auth.json` when the provider uses a normal key.
12- `subscription`: stores OAuth credentials for subscription-backed providers.
13
14Use `/logout` to remove stored credentials.
15
16Some providers need more than a single pasted key. For those providers,
17`/login` shows setup instructions instead of opening a localhost browser form.
18This avoids broken browser flows in SSH, containers, and `kubectl exec`
19sessions.
20
21Setup-instruction providers:
22
23- Amazon Bedrock
24- Google Vertex AI
25- Cloudflare Workers AI
26- Cloudflare AI Gateway
27- Azure OpenAI Responses
28
29## Subscription providers
30
31These providers support subscription login:
32
33| Provider | Notes |
34| --- | --- |
35| Anthropic | Claude Pro/Max OAuth credentials. |
36| OpenAI Codex | ChatGPT Plus/Pro Codex subscription route. Separate from the OpenAI API-key provider. |
37| Kimi | Kimi subscription login. |
38| GitHub Copilot | GitHub Copilot token flow. |
39
40OAuth tokens are stored in `$ZOT_HOME/auth.json` and refreshed when refresh is
41available.
42
43## API-key providers
44
45These providers can use environment variables. Simple API-key providers can
46also be configured through `/login`. Providers that require extra cloud setup
47show instructions and should be configured with environment variables.
48
49| Provider | Environment variable | Stored key |
50| --- | --- | --- |
51| Anthropic | `ANTHROPIC_API_KEY` | `anthropic` |
52| OpenAI | `OPENAI_API_KEY` | `openai` |
53| OpenAI Responses | `OPENAI_API_KEY` | `openai-responses` |
54| Kimi | `KIMI_API_KEY` or `MOONSHOT_API_KEY` | `kimi` |
55| Google Gemini | `GEMINI_API_KEY` or `GOOGLE_API_KEY` | `google` |
56| DeepSeek | `DEEPSEEK_API_KEY` | `deepseek` |
57| Moonshot AI | `MOONSHOT_API_KEY` | `moonshotai` |
58| Moonshot AI China | `MOONSHOT_API_KEY` | `moonshotai-cn` |
59| Groq | `GROQ_API_KEY` | `groq` |
60| xAI | `XAI_API_KEY` | `xai` |
61| Cerebras | `CEREBRAS_API_KEY` | `cerebras` |
62| Together AI | `TOGETHER_API_KEY` | `together` |
63| Hugging Face | `HF_TOKEN` | `huggingface` |
64| OpenRouter | `OPENROUTER_API_KEY` | `openrouter` |
65| Mistral | `MISTRAL_API_KEY` | `mistral` |
66| ZAI | `ZAI_API_KEY` | `zai` |
67| Xiaomi MiMo | `XIAOMI_API_KEY` | `xiaomi` |
68| Xiaomi Token Plan Amsterdam | `XIAOMI_TOKEN_PLAN_AMS_API_KEY` | `xiaomi-token-plan-ams` |
69| Xiaomi Token Plan China | `XIAOMI_TOKEN_PLAN_CN_API_KEY` | `xiaomi-token-plan-cn` |
70| Xiaomi Token Plan Singapore | `XIAOMI_TOKEN_PLAN_SGP_API_KEY` | `xiaomi-token-plan-sgp` |
71| MiniMax | `MINIMAX_API_KEY` | `minimax` |
72| MiniMax China | `MINIMAX_CN_API_KEY` or `MINIMAX_API_KEY` | `minimax-cn` |
73| Fireworks | `FIREWORKS_API_KEY` | `fireworks` |
74| Vercel AI Gateway | `AI_GATEWAY_API_KEY` | `vercel-ai-gateway` |
75| OpenCode Zen | `OPENCODE_API_KEY` | `opencode` |
76| OpenCode Go | `OPENCODE_API_KEY` | `opencode-go` |
77| GitHub Copilot token | `COPILOT_GITHUB_TOKEN` or `GITHUB_COPILOT_TOKEN` | `github-copilot` |
78| Cloudflare Workers AI | `CLOUDFLARE_API_KEY` | `cloudflare-workers-ai` |
79| Cloudflare AI Gateway | `CLOUDFLARE_API_KEY` | `cloudflare-ai-gateway` |
80| Azure OpenAI Responses | `AZURE_OPENAI_API_KEY` | `azure-openai-responses` |
81
82Example:
83
84```bash
85export OPENROUTER_API_KEY=...
86zot --provider openrouter
87```
88
89## Cloud providers
90
91### Amazon Bedrock
92
93Bedrock is configured with AWS credentials, not a generic zot API-key entry.
94Use one of these credential sources:
95
96```bash
97# AWS profile
98export AWS_PROFILE=your-profile
99
100# IAM access keys
101export AWS_ACCESS_KEY_ID=AKIA...
102export AWS_SECRET_ACCESS_KEY=...
103export AWS_SESSION_TOKEN=... # only for temporary credentials
104
105# Bedrock API key bearer token
106export AWS_BEARER_TOKEN_BEDROCK=bedrock-api-key-...
107
108# Region
109export AWS_REGION=us-east-1
110```
111
112ECS task roles, IRSA, and other AWS SDK credential-chain sources are also
113supported.
114
115Example:
116
117```bash
118AWS_BEARER_TOKEN_BEDROCK=bedrock-api-key-... AWS_REGION=us-east-1 \
119  zot --provider amazon-bedrock --model anthropic.claude-sonnet-4-5-20250929-v1:0
120```
121
122Some Bedrock models require regional inference-profile IDs for on-demand
123throughput, such as `us.` or `eu.` prefixed model IDs. zot rewrites known
124families automatically where possible. Explicit profile IDs and ARNs are left
125unchanged.
126
127### Google Vertex AI
128
129Vertex can use a Google API key when available:
130
131```bash
132export GOOGLE_CLOUD_API_KEY=...
133zot --provider google-vertex
134```
135
136For service-account or application-default credentials, set the standard
137Google environment variables used by your deployment.
138
139### Cloudflare AI Gateway
140
141Cloudflare AI Gateway needs a Cloudflare token plus account and gateway IDs:
142
143```bash
144export CLOUDFLARE_API_KEY=...
145export CLOUDFLARE_ACCOUNT_ID=...
146export CLOUDFLARE_GATEWAY_ID=...
147zot --provider cloudflare-ai-gateway
148```
149
150### Cloudflare Workers AI
151
152Workers AI needs a Cloudflare token and account ID:
153
154```bash
155export CLOUDFLARE_API_KEY=...
156export CLOUDFLARE_ACCOUNT_ID=...
157zot --provider cloudflare-workers-ai
158```
159
160### Azure OpenAI Responses
161
162```bash
163export AZURE_OPENAI_API_KEY=...
164export AZURE_OPENAI_BASE_URL=https://your-resource.openai.azure.com
165export AZURE_OPENAI_API_VERSION=2024-02-01 # optional
166zot --provider azure-openai-responses
167```
168
169If your Azure deployment names differ from zot model IDs, add model overrides
170in `$ZOT_HOME/models.json`.
171
172## Auth file
173
174Credentials are stored in `$ZOT_HOME/auth.json` with user-only permissions
175when zot creates the file.
176
177Example:
178
179```json
180{
181  "anthropic": { "api_key": "sk-ant-..." },
182  "openai": { "api_key": "sk-..." },
183  "google": { "api_key": "..." },
184  "additional_api_key_creds": {
185    "openrouter": { "api_key": "..." },
186    "mistral": { "api_key": "..." }
187  }
188}
189```
190
191The top-level keys are used for providers with dedicated credential fields.
192Other API-key providers are stored under `additional_api_key_creds`. Prefer
193`/login` so zot writes the correct schema.
194
195## Custom providers and models
196
197Use `$ZOT_HOME/models.json` for private models, deployment aliases, local
198servers, or OpenAI-compatible gateways that are not in the built-in catalog.
199User entries override built-in entries with the same provider and model ID.
200
201## Credential resolution
202
203For each request, zot checks credentials in this order:
204
2051. Explicit CLI key, such as `--api-key`.
2062. Provider-specific environment variables.
2073. `$ZOT_HOME/auth.json`.
2084. Custom provider credentials from `$ZOT_HOME/models.json`, when configured.
209
210Bedrock then uses the AWS SDK credential chain for the actual request.

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 476

↑↓ moveenter openesc close