Introduction

DeepSeek Harness (DSH) extends Web UI functionality through a plugin mechanism. In agent development or debugging scenarios, accessing files outside the current workspace (such as the desktop, Downloads directory, or other projects) can be cumbersome and error-prone if done by manually entering paths. The DSH File Picker plugin solves this problem by injecting a portable Web GUI bundle, allowing users to browse the local file system directly in the browser and provide the selected paths as context to the current conversation.

Core Features

The plugin mainly provides the following capabilities:

  • File and directory search: Search for files or directories in any directory on the local DSH host.
  • Filtering mechanism: Supports non-recursive, case-insensitive name filtering that applies only to the currently open directory and does not traverse subdirectories.
  • Path selection: Allows mixed selection of files and directories in a single operation (up to 32 paths). Clicking Apply replaces the current session’s path selection.

Installation and Enablement

Installation is performed through npx and does not require writing configuration scripts. Installing with a pinned version tag is recommended:

npx --yes github:shaomingbo/dsh-file-picker#v0.2.3

This command automatically edits dependencies.dsh-file-picker and dsh.profile.bundles in the package.json of the target profile (default: web), writes the manifest atomically, and runs pnpm install --ignore-scripts. DSH does not stop or restart during installation.

To specify a different profile or use local code:

npx --yes github:shaomingbo/dsh-file-picker#v0.2.3 --profile lab
npx --yes github:shaomingbo/dsh-file-picker#v0.2.3 --source link:/path/to/dsh-file-picker

Usage

After enabling the plugin, follow these steps:

  1. Open a regular DSH Web conversation.
  2. Click the 📁 icon in the composer toolbar.
  3. Browse the host file system in the pop-up file browser, or use the search field to filter the current directory.
  4. Use checkboxes to select files and directories. Click a directory name to enter the next level, or click “Select this folder” in the path bar to select the current directory directly.
  5. Click Apply, then send the next prompt. The model will receive the path information containing <selected_paths> in the conversation context and can use these paths through commands such as read, glob, or grep.

Applicable Scenarios and Notes

  • Applicable scenarios: Suitable for agent development scenarios where access is needed to local files in arbitrary directories through the Web UI.
  • Security and privacy: The plugin only returns paths and entry types. It never reads or uploads file contents and does not recursively scan directories. RPC connections are limited to localhost, preventing remote browser access.
  • Limitations: Only regular files and directories are supported; device files and sockets cannot be selected. Each application of a new selection replaces the previous one, and the selection is valid only in the current DSH process, becoming invalid after the process restarts.

Brief Ending

DSH File Picker provides secure local file access capability for the Web UI. Through the standard npx installation flow and an intuitive file selector, it simplifies the way agents interact with the local file system. For more details and source code, refer to the GitHub repository or the DSH plugin directory.