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.
Installation
Section titled “Installation”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.
Adding the provider
Section titled “Adding the provider”Model Settings → Add Provider at the bottom of the provider list:
- Provider name — e.g.
mixen. - OpenAI endpoint:
https://api.mixen.ai/v1— the main models,/chat/completionsand/v1/models. - Anthropic endpoint (for the Claude family and the Anthropic protocol):
https://api.mixen.ai— the client appends the/v1/messagespath itself; do not add a/v1segment to this field. - API Key: your
mxn-…key from the cabinet. - Add Model — add models one by one, using the exact
idfrom the catalog:GET /v1/modelsor the website catalog. Examples:z-ai/glm-5.3— ZCode’s native flagship, thenz-ai/glm-5.3-flash,openai/gpt-5.6-sol,anthropic/claude-sonnet-5. - 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.
What to keep in mind
Section titled “What to keep in mind”- Billing and limits are shared by the key: balance and history live in the same
GET /v1/balanceandGET /v1/history. - Reasoning: a provider’s
optionsaccepts only connection settings (apiKey,baseURL,headers) — other keys, includingreasoning_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-previeware 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
Section titled “Errors”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).