DeepSeek in VS Code: connecting through Cline, Kilo Code and Continue

We connect DeepSeek to Cline, Kilo Code and Continue with a single key, choose between Flash and Pro, and estimate the cost of a working day with an agent in the editor.

5 min · · IDE · models

DeepSeek models attract with a low price, and the most frequent question after "how much does it cost" is how to connect the DeepSeek API in VS Code. The short answer: extensions that support an OpenAI-compatible provider (Cline, Kilo Code, Continue) work with any such API, so it is enough to give the gateway address, the key and the model name. Below is the step-by-step setup, the choice between DeepSeek models, and a spend estimate for a typical working day.

The address for all examples, unless noted otherwise: https://api.zukko.pro/v1, a key like fetch_.... Prices as of October 18, 2026; the list of models and prices is GET https://api.zukko.pro/v1/models.

Which DeepSeek models are available

ModelInput / output, $ per 1MContextImage inputStrength index
deepseek-v4.1-flash0.013 / 0.0381Mno39
deepseek-v4-flash0.025 / 0.0631Mno35
deepseek-v4-pro0.075 / 0.2251Myes36

The strength index is the Intelligence Index (Artificial Analysis); it is a guide, not a prediction of how a model will do on your code. deepseek-v4-pro costs more but accepts images (interface screenshots, diagrams). For ordinary code work without images, check deepseek-v4.1-flash first: it is the cheapest in the line.

About Qwen and Kimi from the query. Qwen is in the catalog: qwen3.8-flash (0.038 / 0.075) and qwen3.8-max (0.088 / 0.238, accepts images). There are no Kimi models in the list as of October 18, 2026; check the current list with GET /v1/models. Qwen connects exactly the same way, only the model name line changes.

Step 0. Key and check

Create a key on the keys page and test it before configuring the editor:

bash
curl https://api.zukko.pro/v1/chat/completions \
  -H "Authorization: Bearer fetch_your_key" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v4.1-flash","messages":[{"role":"user","content":"Hello"}]}'

A response with choices means the key and balance are fine. On 401 check the key; on 402 top up the balance; on 404 with model_not_found fix the model name.

Cline

Cline connects as an OpenAI-compatible provider:

  1. Open the Cline panel and click the gear (Settings).
  2. API Provider: OpenAI Compatible.
  3. Base URL: https://api.zukko.pro/v1.
  4. API Key: your fetch_... key.
  5. Model ID: deepseek-v4.1-flash.
  6. If the model settings have a context window field, enter 1000000.
  7. Save and send a short message to test.

Item names may change slightly between versions; go by the meaning of the fields. More: Cline: connecting.

Kilo Code

Kilo Code is set up like Cline: the OpenAI Compatible provider, Base URL https://api.zukko.pro/v1, the key and a manually typed Model ID deepseek-v4.1-flash. The rule is the same: for OpenAI Compatible the address has /v1, for the Anthropic provider it does not. If you get confused, open the VS Code extensions documentation.

Roo Code, which older guides often mention, was shut down on May 15, 2026 according to its documentation, so for new installs use Cline or Kilo Code.

Continue

Continue is configured by a config.yaml file. For an OpenAI-compatible server the Continue documentation specifies provider: openai and apiBase:

bash
models:
  - name: DeepSeek V4.1 Flash
    provider: openai
    model: deepseek-v4.1-flash
    apiBase: https://api.zukko.pro/v1
    apiKey: fetch_...
  - name: DeepSeek V4 Pro
    provider: openai
    model: deepseek-v4-pro
    apiBase: https://api.zukko.pro/v1
    apiKey: fetch_...

Model roles (chat, edit, autocomplete) and the file location should be confirmed in the Continue documentation: their configuration structure gets updated.

What to choose for which task

We do not claim which model writes better code; that needs testing. A reasonable two-model scheme:

  • Main: deepseek-v4.1-flash for everyday edits, code explanations, writing tests.
  • For hard spots: a model from another family with a higher intelligence index (for example claude-sonnet-5-5 at 48 or claude-opus-5-5 at 58) when the main one goes in circles; deepseek-v4-pro is useful when you need image input.

Switching is convenient with two profiles in the extension. Test on your own task: take one and the same small bug fix, run it on two models and compare the result, the number of steps and the spend. Whether a model's tool calling works the way your extension expects is also found in practice: if the agent answers in text instead of editing a file, change the model or the mode.

What a working day costs

Suppose that over a day an in-editor agent makes 100 requests with an average input context of 20,000 tokens and an output of 800 tokens. Totals: input 100 × 20,000 = 2.0M tokens, output 100 × 800 = 80,000 tokens (0.08M).

Formula: input (millions) × input price + output (millions) × output price. No cache discount.

ModelCalculationPer dayPer 22 working days
deepseek-v4.1-flash2.0 × 0.013 + 0.08 × 0.038$0.029about $0.64
deepseek-v4-flash2.0 × 0.025 + 0.08 × 0.063$0.055about $1.21
deepseek-v4-pro2.0 × 0.075 + 0.08 × 0.225$0.168about $3.70
qwen3.8-flash2.0 × 0.038 + 0.08 × 0.075$0.082about $1.80
claude-sonnet-5-5 (for comparison)2.0 × 0.4 + 0.08 × 2$0.96about $21.12

For DeepSeek models the price table shows cache reads costing the same as input, so the cache does not affect this calculation. For Claude in the Anthropic format a cache read is cheaper than input, but the extensions in this article talk to DeepSeek in the OpenAI format. The figures show the order of magnitude; real spend depends on how the extension assembles context. Actual spend can be seen in the dashboard ("Usage").

How to stay within budget

Create a separate key for the editor and give it a daily dollar limit: once the limit is used up, requests get a 429 (key_daily_limit_reached), and a looping agent will not burn through the balance. You can also restrict the key to a list of allowed models; a request to another model returns 403 model_not_allowed_for_key. If a model is temporarily switched off, you get 503 model_disabled: pick another from GET /v1/models.

To start, create a key in the dashboard, paste it into Cline or Continue and send a first request to deepseek-v4.1-flash.

FAQ

Do I need a separate key from DeepSeek itself?

No. A fetch_... key is enough; it works for all models in the catalog, including DeepSeek, Qwen, GLM, Claude and GPT. There are three ways to pay from Russia: SBP, MasterCard cards and cryptocurrency.

Why does the extension say "404" or "model not found"?

Either the Base URL is wrong (OpenAI Compatible needs /v1) or the model name is inexact. Copy the name from the GET /v1/models response: it must match character for character, for example deepseek-v4.1-flash.

Can I use Qwen and Kimi the same way?

Qwen yes: only the model name changes (qwen3.8-flash, qwen3.8-max). Kimi is not in the catalog as of October 18, 2026; see the current list in GET /v1/models.

The agent in Cline got stuck in a loop. What now?

Stop the task, shorten its wording, open a new conversation so as not to drag a huge context along. Set a daily limit on the key in the dashboard: then a loop will not be expensive. Causes are discussed in The agent looped.

zukko

Pay 25×
less

for Claude Code & ChatGPT

One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.

Get API keyDocumentation

api.zukko.pro · fetch_*

DeepSeek API in VS Code: Cline, Kilo Code, Continue · Zukko