cmdop provider
Manage custom LLM providers. Bare cmdop provider opens an interactive TUI manager. Subcommands exist for scripts and CI.
Interactive manager
cmdop providerOpens a TUI showing all configured providers, the active one, and lets you add / edit / delete / set-default / test connectivity.
The interactive manager is the default surface — running cmdop provider with no subcommand opens it (rather than showing help). For scripted use, use the explicit subcommands below.
Subcommands
cmdop provider add # interactive add
cmdop provider list
cmdop provider set <id> # activate a provider
cmdop provider default # reset to SDKRouter default
cmdop provider delete <id>
cmdop provider test <id> # send a test prompt
cmdop provider edit-key <id> # rotate the API key on an existing providerAdd a provider
cmdop provider add walks through:
- Provider name (label).
- Base URL (any OpenAI-compatible endpoint).
- API key.
- Default model.
- Optional: list of allowed models (defaults to “any”).
Common targets:
| Provider | Base URL |
|---|---|
| Z.AI | https://api.z.ai/v1 |
| MiniMax | https://api.minimax.chat/v1 |
| DeepSeek | https://api.deepseek.com/v1 |
| Ollama (local) | http://localhost:11434/v1 |
| OpenRouter | https://openrouter.ai/api/v1 |
| OpenAI | https://api.openai.com/v1 |
List providers
cmdop provider listID NAME ACTIVE BASE URL DEFAULT MODEL
sdkrouter SDKRouter * api.cmdop.com -
ollama-local Ollama (local) http://localhost:11434 qwen2.5-coder:32b
deepseek DeepSeek https://api.deepseek.com/v1 deepseek-chatSet a provider as active
cmdop provider set ollama-localWhen a custom provider is active, cmdop chat and cmdop run route completions through it. SDKRouter aliases (@code, @balanced) resolve to the provider’s default model. Search, vision, and CDN still go through SDKRouter regardless.
Reset to SDKRouter
cmdop provider defaultTest connectivity
cmdop provider test ollama-localSends a small prompt and reports latency + response. Useful for diagnosing “is my Ollama up?” without firing up a full chat.
Edit the API key
If a provider’s key rotates, you don’t need to delete and re-add:
cmdop provider edit-key deepseekDelete a provider
cmdop provider delete old-providerTTY requirement
The interactive manager requires a TTY. In CI / non-interactive contexts use the explicit subcommands. Running cmdop provider over a pipe will fail loudly rather than silently dropping into help text.
Where providers are stored
~/.cmdop/providers.yaml (mode 0600). Same directory as tokens — don’t check it into git.