Skip to content

Models

Pick models in qialike, or bring your own provider keys.

qialike talks to providers through its own adapter layer. A model is always identified by two things: a provider route (for example deepseek-official or qialike) and a model id (for example deepseek-v4-flash). In configuration and in the docs the two are written together as route/model-id, e.g. qialike/deepseek-v4-flash.

Default provider

There is currently no default provider.

Choosing a model

/models opens the model manager, which has two levels:

  1. Providers — one row per provider with its key state and model count on the right. Only providers whose API key is set appear here.
  2. Models — Enter on a provider drills into its model sub-list.

All lists have live type-to-filter (a bordered ⌕ type to filter box on top); long lists support PgUp/PgDn (page) and Home/End (first/last). Esc clears the filter first and then backs out. Picking a model and pressing Enter saves it: the live session switches on the next request and the choice is persisted as the default.

The bottom of the card shows the current selection, for example DeepSeek · DeepSeek V4 Flash. For a gateway route with a live catalog, qialike fetches GET {baseURL}/models and falls back to a static catalog on failure or timeout.

Reasoning effort

Models that declare reasoning effort add a third step to the picker: after the model, an Effort list (Off / Low / High / Max for the built-in DeepSeek routes). ↑/↓ or a number selects, Enter confirms, Esc goes back — the model choice completes only once an effort is confirmed. The effort persists with the selection and rides on every request as thinking / reasoning_effort.

From the main window, Ctrl+T (Alt+T where the terminal takes Ctrl+T) cycles the current model’s declared effort levels, wrapping at the ends; each press persists and applies to later requests, and the composer label shows the effort as a chip. Effort sets are model-declared and provider-specific: DeepSeek offers Off/Low/High/Max while another gateway may declare low/medium/high/xhigh/max. Providers without declared efforts skip the step.

Overriding the model per run

Terminal window
qialike --model deepseek-flash

--model takes a provider/name override, e.g. deepseek-flash or qialike/deepseek-v4-flash. The provider is part of the value; it is not restricted to your saved selection.

Using the Bee gateway

Bee is qialike’s model API gateway. It exposes one base URL and speaks several protocols, so you configure it in qialike like any OpenAI-compatible provider:

  1. Create an API key in the qialike console — see Bee.
  2. Run /models → + Add provider → + Add a custom provider and fill in the form: route id (e.g. qialike), display name, base URL https://qialike.com/bee/v1, the API key, and the model ids you want.
  3. Save the key. The route is hot-registered, its models appear in the picker, and requests are routed through Bee.

The model ids are the ones Bee publishes:

Terminal window
curl -s https://qialike.com/bee/v1/models \
-H "Authorization: Bearer $QIALIKE_API_KEY"

A reference to one of those models is written qialike/<model-id> — for example qialike/deepseek-v4-flash or qialike/glm-5.2. Which endpoint Bee uses is its business: the gateway routes each model family to the protocol it needs, so you point qialike at https://qialike.com/bee/v1 and pick models by id.

Bring your own provider keys

The Add provider list carries the Chinese providers qialike supports, plus the built-in deepseek-official endpoint: Qwen, GLM, Kimi, MiniMax, StepFun, Volcano Engine (Doubao), Xiaomi MiMo, Ant Ling, and aggregation gateways such as SiliconFlow and Qiniu. Most are OpenAI-compatible. Rows marked endpoint required need a deployment-specific base URL.

Three groups come from loadable sub-plugins, all enabled by default and removable as a whole — write the matching switch in qialike.json and the templates plus any configured routes disappear from /models and from the adapters:

Sub-pluginSwitchProviders
tui-opencode-gatewaysqialike-opencode: { enabled: false }OpenCode Zen / Go
tui-china-gatewaysqialike-china-gateways: { enabled: false }Qiniu, SiliconFlow (incl. cn endpoints)

Configured OpenAI-compatible providers show the gateway’s live model list (a dynamic GET {baseURL}/models, falling back to the template’s preset models on failure or timeout). OpenCode Zen is a single entry showing all 63 models; picking any of them and saving routes the request to the right protocol endpoint by model prefix — claude-/qwen- → Anthropic messages, gpt-/grok-/muse- → OpenAI Responses, gemini- → Google generateContent, everything else → chat/completions. All four auth paths are verified.

Pick a provider in Add provider and a sub-dialog sets or replaces its API key — the key dialog says “replaces the current key” when one already exists. Setting a key on a dormant template activates the route on the spot: its endpoint and model catalog are written to the qialike-llm: settings section and its models appear in the picker.

Keys are stored in ~/.dsh/.credentials.yaml under the route’s derived credential reference (route qialike → QIALIKE_API_KEY) and resolved per request; the key never reaches the transcript or the model. If a key is already present in the environment under that name, it shadows the store and wins — and an environment-supplied key cannot be deleted from the dialog, which reports that instead.

To deactivate a provider without deleting the route, press Ctrl+D (Alt+D) on the first level: it removes the key and hides the route from the picker. The hidden list persists in qialike.json (hidden_providers); re-adding the provider from the catalog and setting its key again clears the flag.

Custom providers by hand

The Add-provider form writes a settings section like this; you can also maintain it directly:

~/.dsh/settings.yaml
qialike-llm:
providers:
qialike:
displayName: qialike
baseURL: https://qialike.com/bee/v1
apiKeyEnv: QIALIKE_API_KEY
models:
- id: deepseek-v4-flash
- id: glm-5.2

api defaults to OpenAI-compatible; set it to openai-responses, anthropic-messages or google-generative for a route that speaks one of the other protocols.

Image input

Models that declare image input (for example the DeepSeek vision route, GPT-4o, or Claude) accept images attached to the conversation: a pasted local image path attaches the file, and the adapter encodes it as image_url parts (OpenAI) or base64 source blocks (Anthropic). Models without the declaration refuse the attachment.

Next steps

  • Bee gateway — endpoints, pricing, privacy and teams
  • Config — the qialike-llm settings section and where credentials live
  • Permissions — the file-effect boundary a model can reach