deepseek-harness-for-vscode README

The project's README from github.com/skymecode/deepseek-harness-for-vscode. As one markdown file: README.md.

DeepSeek Harness for VS Code

English | 简体中文

A native VS Code coding-agent extension powered by DeepSeek Harness. Install the platform-specific VSIX and start working—there is no upstream repository to clone, no Node/npm setup, and no local Harness deployment to manage.

This is the community-maintained 0.6.0 release. DeepSeek Harness is currently a Developer Preview, and this extension pins the official @deepseek-ai/[email protected] package (Typert Remote protocol).

Runtime upgrade: Harness now uses session format V3. Supported older logs are migrated on resume into a new generation while their original files are preserved. Old runtimes cannot read the new V3 generation; back up ~/.dsh/vscode/harness-home before upgrading, and do not downgrade an active profile. Third-party plugins using the removed ctx.agent or runtime Inbox APIs need their own compatibility updates. The extension keeps its native VS Code interface rather than embedding the official Web UI.

Older installations can leave ordinary package directories where Harness expects managed links. Startup and plugin installation now recover these shared profiles/node_modules conflicts automatically: incompatible entries move into module-fallback-backup-* inside the Harness home, then Harness rebuilds its links. Backup paths appear in the output log. Existing links/proxies, profiles/web plugins, conversation history and credentials are preserved; no terminal cleanup is required for this conflict. Permission or sharing errors stop recovery without deleting the original data.

Features

Open the workbench with Ctrl+Alt+H on Windows/Linux or Cmd+Alt+H on macOS.

Interface preview

Screenshots use the 0.5.9 workbench UI with a demonstration conversation and no private account data. This README shows the English interface; the Chinese README shows the localized interface. Select an image to view it at full resolution.

DeepSeek Harness 0.5.9: single-row header, collapsed turn process, final answer and edited files DeepSeek Harness 0.5.9: Flash and Pro model selection, four DSH modes and reasoning effort slider
0.5.9 workbench — compact turn process, final answer and per-turn file changes Flash / Pro, four DSH modes and the effort slider

Installation

  1. Download the VSIX matching your platform from Releases.
  2. Open the VS Code Extensions view (Cmd/Ctrl+Shift+X).
  3. Select ... → Install from VSIX... and choose the downloaded file.
  4. Reload the VS Code window when prompted.

For example, an Apple Silicon Mac requires the darwin-arm64 package.

Quick start

  1. Open the project you want to work on.
  2. Select the DeepSeek Harness icon in the Activity Bar.
  3. Open Connection settings and configure DeepSeek Official or add a relay source. You can also run DeepSeek Harness: Set API Key for the official source.
  4. Describe your task in the composer and send it.

No Harness install or start command is required.

Shared history with official DSH

The extension still ships and starts its own tested Harness/Node runtime. A separately installed CLI is not required and is not substituted automatically. On the same machine and OS user account, both backends use the official history location by default:

Platform Shared history home
Windows %USERPROFILE%\.dsh
macOS ~/.dsh
Linux ~/.dsh

An inherited DSH_HOME takes precedence. If official DSH uses another home, set the application-level deepseekHarness.historyHome to that same absolute path. Only sessions/ and attachments/ are shared. The extension's credentials, plugin profile and caches remain under ~/.dsh/vscode/harness-home; archive/pin state and UI filters remain separate. VS Code uninstall does not remove the shared history.

Old private/globalStorage histories are migrated through the official session codecs, with the original logs retained. Equal records are not duplicated; a strictly newer compatible prefix is appended only with write ownership. Diverged histories, or newer copies whose destination is busy, become separately named “VS Code history” forks. Completed imports are journaled, so reopening the extension does not keep duplicating them. In-use old sources are deferred; if migration fails, the extension keeps its previous private history for that launch and shows a warning instead of silently starting with an empty migrated store.

Open the VS Code history panel to refresh its list; refresh the official Web UI page to discover externally created history. VS Code filters by the current project, while official DSH may show worktree sessions under their own workspace or as ungrouped sessions. This shares saved history, not another process's transient token stream. Kernel locks prevent simultaneous writes to one session: close the owning backend before continuing on the other side, or create a fork. Model credentials and installed plugins are configured independently.

Both runtimes must support the same log format (this build uses V3, DSH 0.1.5-alpha.1). An older official CLI cannot read new V3 logs and must be updated to use this sharing feature; original V2 files are retained, but are not a downgrade-sync mechanism. This is not cloud, cross-device, or Windows/WSL cross-kernel synchronization; do not run live shared stores through a network/sync drive. Back up both the shared home and the old private home before a major runtime upgrade.

DSH plugins

Open the ⊞ Plugins button in the workbench header to browse repositories read directly from the dsh-plugin GitHub topic. Results are merged with Awesome DSH Plugin metadata for curated categories, localized descriptions, and npm install specs. The Installed tab also accepts one package spec directly, including an npm package, github:owner/repository, a local path without shell metacharacters, or a tarball URL.

DeepSeek Harness 0.5.9 plugin center with built-in catalog entries and compatibility labels
0.5.9 plugin center — built-in catalog example, not the complete live GitHub marketplace

The extension uses the official dsh plugin --profile web add/remove workflow. Plugin profile files live under ~/.dsh/vscode/harness-home/profiles/web; Harness is stopped while pnpm changes that profile and is then restarted automatically. The bundled pnpm means no system package manager is required.

Host tools, policies, and runtime services contributed by a plugin work in this extension. A plugin may also contain client UI designed specifically for the upstream DSH browser application; those UI contributions cannot be rendered generically by this native VS Code workbench and are marked Official Web UI.

Marketplace cards classify known entries as Agent compatible, Agent works · Web UI unavailable, or Official Web UI only. UI-only themes and layout extensions cannot affect the native workbench, so their install button is disabled. GitHub-only entries without curated metadata are marked Compatibility unknown until their installed manifest can be inspected.

Configuration

Setting Default Description
deepseekHarness.model deepseek-v4-flash Default model for new sessions
deepseekHarness.reasoningEffort high off / low / high / max
deepseekHarness.agentPreset standard Default Agent Preset for new sessions
deepseekHarness.provider deepseek-official Default source selected from the extension's Connection settings panel
deepseekHarness.permissionMode workspace-write read-only / workspace-write / danger-full-access
deepseekHarness.autoAttachSelection true Automatically attach the active editor selection when sending

Provider endpoints and write-only credential references are managed through the bundled Harness settings and credentials services. API keys are stored in the extension's private Harness home, are never returned to the webview, and are not written to project-level .vscode/settings.json. Legacy deepseekHarness.apiKey, baseUrl, and providers values are imported once and then removed.

Use the Connection settings panel to add, edit, test, or remove DeepSeek relay sources. Custom sources are registered live through the upstream llm-pi-ai adapter and expose the same Flash/Pro choices in the model panel.

Automatically attached selections are limited to 16 KB and are truncated when necessary. If the same file selection is already embedded manually, the host will not attach it again.

Commands

Command Description
DeepSeek Harness: Open Workbench Open the sidebar workbench
DeepSeek Harness: Open Workbench in New Window Open the detachable editor-area workbench
DeepSeek Harness: Reload Workbench Restart the runtime and reconnect
DeepSeek Harness: Set API Key Save the API Key
DeepSeek Harness: Clear API Key Clear the API Key
DeepSeek Harness: Show Logs Open diagnostic logs
DeepSeek Harness: Import Sessions Import a DSH ZIP, ChatGPT ZIP, or other agent transcripts

System notifications

Completed foreground and background work now uses native Windows/macOS notifications, not VS Code's in-window completion popup. Duplicate idle events, child-agent completions and Stop actions from this extension do not generate extra alerts. Queued prompts notify when the agent becomes idle after finishing the queue; opening old history does not replay notifications. Approval/question prompts remain unchanged.

User settings (effective immediately, without restarting Harness):

"deepseekHarness.systemNotifications.enabled": true,
"deepseekHarness.systemNotifications.sound": false,
"deepseekHarness.systemNotifications.includeConversationTitle": false

Run DeepSeek Harness: Test System Notification from the Command Palette to test without an API request. Errors are recorded under DeepSeek Harness: Show Logs; there is no in-window fallback. Notifications never contain reply text or detailed errors; enabling titles may expose them on the lock screen.

Localization

English is the default language, and a Simplified Chinese language pack is included. Manifest contributions, settings, extension-host prompts, errors, and the full chat workbench follow the VS Code display language. After changing the display language, run Developer: Reload Window.

Security and privacy

Platform support

There is one extension ID and one Marketplace product. Platform-specific VSIX files are required because the bundled Node, PTY, and sandbox packages contain native binaries:

The current hosted GitHub Actions matrix builds darwin-arm64, linux-arm64, linux-x64, and win32-x64. Other architectures require a self-hosted runner or local packaging.

Development and packaging

npm install
npm run check-types
npm run lint
npm test
npm run compile
npm run package

npm run package creates a VSIX for the current operating system and CPU architecture. npm ci executes lifecycle scripts required by native dependencies, so build only trusted commits and lockfiles.

All project commit messages use English. See docs/ARCHITECTURE.md for the architecture and security boundaries.

License

Extension code is licensed under the MIT License. Licensing details for DeepSeek Harness, Node.js, and other dependencies are available in THIRD_PARTY_NOTICES.md and the license files shipped with each dependency.

deepseek-harness-for-vscode (skymecode/deepseek-harness-for-vscode)

Searching Database…

What is this?A native VS Code extension that brings the DeepSeek Harness coding agent into the editor's sidebar, with session management, streaming Markdown, slash commands, and a plugin center, all without needing a separate WebUI or Harness setup.
Is this a standalone app or a VS Code plugin?It's a VS Code extension installed from a platform-specific VSIX file; it bundles its own Harness/Node runtime instead of requiring a separately running Harness server.
Do I need to install DeepSeek Harness or Node myself first?No — official dsh, pnpm, and a standalone Node 22.22.3 runtime are bundled inside each platform VSIX and managed automatically by the extension.
Can it share history with an officially installed DSH CLI?Yes, sessions and attachments can be shared on the same machine, but credentials and plugin profiles stay separate, and both sides must support the same V3 log format — an outdated official CLI can't read the new logs until updated. It's explicitly not a cloud or cross-device sync mechanism.
Where does my API key get stored?API keys are kept in the extension's private Harness home, never sent back to the webview, and never written into the project's .vscode/settings.json.
What models and reasoning modes does it support?It offers DeepSeek V4 Flash and Pro models with off/low/high/max reasoning effort and four official Agent Presets, selectable per session.
Can I install third-party DSH plugins?Yes, through a built-in plugin center that reads the dsh-plugin GitHub topic merged with Awesome DSH Plugin metadata, or by adding an npm package, github:owner/repo, local path, or tarball URL directly.
Can I bring in chat history from other tools?Sessions can be imported from official DSH ZIP exports, ChatGPT export ZIPs, and other agent transcripts via dsh-chat-import.
How do I open the workbench once installed?Press Ctrl+Alt+H on Windows/Linux or Cmd+Alt+H on macOS, or click the DeepSeek Harness icon in the Activity Bar.
Creator
skymecode
Size
6.1 MB
Stars
157
Age
2mo
Commits · 90 Days