WorkBuddy Custom Model Setup with QCode

How to add QCode.cc as a WorkBuddy custom model: China and global entry points, models.json paths, the endpoint URL, error 4100, GPT and Chinese model ids.

Updated 2026-11-10

Need an API key? Sign up →Endpoints & base URLs →

On This Page

Last verified: 2026-11-10 · 📄 Per official docs (China site workbuddy.cn: latest changelog entry 5.11.0, 2026-11-03, in gradual rollout; international site workbuddy.ai: latest changelog entry 5.9.4)

At a glance

Item Details
Can I use my own key? Yes. On desktop, open Models in Settings, choose Custom, and enter a URL, an API key and a model name
Models you can use Claude ❌ (custom models speak OpenAI Chat Completions only) · GPT ✅ · Chinese models ✅ · Gemini ❌
Protocol & endpoint URL OpenAI Chat Completions: the full path https://api.qcode.cc/openai/v1/chat/completions (with the Custom Protocol toggle off, https://api.qcode.cc/openai/v1 also works)
China site (workbuddy.cn) Models page in Settings; config kept in workbuddy/models.json, compatible with ~/.codebuddy/models.json
International site (workbuddy.ai) Avatar > System Settings > Models; config file ~/.workbuddy-ai/models.json
Mobile No custom-model entry
Official docs China: Model configuration · International: Model Configuration

WorkBuddy (international site: workbuddy.ai) is the desktop AI agent from Tencent Cloud's CodeBuddy team for office deliverables (notes, sheets, decks, light code), not a drop-in replacement for Claude Code. Its official llms.txt says it shares the same foundation as the coding product CodeBuddy; for CodeBuddy see CodeBuddy custom models. To connect WorkBuddy to QCode.cc, open Settings → Models, add a custom model with the endpoint https://api.qcode.cc/openai/v1/chat/completions, your cr_ key and a live model id such as gpt-6.1-sol, then pick the model and send ping. WorkBuddy custom models use OpenAI Chat Completions, which on QCode serves GPT and Chinese models; Claude models are served on the Anthropic endpoint, which clients such as Claude Code use.

This page covers one job: add QCode.cc as a WorkBuddy custom model, so the same cr_ key can call our in-stock GPT / GLM / Kimi / DeepSeek / Qwen models from WorkBuddy.

GPT and Chinese models on QCode. WorkBuddy's custom models use the OpenAI Chat Completions protocol, which on QCode serves GPT and the Chinese model families (DeepSeek / GLM / Kimi / Qwen). Claude models are served on QCode's Anthropic endpoint (https://api.qcode.cc/api), which WorkBuddy's custom models do not use; a claude-… id on the OpenAI endpoint returns model_not_available_on_endpoint. For Claude, use a tool that supports the Anthropic endpoint, such as Claude Code, ZCode or Qoder. See Endpoints & API Paths.

QCode.cc is not affiliated with Tencent, WorkBuddy or CodeBuddy. UI labels follow the WorkBuddy build you installed; field meanings follow the official model configuration (China · International). The international page says: "Custom model integration currently uses the OpenAI-compatible Chat Completions API."

Prerequisites

  • Desktop WorkBuddy installed (China edition workbuddy.cn, international edition workbuddy.ai; install steps: official Mac / Windows guides). The mobile app has no custom-model entry; see the FAQ below
  • A QCode.cc API Key (starts with cr_) from the dashboard
  • The same key works on all three protocols. WorkBuddy custom models use OpenAI Chat Completions, which maps to QCode /openai/v1/chat/completions. Protocol and BASE_URL rules: Endpoints & API Formats

The official model pages say custom models are managed through a visual interface (add, edit, delete), without hand-editing a config file. The China page says: if your model service is not in the preset list, choose Custom and enter the URL, API Key and model name by hand. Tencent Cloud TokenHub's WorkBuddy guide uses the same path.

  1. China edition: start WorkBuddy → account menu (bottom left) → Settings → Model. International edition: Avatar > System Settings > Models
  2. Under custom models, Add model
  3. Provider: Custom
  4. Fill the table below, save, then pick the new model in the chat model picker
  5. The international edition also has Test Connection ("Checks whether the API can respond"); run it before relying on the row. The docs note that saving a configuration does not mean the connection is successful
Field Value Notes
Provider Custom Do not pick a built-in Tencent Cloud Token Plan
Endpoint URL https://api.qcode.cc/openai/v1/chat/completions Mainland China: prefer https://asia.qcode.cc/openai/v1/chat/completions
API Key Your QCode.cc key (cr_ prefix) No leading/trailing spaces
Model name e.g. gpt-6.1-sol Must be a live id on qcode.cc/models, character-for-character
Advanced settings Enable tool calling / image input / reasoning as needed Optional; the international page says to set them by what the service actually supports, not to enable all

You can add several custom rows with the same URL and key, changing only Model name — e.g. one glm-5.3 and one deepseek-v4-pro.

How to fill the URL (custom protocol)

Official behaviour of the custom protocol toggle (in advanced settings):

Toggle Behaviour
Off (default) Use the standard /chat/completions path; validate and complete the URL
On Send the URL exactly as typed; skip validation and auto-complete

The international page adds three points: with the toggle off, the address is normalized so the path ends with /chat/completions, and other path segments a provider needs are not appended for you; with the toggle off "you can enter the base URL containing /v1 or the full URL"; and in most cases you do not need to turn the toggle on. The toggle only changes how addresses are processed and is not a general-purpose API protocol converter.

For QCode, enter the full path https://api.qcode.cc/openai/v1/chat/completions. It is correct in both toggle states: with the toggle off the path already ends with /chat/completions, and with it on the address is sent as typed. It is also the value a hand-written models.json needs as url (see below), and Tencent Cloud's TokenHub guide for WorkBuddy likewise enters a full URL ending in /v1/chat/completions. For the WorkBuddy desktop app, the connection test result is the final word.

  • With the toggle off, https://api.qcode.cc/openai/v1 also works (the same value as OPENAI_BASE_URL in Environment Variables); WorkBuddy appends /chat/completions
  • Keep /v1: WorkBuddy appends only /chat/completions, not other path segments, and QCode's Chat path is /openai/v1/chat/completions
  • QCode uses the standard path, so you can leave Custom Protocol off; with it on, only the full path works
  • No trailing /. Extra slashes become //chat/completions

The three access domains are functionally identical; only routing differs. The same key works on all of them:

Node Endpoint URL
Global (Route 53) https://api.qcode.cc/openai/v1/chat/completions
Asia (recommended in CN) https://asia.qcode.cc/openai/v1/chat/completions
North America / Europe https://us.qcode.cc/openai/v1/chat/completions

Where the config lives

The China and international editions use different paths; read them separately (quoted from the two official pages):

Edition Official statement
China (workbuddy.cn) Parameters (including the API Key) are stored only in the local workbuddy/models.json and are not uploaded; custom models already configured through ~/.codebuddy/models.json still work after the UI upgrade
International (workbuddy.ai) The default user-level configuration file is ~/.workbuddy-ai/models.json. On Windows, it is located at %USERPROFILE%\.workbuddy-ai\models.json

The international page adds that if you changed the user configuration directory, you should use the path shown on the model settings page, and that a configuration file containing API keys must not be uploaded to a public repository. The China page names only workbuddy/models.json, not the folder it sits in; go by the actual file on your machine, or simply manage the rows in the UI.

Also:

  • The official note on credit use says all costs a custom model incurs are paid to the third party (here QCode.cc, billed per token)
  • Per the official changelog, models.json hot reload arrived in 5.1.1: edits take effect without a restart

Use the UI for day-to-day changes. If you must hand-edit models.json, the field table and the url rule are in CodeBuddy custom models. The official CodeBuddy docs say: "url field must be the complete interface path, typically ending with /chat/completions" (https://api.openai.com/v1 is listed as an incorrect example), so QCode's url is https://api.qcode.cc/openai/v1/chat/completions. CodeBuddy Code CLI, built on the same foundation, was tested with this full path as the url in models.json and connects (CodeBuddy Code 2.182.0, 2026-11-10). WorkBuddy has no field table of its own for that file, so add one row in the UI first and inspect the local file; do not copy a schema from a third-party blog.

Models to add first

All ids below were checked on 2026-11-10 against the live list on qcode.cc/models. Rates are not copied onto this page — treat qcode.cc/models as live (admins can change the service fee).

Model id Use
gpt-6.1-sol GPT tier for complex coding and professional work
gpt-5.6-terra Everyday GPT tier
glm-5.3 Zhipu flagship, common for Chinese office work
kimi-k3 Moonshot flagship, long context
deepseek-v4-pro DeepSeek flagship
qwen3.8-max Qwen flagship

Lighter siblings glm-5.3-flash, deepseek-v4-flash, deepseek-v4.1-flash, qwen3.8-flash and qwen3.7-plus are all on sale; the previous-generation glm-5.1 and kimi-k2.6 have been retired — entering them will fail. See Model Selection. Do not put a name that is missing from qcode.cc/models into Model name.

This path is OpenAI Chat Completions. Do not put ANTHROPIC_BASE_URL (https://api.qcode.cc/api) in the endpoint field — that prefix is for Claude Code / the Anthropic SDK.

Verify

First check that QCode's OpenAI path is reachable on your network (same probe as Endpoints & API Formats §4):

KEY="cr_your_key"

curl -s -o /dev/null -w '%{http_code}\n' -X POST \
  https://api.qcode.cc/openai/v1/chat/completions \
  -H "Authorization: Bearer $KEY"
# → 400 = path and key both work (empty body is expected)
# → 401 = bad key; 404 = wrong path prefix

In mainland China, repeat with host asia.qcode.cc. Then in WorkBuddy pick the new model and send ping. A reply means the integration works.

If the path probe succeeds but WorkBuddy still errors, re-check the previous section: the URL keeps /v1 and has no trailing slash, with Custom Protocol on it is the full path ending in /chat/completions, and the model id is character-exact.

FAQ

The model picker does not show the new row

Since 5.1.1 the official changelog describes hot-reloading of models.json — normally saving is enough. If the picker still misses it, fully quit WorkBuddy (do not leave it in the tray) and reopen; then check Settings → Model for the row.

Error code 4100 (custom model has no endpoint or API Key)

The China site's official error-code page says (translated): the selected custom model has no endpoint URL or API Key configured, so the request is not sent. The fix: click "go to configuration" in the error card and fill in the model's endpoint URL and API Key. Such a model appears greyed out in the model picker with a warning icon, and becomes usable again after you save, with no restart. The official model page adds that models pointing at the local machine (for example a local Ollama) need no API Key and are not affected.

I cannot find custom models on my phone

The official mobile model page says (translated): the mobile app does not offer an entry for configuring custom models; the list only shows the available models. Configure on desktop.

Do the China and international editions need separate setup?

Per the official docs the two editions keep their config in different files (China workbuddy/models.json, international ~/.workbuddy-ai/models.json), so configure the edition you installed. The QCode URL and key are filled in the same way in both.

HTTP 404

  1. Enter https://api.qcode.cc/openai/v1/chat/completions (with Custom Protocol off, https://api.qcode.cc/openai/v1 also works)
  2. With Custom Protocol on, only the full path works; …/openai/v1 alone is sent as typed, without /chat/completions
  3. Keep /v1; no trailing /
  4. Do not use https://api.qcode.cc/api (Anthropic Messages prefix)

HTTP 401

The key must start with cr_ and have no spaces. Confirm it at qcode.cc/dashboard. WorkBuddy stores the key locally; rotating the key means editing this custom-model row.

Odd or failed replies after filling the model name

Model name must be a live id on this endpoint such as gpt-5.6-terra, not the display label "GPT 5.6 Terra" and not another vendor's alias. Live list: qcode.cc/models or GET https://api.qcode.cc/openai/v1/models with your key — that list is the set WorkBuddy can use, and it contains no Claude.

Does WorkBuddy upload the chat to Tencent?

Official wording: in the custom-model path WorkBuddy is a transport; it forwards input to the third party you configured, and the API Key stays local. The official model page and Tencent's user agreement are authoritative. Requests that reach QCode can be inspected at probe.qcode.cc with the same key.

Can WorkBuddy replace Claude Code?

No. WorkBuddy is built for multi-agent office delivery; Claude Code / Codex are built for in-repo coding loops. Use both: office artifacts in WorkBuddy, code changes in Claude Code switched via CC Switch. One QCode key, one quota — see Billing.

Next steps

No QCode.cc API Key yet? Pick a plan at qcode.cc/pricing.

Get started with QCode

One API key for Claude Code, Codex and more — billed per token, per-model prices on qcode.cc/models

Enterprise →