Introduction

DeepSeek Harness (DSH) provides a Web-based, plugin-based client. In real-world development scenarios, frequent switching between the browser and an editor is often required. This plugin connects the DSH Web browser interface with the local VS Code environment by injecting a sidebar menu and intercepting file link click events.

Plugin Overview

This is a plugin for the DSH Web client, maintained by alex-dsh-plugin. It does not modify the core logic of DSH; it only extends frontend interactions: allowing users to open a project directly from the sidebar workspace menu, or to click a file path in a conversation and jump directly to VS Code.

Core Features

  • One-click workspace opening: Adds an “Open in VS Code” option to the ... menu of sidebar workspace rows. If VS Code has already opened this project, it brings the corresponding window to the foreground; otherwise, a new window is created.
  • In-conversation file navigation: Click a file path in DSH output to open it directly in VS Code. Supports precise navigation via file:line:column.
  • Fallback mechanism: If VS Code cannot be found or opening fails, it automatically falls back to the system default open method, ensuring that the click action never fails.

Installation and Enablement

Install it through the DSH plugin manager. After installation, restart the service:

dsh plugin --profile web add @alex-dsh-plugin/open-in-vscode

After restarting dsh web, the changes take effect. The plugin includes a built-in bundle layer, so manual configuration editing is not required.

Configuration and Editor Path

By default, the path to the VS Code code CLI is obtained through automatic detection. If an override is needed, append the following to ~/.dsh/profiles/web/cordis.patch.yml:

- id: vscode
  config:
    command: /Applications/Visual Studio Code.app/Contents/Resources/app/bin/code

The editor detection order is: explicit configuration > standard macOS path > code in PATH (same-named shims pointing to other editors are skipped) > system default.

Known Limitations

  • Relies on the sidebar DOM structure; upstream UI changes may cause the menu item to fail silently.
  • Supports only certain types of file references (files generated in the current round, and the open button in tool rows).
  • If two workspace titles are exactly the same, they cannot be distinguished, and the menu is not injected.
  • Supports local deployment only (the browser and the host must be on the same machine).

License

MIT License © Alex