Skip to content
RU

ZCode

ZCode is an agent harness (a Z.ai desktop app) for working with models. Its custom providers understand OpenAI- and Anthropic-compatible protocols — Mixen speaks both, so the whole catalog plugs in: text, the Claude and GPT families, Sonar with web search.

Ready builds are on zcode.z.ai: .dmg (macOS), .exe (Windows), .deb/.rpm/.AppImage (Linux, beta). A GLM Coding Plan subscription is not needed for your own provider — usage is billed from your Mixen balance.

Model Settings → Add Provider at the bottom of the provider list:

  1. Provider name — e.g. mixen.
  2. OpenAI endpoint: https://api.mixen.ai/v1 — the main models, /chat/completions and /v1/models.
  3. Anthropic endpoint (for the Claude family and the Anthropic protocol): https://api.mixen.ai — the client appends the /v1/messages path itself; do not add a /v1 segment to this field.
  4. API Key: your mxn-… key from the cabinet.
  5. Add Model — add models one by one, using the exact id from the catalog: GET /v1/models or the website catalog. Examples: z-ai/glm-5.3 — ZCode’s native flagship, then z-ai/glm-5.3-flash, openai/gpt-5.6-sol, anthropic/claude-sonnet-5.
  6. Flip the provider’s enable switch on.

Both endpoints can be set on one provider at the same time — as in the DeepSeek example from the ZCode docs.

  • Billing and limits are shared by the key: balance and history live in the same GET /v1/balance and GET /v1/history.
  • Reasoning: a provider’s options accepts only connection settings (apiKey, baseURL, headers) — other keys, including reasoning_effort, are silently ignored. Reasoning depth follows the model’s default (see chat).
  • Models are added manually by id; a non-existent id fails on the first request. Check exact names in GET /v1/models (suffixes like -preview are part of the name).
  • Proxy: ZCode does not read system HTTP_PROXY/HTTPS_PROXY — configure the proxy in ZCode’s own settings if you need one.

Errors arrive in the shape of the respective protocol: the OpenAI endpoint — {"error": {"message", "code"}}, Anthropic — {"type": "error", "error": {...}}. Common ones: 401 — the key is missing or revoked; 402 — the account has never been topped up or the balance is spent; 429 — the key’s request limit (keys and limits).