Skip to content
rodolfo.gg
Go back

Installing DeepSeek Harness and integrating it with VS Code

Updated:
CC BY-NC-ND 4.0
Rodolfo González González
en es

Installing DeepSeek Harness and integrating it with VS Code

Introduction

A harness is the infrastructure surrounding a model that coordinates elements such as instructions, conversation history, tools, permissions, the execution environment, and session persistence. DeepSeek Harness (dsh) is an open-source agent harness developed by DeepSeek AI, with an architecture in which every capability is integrated as a plugin.

The following videos provide general context about the concept and the project:

Excerpt: What is a harness and what is harness engineering?
Excerpt: Why DeepSeek Harness Is The End Of Coding Agents as We Know Them
Excerpt: NEW Deepseek Agent Harness EXPLAINED (deep dive)

DeepSeek Harness includes a local web interface. It can also be displayed inside VS Code through a community extension, keeping conversations and tools alongside the project open in the editor.

DeepSeek Harness web interface using the web profile

Table of contents

Table of contents

Prerequisites

pnpm cannot be replaced by npm, Bun, or Yarn in plugin commands: the DSH CLI forwards those commands directly to pnpm.

Step 1: run DeepSeek Harness

The simplest official method does not require a global installation:

Terminal window
npx @deepseek-ai/dsh web

The command initializes the web profile, starts the server at http://127.0.0.1:3080, and opens the interface in your browser. The process remains in the foreground; stop it with Ctrl+C.

Step 2: choose how to access models

DSH can use the official DeepSeek API or providers added by plugins. These are independent mechanisms: having API credits does not configure a subscription, and having a subscription does not create an API key.

Option A: official DeepSeek API

  1. Create a key on the DeepSeek platform and confirm that the account has an available balance.

  2. In Settings, open the model configuration and select the deepseek-official provider to store the credential.

  3. You can also provide the key through the environment variable used by the official adapter and run DSH from the same terminal.

    In Bash, you can read it without displaying it or writing it to your history:

    Terminal window
    read -rsp 'DeepSeek API key: ' DEEPSEEK_API_KEY
    export DEEPSEEK_API_KEY
    printf '\n'
    npx @deepseek-ai/dsh web
  4. Select one of the available DeepSeek models when creating a conversation.

Option B: subscriptions through a community plugin

dsh-plugin-subscriptions is a third-party plugin. Its documentation states support for these plans:

ProviderDocumented subscription
ChatGPT (Codex)ChatGPT Plus or Pro
ClaudeClaude Pro or Max
GrokX Premium
GitHub CopilotGitHub Copilot

With DSH stopped, install the prebuilt package published on npm:

Terminal window
npx @deepseek-ai/dsh plugin --profile web add -w dsh-plugin-subscriptions

The -w (--workspace-root) option confirms that the package should be added to the root of the web profile workspace. Installing the prebuilt package does not require editing allowBuilds or replacing pnpm-workspace.yaml.

After installing it, start DSH again:

Terminal window
npx @deepseek-ai/dsh web

In the web interface:

  1. Open Settings → Subscriptions.
  2. Select Connect for the provider you want.
  3. Complete the authorization flow in your browser.
  4. Open the model selector in a conversation and choose a model provided by the subscription.
Providers in DeepSeek Harness under Settings → Subscriptions

Step 3: install the VS Code extension

The extension used in this guide is also community-maintained:

  1. Open Extensions in VS Code (Ctrl+Shift+X).
  2. Search for the identifier vithrive.deepseek-harness-vscode.
  3. Confirm that the publisher is Vithrive, then install the extension.
DeepSeek Harness for VSCode in the extension search results DeepSeek Harness for VSCode Marketplace listing

Step 4: configure the extension

Open Settings in VS Code and search for DeepSeek Harness Panel. The visible labels may be translated, so it is best to identify each option by its key:

KeyDefault valuePurpose
dshPanel.urlhttp://127.0.0.1:3080Address of the web interface displayed in the panel.
dshPanel.host127.0.0.1Address used when starting DSH automatically.
dshPanel.port3080Port used when starting DSH automatically.
dshPanel.autoStarttrueRuns dsh web when the server is not active.
dshPanel.autoInstallDshtrueOffers to install @deepseek-ai/dsh globally when dsh cannot be found.
dshPanel.dshCommanddshExecutable the extension looks for in PATH; it also accepts an absolute path.
dshPanel.enableDshModeltrueRegisters DSH as a provider in the VS Code model selector.
dshPanel.chatProvideremptyAn empty value uses the default provider configured in DSH.
dshPanel.chatModelemptyAn empty value uses the default model configured in DSH.
dshPanel.killOnDisposetrueStops only the process started by the extension when it closes.

Authentication takes place in DSH. dshPanel.chatProvider and dshPanel.chatModel only control which previously configured provider and model the VS Code bridge should use. Leave them empty to follow the DSH defaults.

Step 5: use DeepSeek Harness in VS Code

Side panel

  1. Select the DeepSeek Harness icon in the activity bar.
  2. The extension will display the web interface served by DSH.
  3. If the panel does not load, start DSH manually and check http://127.0.0.1:3080 in your browser.

VS Code model selector

With dshPanel.enableDshModel enabled, the extension registers DeepSeek Harness as a model provider for VS Code chat. Open the selector and choose the DeepSeek Harness entry; its exact label may vary between versions.

DeepSeek Harness in the VS Code model selector

Troubleshooting

ProblemCheck and solution
DSH rejects the Node.js versionRun node --version and use ^22.19.0 or >=24.0.0. A Node version manager avoids global installations that require system-directory permissions.
pnpm is not found while installing a pluginInstall pnpm and confirm that pnpm --version works in the same terminal. The DSH CLI must be able to find it in PATH.
ERR_PNPM_ADDING_TO_ROOTAdd -w or --workspace-root to the installation command. The correct error name contains PNPM, not PNMP.
An allowBuilds-related error appearsUse the prebuilt dsh-plugin-subscriptions package, not the GitHub source. Do not replace the complete pnpm-workspace.yaml file.
The DeepSeek API returns an authentication or quota errorConfirm that deepseek-official has a valid key and that the account has an available balance. A balance without a configured key does not authenticate DSH.
A subscription does not appear in the selectorOpen Settings → Subscriptions, reconnect the account, and restart dsh web after installing or updating the plugin.
The extension cannot find dshAccept its global installation, set dshPanel.dshCommand to the executable path, or disable automatic startup and use npx @deepseek-ai/dsh web.
The panel displays an error or does not loadCheck that http://127.0.0.1:3080 responds and that dshPanel.url, dshPanel.host, and dshPanel.port match.
The bridge uses a different modelReview the default model in DSH or configure dshPanel.chatProvider and dshPanel.chatModel together with valid identifiers.

Verified sources



Next Post
GitHub Issues sentiment analyzer.