Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>copilot-agent-deepseek-customNew to Visual Studio Code? Get it now.
copilot-agent-deepseek-custom

copilot-agent-deepseek-custom

Mindock

|
15 installs
| (0) | Free
Use DeepSeek V4 Pro, Flash, Flash Vision Exp, and Bailian-hosted DeepSeek V4 Pro in Copilot Chat — with per-model endpoint overrides (baseUrl, API key, temperature, top-p, max tokens), native vision, Vision Proxy, reasoning, and agent tools.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

copilot-agent-deepseek-custom

Gitee repository

English | 简体中文

Run GitHub Copilot's agent mode on DeepSeek V4 — official API or Bailian-hosted — with per-model endpoint overrides and full configuration freedom.

DeepSeek V4 Flash, Flash Vision Exp, and Pro in the Copilot Chat model picker, alongside the Thinking Effort menu

A customized fork of the open-source DeepSeek V4 for Copilot Chat extension, rebuilt for the most efficient agent-driven development. Keep GitHub Copilot's mature agent mode, tool calling, and polished UI — then run it on DeepSeek V4 Flash, Pro, Flash Vision Exp, or Bailian-hosted DeepSeek V4 Pro. Mix the official DeepSeek endpoint with Bailian (Qwen ecosystem) endpoints per model, with native vision or Vision Proxy, thinking mode, per-model endpoint overrides, and your own API key.

Why this extension?

  • The most efficient agent stack. GitHub Copilot's agent loop — file edits, terminal, search, Git, tests — driven by DeepSeek's price-performance. Agent development without sacrificing anything.
  • Official DeepSeek or Bailian-hosted — both, side by side. Use DeepSeek's official API for one model and a Bailian-hosted DeepSeek (Qwen ecosystem) endpoint for another, all in the same picker.
  • Don't replace Copilot — power it up. No new sidebar, no new chat UI to learn. Just a new model in the picker you already use.
  • Agent mode, tool calling, instructions, MCP, skills — all of it still works. Copilot's entire stack, now running on DeepSeek.
  • Two ways to work with images. Flash Vision Exp receives image attachments natively. Flash and Pro keep their existing text context while a configurable Vision Proxy turns images into descriptions.
  • BYOK, pay DeepSeek directly. Your API key, your bill, your rate limits. Stored in the OS keychain, never on disk.
  • Per-model endpoint overrides. Point each model at its own baseUrl and API key — mix the official DeepSeek endpoint with Bailian-hosted models in one picker.

Features

Four DeepSeek V4 models in the model picker

Flash, Pro, the experimental Flash Vision Exp, and Bailian-hosted DeepSeek V4 Pro appear alongside other models in Copilot Chat's model selector — official DeepSeek and Bailian-hosted models coexist in one picker. All support long context, tool calling, and configurable thinking effort.

Per-model endpoint overrides

Each entry in deepseek-v4-custom.modelIdOverrides maps a VS Code model ID (vscodeModelId) to an API model ID (apiModelId) and can carry its own baseUrl, apiKey, temperature, topP, and maxTokens. Leave a value empty to fall back to the global baseUrl and API key.

Any non-empty vscodeModelId registers a new model in the picker — even one that isn't one of the four built-ins. One underlying model can therefore appear several times with different temperatures, endpoints, or keys. Manage the list visually with DeepSeek V4 Custom: Configure Model Overrides from the Command Palette, or edit deepseek-v4-custom.modelIdOverrides directly.

An override entry that cannot be resolved (empty vscodeModelId, or an apiModelId matching no registered model) is a user-fixable configuration error: the extension shows an error popup and the DeepSeek models stay hidden from the picker until the entry is fixed.

Custom: high-freedom configuration

"Custom" means every layer is configurable — no hidden hard-coding:

  • Endpoints & keys — one global baseUrl + API key, or per-model baseUrl/apiKey in deepseek-v4-custom.modelIdOverrides.
  • Sampling parameters — per-model temperature (0–2), topP (0–1), maxTokens.
  • Vision — native vision model or a configurable Vision Proxy (any VS Code model or OpenAI/Anthropic-compatible endpoint) with a custom prompt.
  • Thinking — per-model reasoning effort, adjustable right from the model picker.
  • Model registry — bring your own model by adding a modelIdOverrides entry with its API model ID. A new vscodeModelId shows up as its own entry in the picker, so you can expose the same underlying model at multiple temperatures or endpoints side by side.

Native Vision and Vision Proxy

Choose the image path that fits the conversation:

  • DeepSeek V4 Flash Vision Exp handles image attachments as native multimodal input, without Vision Proxy. It is exposed as a separate experimental model and does not silently fall back when the configured API endpoint does not support its model ID.
  • DeepSeek V4 Flash and Pro use Vision Proxy: an image-capable model first describes each attachment, then the main DeepSeek model receives the description with the conversation. Auto mode selects Flash Vision Exp when available, while an explicitly configured VS Code model or API endpoint remains supported.

Avoid switching models mid-chat just to inspect an image if DeepSeek prefix-cache reuse matters. Start the conversation with Flash Vision Exp for native vision, or stay on Flash/Pro and let Vision Proxy preserve the main model choice.

Dropping an image into Copilot Chat and DeepSeek responding to it via the vision proxy

Thinking Mode with Reasoning Effort Control

Full support for DeepSeek V4's reasoning_content. Flash, Pro, and Flash Vision Exp offer none (off), low (light reasoning), high (balanced, default), and max (deep reasoning for hard agent tasks), matching the effort levels implemented by the official API.

Inherits Every Copilot Capability

Because this plugs into Copilot's native provider API, you get the full stack for free:

  • Agent mode — autonomous multi-step tasks
  • Tool calling — file edits, terminal, workspace search, Git, tests
  • Instructions & skills — all your .instructions.md, AGENTS.md, and skills just work
  • Prompt caching stats — DeepSeek's cache hit rate logged in the output channel so you can see the savings

DeepSeek V4 Pro running Copilot's agent mode with tool calls

Prompt Hub: Share and Search Prompts

Search, download, and share prompts with the VEAP prompt service without leaving Copilot Chat:

  • Select Prompt — $(book) buttons in the Chat view title bar and (VS Code 1.123+) the input status toolbar. A searchable QuickPick over public prompts (/prompt/searchPrompt, 300 ms debounce, paged). Picking one prefills the chat input with the identity instruction + content without auto-sending; press Enter when ready.
  • Share Prompt — $(cloud-upload) buttons in the same locations. A panel prefilled with your clipboard; edit the title / identity instruction / content, toggle public visibility, and submit (/prompt/sharePrompt). On success the panel closes silently; only failures show a message.

Secure by Default

The global API key lives in VS Code's SecretStorage (OS keychain on macOS / Windows / Linux). Never in settings.json, never in your Git history. Per-model override entries may optionally carry a plain-text apiKey in deepseek-v4-custom.modelIdOverrides when a model needs its own credential; leave it empty to fall back to the stored global key.

Zero Runtime Dependencies

Pure VS Code API + Node.js built-ins. No Python, no Docker, no local proxy server to babysit.

Getting Started

Prerequisites

  • VS Code 1.116 or later. This extension relies on non-public Copilot Chat APIs that may break on newer VS Code versions — report an issue if you hit one.
  • GitHub Copilot subscription (Free / Pro / Enterprise — the free tier works)
  • DeepSeek API key from platform.deepseek.com, or a compatible provider token when using a custom deepseek-v4-custom.baseUrl

Installation

Install from the registry used by your editor:

  1. Microsoft VS Code — install from VS Code Marketplace.
  2. Editors that use Open VSX — install from Open VSX.

Usage

  1. Run DeepSeek V4 Custom: Set API Key from the Command Palette (Cmd+Shift+P)
  2. Paste your key or compatible provider token (official DeepSeek keys usually start with sk-)
  3. Open Copilot Chat, click the model picker, and choose DeepSeek V4 Flash, DeepSeek V4 Pro, DeepSeek V4 Flash Vision Exp, or DeepSeek V4 Pro (Bailian)
  4. That's it — chat away

Optional: run DeepSeek V4 Custom: Configure Model Overrides to add, edit, or remove per-model override entries visually.

Models

Model Image Handling Thinking Effort Best For
DeepSeek V4 Flash Vision Proxy none / low / high / max Fast everyday coding, quick edits, cheap iteration
DeepSeek V4 Pro Vision Proxy none / low / high / max Complex refactors, agent tasks, deep reasoning
DeepSeek V4 Flash Vision Exp Native image input none / low / high / max Direct, experimental image understanding with fast reasoning
DeepSeek V4 Pro (Bailian) Vision Proxy none / low / high / max Bailian-hosted DeepSeek V4 Pro; configure its baseUrl and API key per model

All four support optional thinking mode, tool calling, and 1M token context. Flash Vision Exp is experimental; custom API endpoints and compatible providers must expose its configured model ID to use it directly.

Settings

Setting Default Description
deepseek-v4-custom.baseUrl https://api.deepseek.com Global API endpoint — change for self-hosted / proxied deployments
deepseek-v4-custom.promptHub.baseUrl http://localhost:8087 Base URL of the prompt share/search service used by DeepSeek V4 Custom: Select Prompt and DeepSeek V4 Custom: Share Prompt
deepseek-v4-custom.promptHub.machineCode (empty) Machine code sent with prompt share/search requests; omitted from the request body when empty
deepseek-v4-custom.apiKey (empty) Global fallback API key stored in plain text (CI/automation). Prefer the SecretStorage key set via DeepSeek V4 Custom: Set API Key
deepseek-v4-custom.maxTokens 0 Global max output tokens (0 = no limit). Useful for cost control
deepseek-v4-custom.modelIdOverrides prefilled model list Per-model overrides. Each entry maps a VS Code model ID (vscodeModelId) to an API model ID (apiModelId) and can optionally set its own baseUrl, apiKey (plain text in settings), temperature (0–2), topP (0–1), and maxTokens. Any non-empty vscodeModelId registers a new picker entry. Empty values use the global settings; per-model maxTokens: 0 means no limit. Manage with DeepSeek V4 Custom: Configure Model Overrides
deepseek-v4-custom.debugMode minimal Diagnostic mode: minimal for token usage only, metadata for privacy-preserving logs, or verbose for full request dumps and pipeline snapshots under extension global storage. Full dumps may include sensitive prompt text, tool schemas, file snippets, and image descriptions. Use DeepSeek V4 Custom: Open Request Dumps Folder to open the dump location
deepseek-v4-custom.visionModel (auto) Vision Proxy used by Flash and Pro. Auto mode selects Flash Vision Exp when available; configure another VS Code model or API endpoint with DeepSeek V4 Custom: Configure Vision Proxy
deepseek-v4-custom.visionPrompt (built-in) Prompt used by Flash/Pro's Vision Proxy to describe image attachments. It does not affect native Flash Vision Exp requests
deepseek-v4-custom.experimental.stabilizeToolList false Experimental. Tries to pre-activate VS Code/Copilot virtual tools so the DeepSeek API tools parameter is more complete and stable across turns. May improve context-cache hit rate when enabled tools change between turns. Can increase input tokens because more function definitions may be included; cache-hit input tokens are cheaper but still count toward usage. Usually leave it off with 64 or fewer enabled tools unless the tool list still changes across turns; do not enable it with more than 128 enabled tools

Thinking Effort is configured from Copilot Chat's model picker for each DeepSeek model.

Example settings.json override for a Bailian-hosted model:

{
  "deepseek-v4-custom.modelIdOverrides": [
    {
      "vscodeModelId": "deepseek-v4-pro-bailian",
      "apiModelId": "vanchin/deepseek-v4-pro-0813",
      "baseUrl": "https://ws-hjupuk4sp6qrwi05.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
      "apiKey": "sk-ws-...",
      "temperature": 0.7,
      "topP": null,
      "maxTokens": 4096
    }
  ]
}

The same underlying model can be registered under multiple custom IDs, each with its own sampling parameters:

{
  "deepseek-v4-custom.modelIdOverrides": [
    {
      "vscodeModelId": "deepseek-v4-pro-self-0.2",
      "apiModelId": "deepseek-v4-pro",
      "temperature": 0.2
    },
    {
      "vscodeModelId": "deepseek-v4-pro-self-0.8",
      "apiModelId": "deepseek-v4-pro",
      "temperature": 0.8
    }
  ]
}

Both entries map to the deepseek-v4-pro API model and appear as two separate picks with different temperatures.

Audit Boundaries

The only places the extension catches errors are these documented boundaries. Inside each boundary the extension may log to the output channel or show a popup, and the original error is always rethrown:

  • Command execution boundary — workbench.action.chat.open used to prefill the chat input.
  • Network boundary — every fetch to the DeepSeek API and to the Prompt Hub service.
  • Prompt Hub QuickPick boundary — typing-triggered searches report failures as an in-picker status item (no popup); explicit actions (initial open, next page, pick) show a popup. Failures are also written to the output channel.
  • Best-effort boundary — reading the clipboard to prefill the share panel: on failure a warning is shown and the panel opens with an empty form.

Everything else throws directly: user-fixable errors show a readable popup and rethrow; low-level technical errors are written to console.error and rethrow.

Manual Testing

The Prompt Hub feature ships without automated tests; verify these flows by hand:

  1. Buttons appear in the Chat view title bar, and on VS Code 1.123+ also at the right end of the input status toolbar (same row as Set Permissions; may collapse into the overflow menu when space is tight).
  2. Search: typing debounces 300 ms; "Next page…" loads the next page until hasNext=false.
  3. Pick: the prompt prefills the chat input and is not sent automatically.
  4. Share: the clipboard prefills the panel; success closes the panel silently; failure keeps the panel open, re-enables the submit button, and shows a popup.
  5. Errors: explicit search actions and share failures show a popup; typing-triggered search failures show only an in-picker status item.
  6. Compatibility: on VS Code < 1.123 the input-status-toolbar buttons are absent and nothing errors.

Compared to alternatives

This extension Local proxy (e.g. LiteLLM) Standalone DeepSeek extensions
Works inside Copilot Chat ✅ ✅ ❌ separate UI
Agent mode, tools, skills ✅ ✅ ⚠️ reimplemented
Vision support ✅ native + proxied ❌ ❌
No extra process to run ✅ ❌ ✅
One-click install ✅ ❌ ✅
API key in OS keychain ✅ ❌ ⚠️ varies

Credits

This extension is a fork of the open-source project DeepSeek V4 for Copilot Chat by Vizards. Sincere thanks to the original authors for their excellent work. The upstream project is released under the MIT license.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft