Introduction

The plugin mechanism in DeepSeek Harness (DSH) allows developers to extend system capabilities by layering features. The dsh-vscode-workbench plugin is designed to add a VS Code-style local development workbench to the DSH environment. It integrates resource management, code editing, Git operations, and terminal support into a unified interface, solving the problem of frequently switching windows or relying on external tools to manage local files and code state during agent development.

Plugin Overview

Plugin Name: dsh-vscode-workbench
Maintainer: tingfeng347
License: MIT

This plugin is mounted through DSH extension points. It does not replace or uninstall ui-layout; instead, it exists as an overlay. It provides a complete local development environment experience, including the Monaco editor, a visual Git workflow, multi-session terminals, and seamless integration with DSH conversation capabilities.

Core Features

Files and Editor

  • Monaco Editor: Supports multiple tabs, dirty-state indicators, atomic saving, and conflict detection.
  • File Type Support: Supports opening and previewing text, Markdown, images, PDF, and Word documents directly.
  • File Operations: Supports creating, uploading, drag and drop, renaming, deleting, and viewing Git status.

Visual Git Workflow

  • Provides a graphical interface for Git operations such as status, staging, commits, branches, and diffs.
  • Supports viewing commit files and a lane-style commit graph.
  • Search functionality is based on @vscode/ripgrep, with support for case sensitivity, whole word matching, regular expressions, and path filtering.

Terminal

  • Implemented with node-pty and xterm.js.
  • Supports up to 8 terminal sessions, with session renaming, right-side switching, and split views.
  • Supports ANSI output and Ctrl+C signal handling.

Layout and DSH Integration

  • Layout Management: The left view, terminal panel, and right-side DSH conversation panel can be shown independently and resized.
  • Themes and Settings: Themes and layout settings are managed centrally in the workbench settings.
  • Context Synchronization: After refreshing, the active view, tabs, expanded directories, panel visibility, and layout configuration can be restored.

Installation and Configuration

Basic Installation

Install the plugin using the official command:

dsh plugin --profile web add dsh-vscode-workbench

Initial Terminal Support Installation

Terminal support depends on node-pty. In the DSH environment, when using pnpm 11, build scripts may be blocked during the initial installation, causing the installation to fail. This is an expected security check behavior.

To resolve this:

  1. Navigate to the plugin configuration directory:
   cd ~/.dsh/profiles/web
  1. Approve build scripts and reinstall dependencies:
   pnpm approve-builds --all
  1. Restart the dsh web service.
  2. If the terminal still reports a loading failure, run:
   pnpm approve-builds --all && pnpm rebuild node-pty

Usage Instructions

After installation, you can switch views using keyboard shortcuts or the activity bar buttons on the left.
A typical project development workflow example:

cd ~/.dsh/profiles/web
pnpm install && pnpm typecheck && pnpm test && pnpm build

Keyboard Shortcut Reference

Shortcut Action
Ctrl+Shift+E Open Explorer
Ctrl+Shift+F Open Search
Ctrl+Shift+G Open Source Control
Ctrl+S Save current file
Ctrl+Alt+B Show or hide DSH conversation panel
`Ctrl+`` Show or hide terminal
`Ctrl+Shift+`` New terminal

Notes

Security

  • Path Restrictions: Host accepts only relative paths inside the current DSH session working directory and prevents directory traversal and symlink escapes.
  • Command Execution: Git and ripgrep are started with argument arrays rather than concatenated Shell commands to prevent command injection.
  • Terminal Security: Terminals accept only same-origin loopback requests, start fixed in the session working directory, and remove sensitive environment variables such as API keys, tokens, and secrets.
  • Data Consistency: Save operations use version checking and atomic replacement to avoid silent overwrites.

Environment Dependencies

  • Node.js: Requires ^22.19 || >=24
  • pnpm: Requires 11.7
  • System Tools: System Git must be installed.

Appendix

  • GitHub Repository: https://github.com/tingfeng347/dsh-vscode-workbench
  • DSH Plugin Directory: https://www.skillhub.cn/plugins/tingfeng347/dsh-vscode-workbench