Updated 2026-06-18
DeepSeek WorkBuddy setup: use the official `.codebuddy/models.json` contract and fix the UTF-8 BOM trap early
DeepSeek's official WorkBuddy/CodeBuddy integration page is useful because it documents the exact local model file instead of assuming desktop users will infer a provider shape from unrelated OpenAI examples. The page shows where `.codebuddy/models.json` lives, which DeepSeek endpoint WorkBuddy should call, how to register V4 Pro and V4 Flash, and why the file must be saved as UTF-8 without BOM. That makes this a strong long-tail page for desktop-agent setup searches that need specific, reproducible wiring rather than generic API advice.
1. What DeepSeek officially supports in WorkBuddy/CodeBuddy
DeepSeek describes WorkBuddy/CodeBuddy as an AI agent and coding assistant that supports custom models through local configuration files. The important part for setup is that DeepSeek now publishes a concrete desktop-app integration path instead of leaving users to stitch together community screenshots.
This page is especially useful for Windows-heavy workflows because the official docs call out both user-level and project-level configuration paths, then pair them with a direct API verification step.
Sources checked
- DeepSeek official WorkBuddy/CodeBuddy integration guide - Primary source for config paths, model JSON, and troubleshooting notes.
2. Put the config file in the right place before debugging anything else
DeepSeek's page gives two configuration scopes. For a user-wide setup, the file lives at `C:\Users\<your-username>\.codebuddy\models.json`. For a project-only setup, the file lives at `<your-project>\.codebuddy\models.json`.
That scope boundary matters because many desktop-app setup failures are really file-location failures. If WorkBuddy cannot see the file, model quality and prompt wording are irrelevant.
| Scope | Path | When to use it |
|---|---|---|
| User-level | `C:\\Users\\<your-username>\\.codebuddy\\models.json` | Use when you want the same DeepSeek models available across projects |
| Project-level | `<your-project>\\.codebuddy\\models.json` | Use when only one repo or workspace should expose the custom DeepSeek models |
3. Register DeepSeek V4 Pro and Flash with the official chat-completions endpoint
DeepSeek's model block is specific: it uses `https://api.deepseek.com/v1/chat/completions`, `apiKey` from `${DEEPSEEK_API_KEY}`, `supportsToolCall: true`, and `supportsImages: false`.
The same example defines `relatedModels` so WorkBuddy can treat Flash as the lighter route and Pro as the reasoning route. That is a useful desktop-app pattern because it preserves the site's recurring Pro-versus-Flash distinction without implying that both models are separate products on this site.
{
"models": [
{
"id": "deepseek-v4-pro",
"name": "DeepSeek V4 Pro",
"vendor": "DeepSeek",
"url": "https://api.deepseek.com/v1/chat/completions",
"apiKey": "${DEEPSEEK_API_KEY}",
"maxInputTokens": 128000,
"maxOutputTokens": 8192,
"supportsToolCall": true,
"supportsImages": false,
"relatedModels": {
"lite": "deepseek-v4-flash",
"reasoning": "deepseek-v4-pro"
}
},
{
"id": "deepseek-v4-flash",
"name": "DeepSeek V4 Flash",
"vendor": "DeepSeek",
"url": "https://api.deepseek.com/v1/chat/completions",
"apiKey": "${DEEPSEEK_API_KEY}",
"maxInputTokens": 128000,
"maxOutputTokens": 8192,
"supportsToolCall": true,
"supportsImages": false
}
],
"availableModels": [
"deepseek-v4-pro",
"deepseek-v4-flash"
]
}Sources checked
- DeepSeek official WorkBuddy/CodeBuddy integration guide - Provides the exact model JSON, endpoint, and troubleshooting hints.
4. Avoid the UTF-8 BOM trap and restart the app fully
One of the most useful details on the official page is not about models at all. DeepSeek warns that some desktop builds fail to read local model configuration files saved as UTF-8 with BOM.
That means a syntactically correct `models.json` can still fail if the encoding is wrong. Save the file as UTF-8 without BOM, then fully quit and relaunch WorkBuddy/CodeBuddy before assuming the provider block is broken.
5. Verify the key separately when the UI is unclear
DeepSeek's page includes a direct API test using the same endpoint and a Flash model call. That is the right troubleshooting order when the desktop selector behaves ambiguously: validate the credential and model name first, then return to the GUI.
The page also warns that `${DEEPSEEK_API_KEY}` may show literally in the UI if the desktop app does not expand environment variables from the current launch context. In that case, restart from a terminal where the variable exists or paste the actual key locally.
$env:DEEPSEEK_API_KEY="<your DeepSeek API Key>"
curl https://api.deepseek.com/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer $env:DEEPSEEK_API_KEY" -d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"hi"}],"stream":false}'6. Where this guide fits on a DeepSeek-first site
This is a support page for a desktop agent integration. It does not imply that WorkBuddy or CodeBuddy are sold here, and it should not be turned into a new plan card.
The correct user path is to learn the official desktop-model configuration here, then visit `/pricing` only if you need an in-stock DeepSeek API key route. For more terminal-oriented setups, compare `/guides/deepseek-pi-coding-agent`, `/guides/deepseek-opencode-setup`, and `/guides/deepseek-github-copilot-cli`.
FAQ
Where should I put the DeepSeek config file for WorkBuddy or CodeBuddy?
DeepSeek's official guide uses `C:\Users\<your-username>\.codebuddy\models.json` for user-wide setup or `<your-project>\.codebuddy\models.json` for project-only setup.
Which endpoint should WorkBuddy use for DeepSeek?
Use `https://api.deepseek.com/v1/chat/completions`, which is the official endpoint in DeepSeek's WorkBuddy/CodeBuddy model JSON example.
Why does DeepSeek mention UTF-8 without BOM for WorkBuddy?
Because some desktop versions may fail to read local model configuration files saved with a UTF-8 BOM header even when the JSON itself is valid.
Which DeepSeek model names should WorkBuddy use?
Use `deepseek-v4-pro` and `deepseek-v4-flash`, exactly as shown in the official DeepSeek WorkBuddy/CodeBuddy guide.
Does this guide mean WorkBuddy is a purchasable plan on this site?
No. This page documents a DeepSeek integration path. Purchasable products still depend on actual stocked inventory on `/pricing`.
The practical WorkBuddy rule is simple: put the file in the right `.codebuddy` location, use the official DeepSeek chat-completions endpoint, save the JSON as UTF-8 without BOM, and restart the app before chasing deeper debugging theories.
Related model comparisons
Continue from this guide into structured DeepSeek-first comparison pages with model tables, routing advice, and pricing context.