DSH Workspace Explorer: Adding a Workspace File Panel to the DSH Web GUI

Preface

When handling workspace files in the DeepSeek Harness (DSH) Web GUI, it’s common practice to switch out of the browser and open a local file manager or external editor. dsh-workspace-explorer brings this workflow into the Web interface: it adds a “Workspace Files” entry at the bottom of the sidebar, opening a VS Code explorer-style dual-pane panel—a file tree on the left for browsing workspace directories, and a viewer/editor on the right. Below, I’ll cover its positioning, features, installation, usage, and security limitations.

Plugin Positioning

3911ee/dsh-workspace-explorer is maintained by 3911ee and licensed under MIT. Its one-line description: adds a “Workspace Files” entry at the bottom of the DSH Web GUI sidebar, opening a VS Code explorer-style dual-pane panel—a file tree on the left for browsing all registered workspace directories, and a viewer/editor on the right.

Core Features

File Tree

  • Automatically lists all registered workspace directories.
  • Lazy-loads and expands folder-by-folder, directories first, sorted by name, with indentation guide lines.
  • Uses 14px stroke SVG icons colored by language, covering 60+ file extensions.
  • Supports creating new files/folders at each workspace root, with inline input—Enter to create, Esc to cancel, and inline error reporting for duplicate names.

File Operations

  • Inline rename: hover to reveal a pencil button, selects the base name by default, and allows continued editing of the extension.
  • Enter commits, Esc cancels, blur commits; supports Chinese input methods.

Editor

  • Right-side editor features a line number gutter, path bar, and status bar (size, encoding, unsaved indicator).
  • Bottom-right handle allows free drag-to-resize, with a minimum of 380×280.
  • “Open with system app” button can invoke the local default program.

Syntax Highlighting

  • Supports VS Code Dark+ color scheme syntax highlighting: function names, keywords, strings, comments, numbers, types, and properties are color-coded.
  • Supports Python, JavaScript/TypeScript/JSX, JSON, HTML/XML, CSS/SCSS/LESS, Markdown, SQL, Shell, YAML/TOML/INI.
  • Files over 200 KB automatically fall back to plain text; files exceeding the 256 KB read limit open as read-only previews.

Editing & Saving

  • In-window editing and saving: Ctrl+S or the “Save” button writes to disk.
  • File size automatically refreshes after saving.

Integration with the DSH Interface

  • Allows the AI Agent to view the project structure and modify code in real-time, supporting @file references in conversations.
  • Bilingual interface, following DSH language settings.
  • Runs entirely locally, makes no outbound network connections, and uploads no file content.

Installation & Activation

Software Requirements

  • DeepSeek Harness 0.1.0-rc.6 or later.
  • The profile type must be a standard web profile with a Web interface.
  • pnpm is required when installing plugins.
  • Tested on Windows; macOS/Linux are theoretically supported—code has cross-platform path handling—but not tested.

Installation

The provided installation command is as follows:

dsh plugin --profile web add github:3911ee/dsh-workspace-explorer

The documentation states the npm method becomes available after release:

dsh plugin --profile web add dsh-workspace-explorer

Manual Installation

For manual installation, first copy the plugin source code into the web profile’s node_modules, then edit the web profile’s package.json. You need to add the plugin path to dependencies and add the plugin name to the dsh.profile.bundles array:

{
  "dependencies": {
    "dsh-workspace-explorer": "file:./node_modules/dsh-workspace-explorer"
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-workspace-explorer"]
    }
  }
}

Verification

First, restart the dsh web service, then refresh the browser. Verification steps: a folder icon button appears at the bottom of the sidebar with the hover tooltip “Workspace Files”; clicking it opens the dual-pane panel.

Typical Usage

Below is a breakdown of common operations.

  1. After installation, restart dsh web and refresh the browser, then click the folder icon button at the bottom of the sidebar.

  2. Creating files/folders: click the new button at each workspace root, type the name inline, Enter to create, Esc to cancel.

  3. Renaming: hover over a file to reveal the pencil button, modify the name, Enter to commit, Esc to cancel, blur to commit.

  4. Editing & saving: make modifications in the right-side editor, press Ctrl+S or click “Save” to write to disk; the file size updates automatically after saving.

  5. Upgrading: the documentation suggests re-running the GitHub installation command, or having dsh plugin delegate to pnpm update:

dsh plugin --profile web add github:3911ee/dsh-workspace-explorer
  1. Uninstalling: execute the removal command, then restart dsh web:
dsh plugin --profile web remove dsh-workspace-explorer

Security & Limitations

Data Boundary

The plugin runs entirely locally, makes no outbound network connections, and uploads no file content. The documentation also states: no file content or operation logs are collected, recorded, or transmitted; frontend syntax highlighting renders file content after HTML escaping.

Binding Address

The plugin’s API exposure matches the DSH Web GUI binding address. The default 127.0.0.1 is recommended and the default secure configuration. If a user binds dsh web to a non-loopback address, the plugin API has no independent authentication—never expose a DSH instance with this plugin directly to the public internet.

Path & Resource Limits

  • Path validation requires absolute paths; relative and empty paths are rejected.
  • New/rename operations only accept single path segments; empty names, ., .., and names containing path separators are rejected.
  • Single-level directory listings are capped at 1000 entries.
  • File reading defaults to 256 KiB, with a hard cap of 8 MiB; file writing has an 8 MiB limit; request bodies have a 64 KiB cap.

Notes Before Installation

The plugin runs with the permissions of the current dsh process, and its file operations are constrained by that process’s accessible scope. Before installing, check the source code, dependencies, and license; the license listed here is MIT. Security fixes are only guaranteed for the latest release; the plugin depends on DSH’s official public interfaces, and if those interfaces change after a major DSH upgrade, follow-up adaptations are required.

Known Limitations

  • New file/folder creation is only available at each workspace root, not in subdirectories.
  • Preview supports only UTF-8 text; binary files display as replacement characters.
  • Syntax highlighting is a lightweight regex implementation and may occasionally deviate in complex nested scenarios.
  • After uninstalling and restarting dsh web, it is completely removed; the plugin does not modify DSH built-in files and leaves no residue.

Links

The GitHub repository URL provided in the documentation is:

https://github.com/3911ee/dsh-workspace-explorer

This article does not list a directory page link because the documentation did not provide one.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye