Skip to content

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)

idprotocolbase URLenv varnotes
anthropicanthropichttps://api.anthropic.comANTHROPIC_API_KEYNative server-side web_search
anthropic-claudelocal processinstalled claude CLInoneClaude Pro/Max subscription bridge
openaiopenai-compathttps://api.openai.com/v1OPENAI_API_KEY
openai-codexResponsesChatGPT Codex backendOAuthDevice-code subscription login
geminigeminihttps://generativelanguage.googleapis.comGEMINI_API_KEYNative googleSearch grounding
deepseek-anthropicanthropichttps://api.deepseek.com/anthropicDEEPSEEK_API_KEYRecommended DeepSeek path — native web search · V4 Pro/Flash
deepseekopenai-compathttps://api.deepseek.com/v1DEEPSEEK_API_KEYNo native web_search (use AnySearch or deepseek-anthropic)
qwen-token-plan-anthropicanthropichttps://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropicQWENCLOUD_TOKEN_PLAN_API_KEYRecommended Token Plan path · Personal/Team · sk-sp-
qwen-token-planopenai-compathttps://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1QWENCLOUD_TOKEN_PLAN_API_KEYPersonal/Team Token Plan · sk-sp-
kimiopenai-compatMoonshot global .aiKIMI_API_KEY
kimi-cnopenai-compatMoonshot CNKIMI_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 idBillingProtocolBase URLCredential
qwen-token-plan-anthropicPersonal/Team Token PlanAnthropic Messageshttps://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropicPrefer 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-planPersonal/Team Token PlanOpenAI-compatiblehttps://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1Prefer 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-anthropicPay-as-you-goAnthropic Messageshttps://dashscope.aliyuncs.com/apps/anthropicDASHSCOPE_API_KEY, with legacy QWEN_API_KEY fallback; use an sk-... or sk-ws-... key
qwenPay-as-you-goOpenAI-compatiblehttps://dashscope.aliyuncs.com/compatible-mode/v1DASHSCOPE_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.

bash
# 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-plus

Recommended 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:

idwhat
xaixAI Grok API key (XAI_API_KEY) — chat, Imagine image gen, Responses web_search
xai-oauthSuperGrok / Premium+ via device-code OAuth (or existing ~/.grok/auth.json)
qwen / qwen-anthropicAlibaba Model Studio pay-as-you-go · OpenAI-compatible / Anthropic Messages
qwen-oauthReuses an external Qwen CLI OAuth file; separate from Model Studio API-key channels
dashscope / dashscope-cnAlibaba DashScope international / CN
alibaba-coding / alibaba-coding-cnAlibaba coding-plan endpoints
zai / zai-cnZ.AI / GLM
minimax / minimax-cn / minimax-cn-anthropicMiniMax (incl. Anthropic protocol CN)
mimoXiaomi MiMo
tokenhubTencent TokenHub
nvidiaNVIDIA API catalog
stepfun / stepfun-cnStepFun intl / CN
openrouter, ai-gateway, huggingface, copilot, copilot-acpAggregators & GitHub Copilot
ollama, lmstudioLocal OpenAI-compat servers
arcee, gmi, kilocode, opencode, opencode-go, nousAdditional catalog entries
bedrockAWS Bedrock bearer token (AWS_BEARER_TOKEN_BEDROCK)

The channel wizard

bash
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:

ChannelHow 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)

bash
# 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)

bash
# 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

bash
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-readable

In the REPL:

  • /model — two-stage picker: pick a channel, then a model (live-discovered, with context-window info). Ghost completion works on /model prov/model too. 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:

hipmmcode
 /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 modelcustom), or drop it into ~/.hipmmcode/config.json:

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-..." }
}
bash
hipmmcode chat -p my-proxy -m claude-opus-4-8

Field notes:

  • protocolOpenaiCompat (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 after envVar (e.g. Gemini also accepts GOOGLE_API_KEY, Copilot accepts GH_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:

  1. Shorthand → canonical: family aliases like opus, sonnet, haiku expand to the channel's canonical id.
  2. Long-context markers: a [1m] suffix selects a long-context variant internally and is stripped before the API call.
  3. provider/model form is accepted anywhere a model name is (e.g. /model kimi/kimi-k2).

Fallbacks & resilience

  • --fallback-model (repeatable, up to 3) or fallbackModels in 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

bash
hipmmcode config set effort=high      # off / low / medium / high / max

or /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.