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.
Need an API key? Sign up →Endpoints & base URLs →
On This Page
- At a glance
- Prerequisites
- Add QCode in the UI (recommended)
- Models to add first
- Verify
- FAQ
- The model picker does not show the new row
- Error code 4100 (custom model has no endpoint or API Key)
- I cannot find custom models on my phone
- Do the China and international editions need separate setup?
- HTTP 404
- HTTP 401
- Odd or failed replies after filling the model name
- Does WorkBuddy upload the chat to Tencent?
- Can WorkBuddy replace Claude Code?
- Next steps
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; aclaude-…id on the OpenAI endpoint returnsmodel_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 andBASE_URLrules: Endpoints & API Formats
Add QCode in the UI (recommended)¶
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.
- China edition: start WorkBuddy → account menu (bottom left) → Settings → Model. International edition:
Avatar > System Settings > Models - Under custom models, Add model
- Provider: Custom
- Fill the table below, save, then pick the new model in the chat model picker
- 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/v1also works (the same value asOPENAI_BASE_URLin 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¶
- Enter
https://api.qcode.cc/openai/v1/chat/completions(with Custom Protocol off,https://api.qcode.cc/openai/v1also works) - With Custom Protocol on, only the full path works;
…/openai/v1alone is sent as typed, without/chat/completions - Keep
/v1; no trailing/ - 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¶
- Endpoints & API Formats — three protocols, three domains,
BASE_URLmap - CodeBuddy Custom Models — the coding product from the same team:
models.jsonfields and the Responses setup - CC Switch Setup — switch the same key between Claude Code and Codex
- Model Selection — which tier to use day to day
- Billing — plans and quota
- Live ids and rates: qcode.cc/models
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