# Add Router One to WorkBuddy as a custom model

> Markdown mirror of https://router.one/integrations/workbuddy for AI assistants and crawlers. Router One is a unified, OpenAI-compatible LLM API gateway.
> Last updated: 2026-10-09

Tencent WorkBuddy is an AI agent for office work. Besides its built-in models it takes custom models: per WorkBuddy's model configuration docs (checked 2026-10-09), you add one in Settings → Model, choose Custom as the provider and enter a URL, an API key and a model name. Enter https://api.router.one/v1/chat/completions as the URL and a Router One catalog ID as the model name, and that model's requests go to Router One on your key. A WorkBuddy custom model uses the OpenAI Chat Completions format, which is all Router One needs: every chat model in the catalog, Claude included, is served on POST /v1/chat/completions, so one key reaches the Claude, GPT, Gemini, Grok and DeepSeek chat models, and every request the gateway sends to a model is recorded in Dashboard → Logs (a streamed request that failed before any output may have no record). Checked against WorkBuddy's model configuration docs in Chinese and English and its changelog on 2026-10-09, when the latest version was 5.7.6 (released 2026-10-04).

## Create a dedicated key and pick exact model IDs

In Dashboard → API Keys, choose Create Key to make a key for WorkBuddy alone, and give it a maxSpend cap. WorkBuddy's Chinese model configuration docs warn that use can keep triggering model calls and advise watching your spending with the third party; on Router One the cap is the hard stop, and a dedicated key lets you filter Dashboard → Logs down to WorkBuddy's requests. Then copy the chat model IDs you want from /models, such as anthropic/claude-sonnet-5, openai/gpt-5.6-sol, google/gemini-3.5-flash or deepseek-v4.1-flash, exactly as listed, vendor prefix included where the ID has one. The Custom dialog takes one model name, so add one custom model for each Router One ID you want to pick in WorkBuddy. Image-generation IDs such as gpt-image-2 are not chat models; leave them out.

## Add Router One as a Custom model: the URL is the full /v1/chat/completions path

In WorkBuddy, open Settings → Model and add a custom model (添加模型 in the Chinese interface). For the provider, choose Custom (自定义 / Custom), which WorkBuddy's docs name for a model service that is not in the provider list. Enter https://api.router.one/v1/chat/completions as the URL, paste the dedicated key as the API key and enter an exact catalog ID as the model name, for example anthropic/claude-sonnet-5. In the advanced settings, set the capability flags as described below, leave Custom Protocol off and leave Input and Output on the provider default, then save. Per WorkBuddy's docs, the configuration is saved when you click Save, and the model selector in the chat interface shows a custom model group, so pick the model there. The finished dialog:

`workbuddy-custom-model`

```text
# WorkBuddy：设置 → 模型 → 添加模型 → 提供商：自定义 / Custom
# WorkBuddy: Settings → Model → add a model → Provider: Custom
提供商 / Provider:            自定义 / Custom
接口地址 / URL:               https://api.router.one/v1/chat/completions
API KEY:                      sk-your-router-one-key
模型名称 / Model name:        anthropic/claude-sonnet-5

# 高级配置 / Advanced settings（按 /models 详情页 / per the model page）
工具调用 / Tool calling:      勾选 / on
图片输入 / Image input:       勾选 / on
自定义协议 / Custom Protocol: 关闭 / off
输入、输出 / Input, Output:   使用提供商默认值 / provider default
```

## The URL, Custom Protocol and the OpenAI format

Per WorkBuddy's model configuration docs (checked 2026-10-09), Custom Protocol is a switch in the advanced settings. Off, the default, WorkBuddy uses the standard /chat/completions path and validates and auto-completes the endpoint URL; on, it sends requests to the URL exactly as entered and skips both. The docs describe it for model services on a non-standard URL path, for example behind a gateway or proxy. Router One is a gateway, but its Chat Completions endpoint is on the standard path, so leave the switch off and enter the full URL with /v1 in it, https://api.router.one/v1/chat/completions; the add-model dialog pictured in WorkBuddy's Chinese docs shows the same full form as its example and is marked as supporting OpenAI-compatible APIs only. That covers every chat model in the catalog: Router One serves Claude, GPT, Gemini, Grok and DeepSeek IDs alike on POST /v1/chat/completions. Router One's Messages endpoint, POST https://api.router.one/v1/messages, is for clients built on the Anthropic format, such as Claude Code; a WorkBuddy custom model does not use it.

## Capability flags, Input and Output

Per WorkBuddy's docs, choosing a standard provider from its list fills in capability flags such as tool calling, image input and reasoning mode for you; with Custom, set them yourself in the advanced settings, from the model's page on /models:

- Tool calling (工具调用): tick it when the model page lists tool calling. A WorkBuddy custom model uses the /chat/completions path, so mind OpenAI's endpoint rules for GPT-6 IDs: per OpenAI's GPT-6 guide (checked 2026-10-09), GPT-6 Astra and GPT-6.1 Sol call tools only through the Responses API and do not accept reasoning effort none, and GPT-6 Sol calls functions on Chat Completions only with reasoning effort none. For WorkBuddy tasks that need tools, pick a model these rules do not restrict and whose page lists tool calling, such as anthropic/claude-sonnet-5.
- Image input (图片输入): tick it only when the model page lists image input; deepseek-v4-flash, for example, is text-only.
- Reasoning mode (推理模式): the model pages carry no tag for it, so tick it only for a model that reasons.
- Input and Output (输入, 输出): both start on the provider default (使用提供商默认值). If you set Input, keep it at or below the context window on the model page; set Output only if you want a cap of your own.

## Costs: custom-model requests bill to your Router One key

WorkBuddy's Chinese model configuration docs (checked 2026-10-09) settle this in their note on credit consumption: all costs a custom model incurs, tokens and subscriptions alike, are paid by you to the third party, which for these models is Router One; the English docs page does not discuss costs. On Router One, requests on a model that your plan tier lists draw that tier's allowance, and once it is used up they bill the wallet; requests on every other model bill the wallet per token at the rates on the model's page, and /pricing lists each plan's models and allowance. The Chinese docs also note that every turn sends the whole current context to the model, so the larger the context, the more input tokens each request carries. Filter Dashboard → Logs by the WorkBuddy key: each record shows the model, tokens, cost, status, total time and, for streamed requests that produced output, time to first token (TTFT).

## Which model ID should WorkBuddy send?

Copy the exact model ID from /models, preserving case, hyphens, and version suffixes; do not substitute a display name. Open its detail page and match the supported API endpoints, context window, and capabilities such as tool calling to the provider and features selected in WorkBuddy. A catalog listing does not mean the client can use every feature of that model. Give each client or application a dedicated API key with a maxSpend cap.

## Which API protocol is WorkBuddy using?

OpenAI-compatible describes an interface format; it does not make Chat Completions (/v1/chat/completions), Responses (/v1/responses), and Anthropic Messages (/v1/messages) interchangeable. Check the installed client version, provider configuration, and actual request path against the model detail page and API compatibility fact sheet. A successful plain-text chat does not establish support for hosted tools, conversation state, or file-editing features.

## Verify the WorkBuddy call in your request trace

Send a simple text request from WorkBuddy, then match its trace in Dashboard → Logs by time, model, and request_id: tokens, cost, latency, and status. Next, test streaming, tool calls, and multi-turn history separately. For failures, retain the actual request path, full error message, and request_id. If there is no matching log, either the request never reached the gateway (client configuration or connectivity) or the gateway refused it before calling a model — a 401 for the key, a 402 for funds, a 429 from your key's or account's limits, or a 400 or 404 for the model ID or endpoint; a streamed request that failed before any output may have no log either. The status and error message the client received tell which, so check them before attributing the error to the gateway or upstream.

## FAQ

### Does WorkBuddy charge for a custom model?

Per WorkBuddy's Chinese model configuration docs (checked 2026-10-09), all costs a custom model incurs, tokens and subscriptions alike, are paid by you to the third party; for a Router One model, that is your Router One account. A request on a model your plan tier lists draws that tier's allowance; every other request, and any request past the allowance, bills your wallet per token at the rates on the model's page. Give WorkBuddy its own key with a maxSpend cap, and check what it spends in Dashboard → Logs and Dashboard → Usage.

### Can WorkBuddy use Claude through Router One?

Yes. A WorkBuddy custom model uses the OpenAI Chat Completions format, and Router One serves Claude-family IDs such as anthropic/claude-sonnet-5 on POST /v1/chat/completions, alongside GPT, Gemini, Grok and DeepSeek IDs. Keep the same URL and enter the Claude ID as the model name. Router One's Messages endpoint, POST https://api.router.one/v1/messages, is for clients built on the Anthropic format, such as Claude Code.

### Should the URL be https://api.router.one/v1 or the full /v1/chat/completions?

Enter the full https://api.router.one/v1/chat/completions. Per WorkBuddy's docs (checked 2026-10-09), with Custom Protocol off WorkBuddy uses the standard /chat/completions path and validates and auto-completes the endpoint URL; Router One's endpoint is on that path, and the dialog pictured in WorkBuddy's Chinese docs uses the same full form as its example. So keep Custom Protocol off and keep /v1 in the URL.

### How is WorkBuddy's setup different from CodeBuddy's, and where is the configuration saved?

Both come from Tencent. CodeBuddy Code and CodeBuddy IDE are coding tools that read custom models from models.json files, covered in the CodeBuddy guide; WorkBuddy, an AI agent for office work, adds custom models in Settings → Model. Per WorkBuddy's Chinese docs (checked 2026-10-09), it keeps the configuration, your API key included, only locally in workbuddy/models.json, and per its docs in both languages, custom models configured earlier through ~/.codebuddy/models.json keep working and can be viewed, edited or deleted in the interface. When you stop using a key, delete the custom model in WorkBuddy and revoke the key in Dashboard → API Keys.

### Which models can WorkBuddy use through the gateway?

Choose a current catalog model that supports both the endpoint and the features WorkBuddy uses. Check /models and the model detail page for the exact ID, current rates, and capabilities; a family name such as GPT or Claude is not a compatibility guarantee. A client that lists a model has only read the ID, from its own configuration or from GET /v1/models; verify an actual request too.

### Models are listed, but requests fail with 400 or 404. What should I check?

Record the actual request path and error message, then check the exact model ID. A 400 can indicate invalid parameters, unsupported tools, or a model/endpoint mismatch; a 404 can indicate an incorrect path or missing resource, so it does not by itself establish that a model was retired. If the error says must be called via, use the named endpoint or select a model supported on the current endpoint. Do not add or remove /v1 or /chat/completions across all clients indiscriminately.

### Does this work from Mainland China?

Yes. The gateway is reachable from Mainland China without a VPN, and the configuration is identical to the global setup.

### How do I debug a 401/402/403/429?

Start from what your client received: the status, the error body and the X-Request-ID header. A 401 (missing, unknown, revoked or expired key), a 402 (wallet balance, or the key's maxSpend cap) and a 429 from your key's or account's rate limits are refused before any model is called, so they never appear in Dashboard → Logs — nor does a 400 or 404 for a wrong model ID or endpoint. For 401, check that the full key is sent and still active in Dashboard → API Keys; for 402, top up or raise the key's maxSpend; for a 403, keep the full error body. For 429, back off and retry later; a 429 that does show up in Logs came back from upstream after the gateway's retries. Keep the request_id and follow the error-codes reference.

## See also

- All integration guides: https://router.one/integrations
- Debug API errors in WorkBuddy: https://router.one/llm-api-error-codes
- API compatibility: endpoints and supported features: https://router.one/facts/api-compatibility.md
- Responses API setup and limits: https://router.one/codex-responses-api
- Cline setup: https://router.one/integrations/cline
- Aider setup: https://router.one/integrations/aider
- CodeBuddy setup: models.json custom models: https://router.one/integrations/codebuddy
- Tool calling through the gateway: https://router.one/llm-tool-calling
- Connection and /v1 path troubleshooting: https://router.one/api-connection-troubleshooting
- WorkBuddy docs: model configuration: https://www.workbuddy.ai/docs/workbuddy/From-Beginner-to-Expert-Guide/Function-Description/Model
- WorkBuddy docs in Chinese: model configuration, costs and local storage: https://www.workbuddy.cn/docs/workbuddy/From-Beginner-to-Expert-Guide/Function-Description/Model
- WorkBuddy changelog: https://www.workbuddy.ai/docs/workbuddy/Changelog
- LLM API gateway overview: https://router.one/llm-api-gateway
- OpenAI-compatible API: https://router.one/openai-compatible-api
- API docs: https://router.one/docs
- Canonical page: https://router.one/integrations/workbuddy
- Models and per-model token rates: https://router.one/models (markdown: https://router.one/models.md)
- Pricing: https://router.one/pricing
- API docs (markdown): https://router.one/docs.md
- Company facts: https://router.one/facts/company.md
