Bring DeepSeek V4-Pro and DeepSeek V4-Flash (1M context, selectable thinking effort) into GitHub Copilot Chat — with visible chain-of-thought, tool calling, and a live account-balance status bar.
Install the Extension from VSCode Marketplace or search DeepSeek Family for GitHub Copilot Chat in VSCode Extension Store.
What's new in 1.0.1 — fixed compatibility with the latest DeepSeek V4 API: the Thinking Effort selector now uses the official
Low/High/Maxvalues, and legacyNone/medium/xhighconfigs are mapped automatically so requests todeepseek-v4-proanddeepseek-v4-flashwork again. See the changelog.

This extension is modeled after glm-for-copilot and adapted for the DeepSeek OpenAI-compatible API. Huge shout out to @KiwiGaze for his foundamental work and generous licensing.
Highlights
- 🧠 Selectable thinking effort — every model exposes a Low / High / Max selector in the Copilot Chat model picker. DeepSeek's
reasoning_contentis forwarded to VS Code's thinking UI. - 🚀 Two flagship models —
deepseek-v4-pro(1.6T MoE, 49B active) anddeepseek-v4-flash(284B MoE, 13B active). Both ship a 1M context window and 384K max output. - 🛠️ Full Copilot Chat integration — tool calling, multi-turn reasoning preservation (passes
reasoning_contentback across tool-call turns to avoid the 400), and propertool_choicehandling. - 🔐 Bring-your-own-key — your key lives in VS Code's SecretStorage (the OS keychain). Never written to
settings.jsonor Git. - 💰 Live account balance — a status-bar item polls
GET /user/balanceand surfaces your remaining credit; turns red whenis_available: false. - 🌐 Single endpoint — DeepSeek exposes one global base URL (
https://api.deepseek.com); no region/apiMode gymnastics needed.
Quick start
- Install the extension.
- Create a key at https://platform.deepseek.com/api_keys.
- Run DeepSeek: Set API Key from the Command Palette and paste the key.
- Open Copilot Chat, click the model picker, and pick DeepSeek V4-Pro or DeepSeek V4-Flash.
- (Optional) Use the per-model Thinking Effort selector to choose
Low,High, orMax.
Settings
| Setting | Default | Description |
|---|---|---|
deepseek-copilot.baseUrl |
"" |
Override the DeepSeek API base URL (empty = official endpoint). |
deepseek-copilot.maxTokens |
0 |
Max output tokens per request (0 = API default). |
deepseek-copilot.maxRetries |
3 |
Auto retries on HTTP 429 / 5xx (exponential backoff + Retry-After). |
deepseek-copilot.modelIdOverrides |
{} |
Remap picker model ids to API model ids. |
deepseek-copilot.customModels |
[] |
Add your own model entries to the picker. |
deepseek-copilot.debugLogging |
false |
Verbose logs to the DeepSeek output channel. |
deepseek-copilot.showUsageStatusBar |
true |
Show the balance status bar. |
deepseek-copilot.usageRefreshIntervalMinutes |
5 |
Refresh interval for the balance status bar (1–1440). |
Commands
| Command | Description |
|---|---|
DeepSeek: Set API Key |
Save your DeepSeek key to SecretStorage. |
DeepSeek: Get API Key |
Open platform.deepseek.com/api_keys. |
DeepSeek: Clear API Key |
Remove the stored key. |
DeepSeek: Open Settings |
Jump to the extension's settings. |
DeepSeek: Show Logs |
Reveal the DeepSeek output channel. |
DeepSeek: Refresh Usage |
Force-refresh the balance status bar. |
DeepSeek: Show Usage Details |
Open the balance detail webview. |
How thinking effort works
| Picker value | Wire body |
|---|---|
| Low | thinking: { type: "enabled" }, reasoning_effort: "low" |
| High | thinking: { type: "enabled" }, reasoning_effort: "high" |
| Max | thinking: { type: "enabled" }, reasoning_effort: "max" |
DeepSeek's default is High. Picking Max is recommended for hard coding and agentic tasks
(as Claude Code and OpenCode do automatically). To skip chain-of-thought entirely, set
thinking: disabled (legacy None configs are still mapped for compatibility).
See docs/deepseek-api.md for the full API reference.
Development
pnpm install
pnpm run compile # build to out/
pnpm run watch # rebuild on save
pnpm run typecheck # tsc --noEmit
pnpm run lint # eslint
pnpm test # vitest run
pnpm run package # produce a .vsix in dist/
Press F5 in VS Code to launch an Extension Development Host with the extension loaded.
License
MIT