Introduction

When developing sessions with DeepSeek Harness, checking the current working directory structure often requires switching windows. This plugin adds a docked file browser to the bottom of the sidebar, providing a lazy-loaded directory tree, filtering and reload features, and a draggable panel height control.

Core Features

  • Docked Integration: Rendered in the sidebar footer, with width automatically following the sidebar, without using floating windows or standalone cards.
  • Draggable Height: Adjust the panel height by dragging its top edge.
  • Lazy-Loaded Directory Tree: Only expands levels that have been clicked, reducing memory usage.
  • In-Memory Toggle: The toggle is stored in memory (Settings → General → File Browser); when turned off, the panel collapses to the title row.
  • Read-Only and Sandboxed: The plugin only lists metadata, restricts paths to the session working directory, and lists up to 800 entries per request.
  • Bilingual Support: Follows the DSH interface language.
  • Easy Installation: No build required; install directly.

Installation

Use the official CLI to install the web profile plugin:

dsh plugin --profile web add github:mabaoguo9527/dsh-file-explorer

After installation, restart dsh web to activate it.

Usage

  1. Navigate: Click a directory row to expand or collapse its level, or click a file row to select it and display its relative path.
  2. Filter: Enter a name in the filter box to filter already loaded files.
  3. Refresh: Click the ↻ icon next to the title to reload the directory.
  4. Collapse/Expand Panel: Click the arrow on the left side of the title row, or use the toggle in Settings.
  5. Adjust Height: Hold the top edge of the panel and drag it.

Security and Limitations

The plugin is designed for a read-only environment:
* Path Validation: All requests validate whether the path is inside the session working directory and reject escape attempts.
* No Content Reading: It only uses fs.stat and fs.listDir, without reading file contents.
* No Network Requests: It does not access credentials or initiate external network requests.
* Configuration Restrictions: The plugin does not accept any configuration files; the toggle state is stored in memory and resets after restart.

Conclusion

By integrating a file tree into the sidebar, this plugin solves the pain point of frequently switching windows to check directory structures during local development. Its strict read-only constraints and security design make it suitable for use in development environments.