Model channels
A channel (provider) is a model endpoint or a local model process. hipmmcode ships a large preconfigured catalog (Top-tier + Extended) plus any custom URL. It speaks four HTTP wire protocols natively — OpenAI-compatible, Anthropic, Gemini, and OpenAI Responses (Codex / xAI search surfaces) — plus the local Claude Code process bridge.
Core channels (Top tier)
| id | protocol | base URL | env var | notes |
|---|---|---|---|---|
anthropic | anthropic | https://api.anthropic.com | ANTHROPIC_API_KEY | Native server-side web_search |
anthropic-claude | local process | installed claude CLI | none | Claude Pro/Max subscription bridge |
openai | openai-compat | https://api.openai.com/v1 | OPENAI_API_KEY | |
openai-codex | Responses | ChatGPT Codex backend | OAuth | Device-code subscription login |
gemini | gemini | https://generativelanguage.googleapis.com | GEMINI_API_KEY | Native googleSearch grounding |
deepseek-anthropic | anthropic | https://api.deepseek.com/anthropic | DEEPSEEK_API_KEY | Recommended DeepSeek path — native web search · V4 Pro/Flash |
deepseek | openai-compat | https://api.deepseek.com/v1 | DEEPSEEK_API_KEY | No native web_search (use AnySearch or deepseek-anthropic) |
qwen-token-plan-anthropic | anthropic | https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic | QWENCLOUD_TOKEN_PLAN_API_KEY | Recommended Token Plan path · Personal/Team · sk-sp- |
qwen-token-plan | openai-compat | https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1 | QWENCLOUD_TOKEN_PLAN_API_KEY | Personal/Team Token Plan · sk-sp- |
kimi | openai-compat | Moonshot global .ai | KIMI_API_KEY | |
kimi-cn | openai-compat | Moonshot CN | KIMI_API_KEY |
Suggested DeepSeek model ids (API, not marketing names): deepseek-v4-flash, deepseek-v4-pro, optional deepseek-v4-pro[1m]. Do not use date suffixes like 0731 as model ids — the API rejects them.
The anthropic channel also honors ANTHROPIC_BASE_URL (relay) and ANTHROPIC_AUTH_TOKEN (bearer alias, after the API key). See Settings → Environment variables.
Alibaba Model Studio: Token Plan vs pay-as-you-go
Alibaba Model Studio Token Plan and pay-as-you-go are separate billing products. HiPMMCode provides both OpenAI-compatible and Anthropic Messages channels for each product:
qwen-token-plan is the OpenAI-compatible Token Plan channel; the explicit alias qwen-token-plan-openai resolves to the same channel.
| Channel id | Billing | Protocol | Base URL | Credential |
|---|---|---|---|---|
qwen-token-plan-anthropic | Personal/Team Token Plan | Anthropic Messages | https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic | Prefer QWENCLOUD_TOKEN_PLAN_API_KEY; Qwen Code's BAILIAN_TOKEN_PLAN_API_KEY and the older QWEN_TOKEN_PLAN_API_KEY are accepted aliases; must be an sk-sp-... key |
qwen-token-plan | Personal/Team Token Plan | OpenAI-compatible | https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1 | Prefer QWENCLOUD_TOKEN_PLAN_API_KEY; Qwen Code's BAILIAN_TOKEN_PLAN_API_KEY and the older QWEN_TOKEN_PLAN_API_KEY are accepted aliases; must be an sk-sp-... key |
qwen-anthropic | Pay-as-you-go | Anthropic Messages | https://dashscope.aliyuncs.com/apps/anthropic | DASHSCOPE_API_KEY, with legacy QWEN_API_KEY fallback; use an sk-... or sk-ws-... key |
qwen | Pay-as-you-go | OpenAI-compatible | https://dashscope.aliyuncs.com/compatible-mode/v1 | DASHSCOPE_API_KEY, with legacy QWEN_API_KEY fallback; use an sk-... or sk-ws-... key |
Credentials cannot cross billing products: sk-sp-... is Token Plan only, while sk-... / sk-ws-... is pay-as-you-go only. HiPMMCode deliberately does not fall back between these two channel groups. Built-in presets use Beijing; global users may set QWEN_TOKEN_PLAN_BASE_URL=https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1. Token Plan is intended for interactive coding and agent tools, not unattended batch backends.
# Token Plan: prefer the Anthropic channel for agentic workloads
export QWENCLOUD_TOKEN_PLAN_API_KEY='sk-sp-...'
hipmmcode model qwen-token-plan-anthropic
hipmmcode chat -p qwen-token-plan-anthropic -m qwen3.8-max
# Pay-as-you-go: one DashScope key works with both protocol variants
export DASHSCOPE_API_KEY='sk-ws-...'
hipmmcode model qwen-anthropic
hipmmcode chat -p qwen-anthropic -m qwen3.7-plusRecommended models: qwen3.8-max for the lead agent and hard tasks, qwen3.7-max as a strong subagent, qwen3.7-plus for balanced everyday coding, and qwen3.6-flash for light, low-latency work. Actual availability depends on the plan and region shown in the Alibaba console. The Anthropic-compatible endpoint does not expose /v1/models, so the wizard uses HiPMMCode's curated list instead of treating discovery failure as a configuration error.
qwen3.8-max and qwen3.8-max-preview default to xhigh when no effort was selected. Max is hybrid and honors /effort off; Preview is always-thinking. The OpenAI-compatible route sends Qwen's reasoning_effort, enable_thinking, and preserve_thinking fields and clamps thinking temperature to at least 0.6. The Anthropic route uses its corresponding adaptive-thinking wire shape and safely retries without unsupported effort fields on a strict gateway.
Token usage and plan Credits
HiPMMCode reads response usage and retains input, output, cache-create, cache-read, and reasoning token details. /usage shows normalized session input/output totals, while headless JSON output includes the detailed counters. OpenAI-compatible streaming requests enable stream_options.include_usage; Anthropic streaming uses the final message_delta.usage. These are token counts, not Token Plan Credits: Credits are dynamically weighted by the model, thinking, and tool calls. Check the Token Plan usage-details page in the Alibaba Model Studio console for remaining Credits, reset time, and 5-hour/7-day windows; they cannot be derived reliably from ordinary model responses.
Image, video, and audio generation use separate multimodal-generation APIs; do not list generation models in the ordinary chat model picker. On either direct Token Plan channel, HiPMMCode's native GenerateImage calls the dedicated multimodal endpoint—like Grok Imagine, no Skill is required. Personal plans can select wan2.7-image / wan2.7-image-pro; Team plans can additionally select qwen-image-2.0 / qwen-image-2.0-pro. The cross-plan default is wan2.7-image, and HIPMMCODE_IMAGE_MODEL can override it.
Native GenerateVideo also reuses the same configured sk-sp-... key on both qwen-token-plan and qwen-token-plan-anthropic; the chat protocol does not change the dedicated Beijing video endpoint. Current Personal and Team lists both include happyhorse-1.1-t2v, happyhorse-1.1-i2v, and happyhorse-1.1-r2v, producing a 720P/1080P, 3–15 second MP4. A new high-Credit task passes the permission gate before submission. HiPMMCode privately records the returned task_id, polls it, and immediately downloads the 24-hour result; resume mode uses that same id without another POST. The official Skills remain available as separate pay-as-you-go workflows. See Token Plan multimodal generation, the Personal Token Plan overview, and asynchronous task guidance.
Native GenerateSpeech uses the same direct-channel sk-sp-... key with the dedicated Beijing WebSocket and qwen-audio-3.0-tts-plus, which is listed for both Personal and Team plans. It defaults to the Plus-compatible longanlingxin, MP3 at 22.05 kHz, and exposes compatible voice, format, sample-rate, volume, rate, pitch, language-hint, and instruction controls. HiPMMCode enforces the provider's weighted text/instruction limits before connecting, asks before the Credit-consuming call, receives the complete binary stream, validates its format, and commits it through a pinned new-file output target. See the Qwen-Audio-TTS WebSocket API and the current Qwen-Audio-TTS voice list.
Extended catalog (selection)
These appear under More providers… in hipmmcode model (and are first-class ids for -p / /provider). Each ships with the right base URL, protocol, and conventional env vars:
| id | what |
|---|---|
xai | xAI Grok API key (XAI_API_KEY) — chat, Imagine image gen, Responses web_search |
xai-oauth | SuperGrok / Premium+ via device-code OAuth (or existing ~/.grok/auth.json) |
qwen / qwen-anthropic | Alibaba Model Studio pay-as-you-go · OpenAI-compatible / Anthropic Messages |
qwen-oauth | Reuses an external Qwen CLI OAuth file; separate from Model Studio API-key channels |
dashscope / dashscope-cn | Alibaba DashScope international / CN |
alibaba-coding / alibaba-coding-cn | Alibaba coding-plan endpoints |
zai / zai-cn | Z.AI / GLM |
minimax / minimax-cn / minimax-cn-anthropic | MiniMax (incl. Anthropic protocol CN) |
mimo | Xiaomi MiMo |
tokenhub | Tencent TokenHub |
nvidia | NVIDIA API catalog |
stepfun / stepfun-cn | StepFun intl / CN |
openrouter, ai-gateway, huggingface, copilot, copilot-acp | Aggregators & GitHub Copilot |
ollama, lmstudio | Local OpenAI-compat servers |
arcee, gmi, kilocode, opencode, opencode-go, nous | Additional catalog entries |
bedrock | AWS Bedrock bearer token (AWS_BEARER_TOKEN_BEDROCK) |
The channel wizard
hipmmcode model # full wizard: channel → auth → live model list → default model
hipmmcode model deepseek-anthropic
hipmmcode model qwen-token-plan-anthropic # Token Plan (sk-sp-)
hipmmcode model openai-codex # ChatGPT Codex subscription (or reuse ~/.codex/auth.json)
hipmmcode model xai-oauth # device-code login (or reuse Grok CLI)The wizard fetches the channel's real /v1/models list (falling back to curated presets when discovery fails) and persists the key or OAuth credential, the channel definition, and defaultProvider / defaultModel.
OAuth & subscription channels
These channels authenticate without a static API key:
| Channel | How it works |
|---|---|
Claude Code subscription (anthropic-claude) | Uses the official claude process already logged in on this machine. Run claude auth login --claudeai, then choose Anthropic → Claude Pro/Max subscription in hipmmcode model. For a non-interactive run, use hipmmcode -p anthropic-claude -m 'sonnet[1m]' exec "..." or select opus[1m]. The default catalog contains only these two verified 1M options; the suffix reaches Claude Code unchanged and also sizes HiPMMCode's context budget to 1M, while final availability remains subject to the account entitlement reported by the official CLI. HiPMMCode never reads, copies, or stores the Claude OAuth token and ignores Anthropic API/proxy environment variables for this channel. This is an experimental local-only compatibility bridge: each model turn runs Claude Code in safe mode with its built-in tools disabled, then returns tool intent to HiPMMCode's own permission/tool loop. It is not available as a membership gateway or hosted subscription relay. |
OpenAI Codex (openai-codex) | Sign in with your ChatGPT/Codex subscription via a device-code flow: the wizard shows a URL + code, you authorize in the browser, and the token is stored in ~/.hipmmcode/config.json (oauthCredentials). Tokens auto-refresh before every turn — no re-login until the refresh token itself expires. Re-running the wizard offers Use existing credentials / Reauthenticate / Cancel. Speaks the OpenAI Responses protocol natively (including native web search and image generation). Also falls back to a local Codex CLI ~/.codex/auth.json when present. |
xAI Grok OAuth (xai-oauth) | Device-code login against https://auth.x.ai (same public SuperGrok client as Grok CLI / Hermes-style flows). Tokens land in oauthCredentials["xai-oauth"] and auto-refresh (~1h skew). If you already signed in with the Grok CLI, hipmmcode can reuse ~/.grok/auth.json without a second login. Covers chat (grok-4.5, …), Imagine image generation, and Responses web search. API-key alternative: channel xai + XAI_API_KEY. |
Qwen OAuth (qwen-oauth) | Reuses the external qwen CLI's own credentials (~/.qwen/oauth_creds.json) — run qwen auth qwen-oauth first; hipmmcode reads and auto-refreshes that file, never storing a separate copy. |
AWS Bedrock (bedrock) | Bearer-token mode via AWS_BEARER_TOKEN_BEDROCK. Full IAM/SigV4 signing is not supported. |
The Claude subscription bridge is intentionally different from the native anthropic API channel: it starts the user's installed first-party CLI and does not turn a Claude.ai login into a reusable HTTP credential. For production, remote, or high-throughput use, configure anthropic with an Anthropic Console API key instead. Availability and usage limits are those of the local Claude plan and CLI.
OpenAI Codex setup (quick)
# Option A — device-code login (ChatGPT / Codex subscription)
hipmmcode model openai-codex
# open the printed URL, enter the code, wait for credentials to save
# Option B — already logged in with the Codex CLI (~/.codex/auth.json)
hipmmcode model openai-codex # reuse local auth when no managed token is stored
# or one-shot without changing defaults:
hipmmcode -p openai-codex -m gpt-5.1-codex "hello"xAI Grok setup (quick)
# Option A — device code (no Grok CLI required)
hipmmcode model xai-oauth
# open the printed URL, confirm the code, wait for ✓ Logged in to xAI Grok
# Option B — API key
export XAI_API_KEY=xai-...
hipmmcode model xai
# Option C — already logged in with Grok CLI (~/.grok/auth.json)
hipmmcode model xai-oauth # "Use existing credentials"Switching at runtime
hipmmcode chat -p deepseek-anthropic -m deepseek-v4-flash
hipmmcode chat -p qwen-token-plan-anthropic -m qwen3.8-max
hipmmcode chat -p openai-codex -m gpt-5.1-codex
hipmmcode chat -p xai-oauth -m grok-4.5
hipmmcode models --all # list every channel's models, headless
hipmmcode models -p kimi --json # one channel, machine-readableIn the REPL:
/model— two-stage picker: pick a channel, then a model (live-discovered, with context-window info). Ghost completion works on/model prov/modeltoo. OAuth channels appear when credentials are ready (managed store or external CLI file)./provider <id>— switch channel (persists as the default)./refresh-models— drop the discovery cache.
Bare /model walks channel → model, with the active pair marked:
› /model Channel — pick a provider, Enter to see its models anthropic key: config ❯ deepseek-anthropic key: config (active) xai-oauth oauth kimi key: env deepseek-anthropic — models discovered live / curated fallback ❯ deepseek-v4-flash ctx (active) deepseek-v4-pro ctx ↑/↓ move · Enter confirm · Esc back
Custom channels
Any OpenAI-compatible, Anthropic-protocol, or Gemini-protocol endpoint works. Add one interactively (hipmmcode model → custom), or drop it into ~/.hipmmcode/config.json:
{
"custom": {
"my-proxy": {
"baseUrl": "http://10.0.0.5:8080",
"protocol": "Anthropic",
"envVar": "MY_PROXY_API_KEY",
"models": ["claude-opus-4-8", "claude-sonnet-4-6"],
"headers": { "X-Team": "platform" },
"modelOverrides": {
"claude-opus-4-8": { "contextWindow": 200000, "maxOutputTokens": 16000 }
}
}
},
"apiKeys": { "my-proxy": "sk-..." }
}hipmmcode chat -p my-proxy -m claude-opus-4-8Field notes:
protocol—OpenaiCompat(default) /Anthropic/Gemini/OpenaiResponses.models— omit for live discovery; set to pin a list.headers/headersHelper— static extra headers, or a shell command that prints them as JSON (for short-lived tokens).envVar— where to look for the key if none is stored.envVars— additional env-var names tried in order afterenvVar(e.g. Gemini also acceptsGOOGLE_API_KEY, Copilot acceptsGH_TOKEN/GITHUB_TOKEN). Preconfigured catalog channels ship with the right fallback list.modelOverrides— correct context windows / output caps for proxies that misreport them.oauth— OAuth client settings for endpoints that need browser sign-in.
Custom channels inherit sensible defaults from their protocol family — an openai-compat custom borrows openai's model suggestions, a gemini custom borrows gemini's, and so on.
Model name resolution
Model names resolve identically everywhere — REPL, exec, serve, and ACP:
- Shorthand → canonical: family aliases like
opus,sonnet,haikuexpand to the channel's canonical id. - Long-context markers: a
[1m]suffix selects a long-context variant internally and is stripped before the API call. provider/modelform is accepted anywhere a model name is (e.g./model kimi/kimi-k2).
Fallbacks & resilience
--fallback-model(repeatable, up to 3) orfallbackModelsin config — tried in order when the primary model is overloaded.- Transient failures retry with exponential backoff; a retry banner shows the reason.
- Context-overflow recovers by compaction instead of failing the turn.
Model metadata
Context windows, output caps, and modality support (vision / video) come from a bundled models.dev metadata layer, refreshed with the discovery cache. Override anything per model with modelOverrides (custom channels) or <provider>.modelOverride.<model>.… config keys.
Reasoning effort
hipmmcode config set effort=high # off / low / medium / high / maxor /effort high live. Applied in each protocol's native way (reasoning tokens, adaptive thinking). deepseek-anthropic defaults to max for both the lead and child agents; Codex-backed channels default to high, while other channels keep their existing defaults. An explicit /effort off always disables thinking on DeepSeek.