Introduction

In the DeepSeek Harness (DSH) web interface, clicking a file link in a session usually calls remote.session.openWorkspacePath. In headless hosts or remote environments, this attempts to invoke the system’s native opener (such as xdg-open), which the browser cannot execute. The dsh-files-pane plugin intercepts this call and provides a standalone “Files” view tab within the chat interface, allowing files to be browsed and read directly in the browser.

Plugin Overview

Name: dsh-files-pane
Maintainer: liooil
Positioning: A web “Files” view tab for DSH. It provides two-pane directory navigation and supports reading file content in place. The plugin does not alter the main window layout; instead, it reuses the chat window’s Markdown and code renderers.

Core Features

  1. Files as a Session View Tab
    Adds a third, full-width tab next to the “Conversation” and “Trace” tabs. This view exists independently and does not rely on floating windows or sidebar takeovers.
  2. Click Through
    Clicking tool cards, @path mentions, or generated file references in a session opens them directly in this tab and automatically selects the tab.
  3. Renderer Reuse
    Text content is rendered using the chat window’s built-in MarkdownText, and code blocks are highlighted with the built-in Shiki, ensuring visual consistency.
  4. Relative Image Support
    Supports relative image syntax in Markdown (such as ![](./img/x.png)); images are read from the host and rendered alongside the Markdown text.
  5. Two-Pane Navigation
    The left pane shows parent directories and the right pane shows the current directory, allowing quick switching without repeatedly navigating up to the parent.
  6. Editable Path
    Click the bold file name at the top, enter a path, and press Enter to navigate. ~ expansion is supported. Entering a file path displays its content, while entering a directory path displays the listing.

Installation and Activation

After installing the plugin, restart the DSH service for the changes to take effect.

Install via package manager:

dsh plugin add dsh-files-pane

Next steps:
After installation, restart the DSH service. You can restart it with the following command (the exact method depends on how the host is managed):

systemctl --user restart dsh

Notes:
* Do not mount the same package from two sources at the same time (for example, mounting via a local path and installing via the package manager), as this can cause client module scanning to fail.
* The plugin runs with the permissions of the current DSH process. Please review the source code and license before installing.

Typical Usage

  1. Open a File: In the conversation, click any file reference. The plugin intercepts the call and opens the file content in the “Files” tab.
  2. Navigate Directories: At the top of the Files tab, click the path, enter a new directory path (such as ~/project/src), and press Enter to navigate.

Use Cases and Limitations

  • Use Cases: When you need to view logs, code, or documentation in the DSH web interface and want to read them directly in the browser instead of opening native windows.
  • Limitations:
    • The read limit for a single text file is 400 KB, and the limit for images is 4 MB.
    • Binary files display a notice and are not dumped directly into the interface.
    • The plugin is pure ESM, with no build step and no external dependencies.

This plugin is licensed under the MIT License. For more technical details (such as development and layout structure), refer to its GitHub repository.

  • Catalog Page: https://www.skillhub.cn/plugins/liooil/dsh-files-pane
  • GitHub Repository: https://github.com/liooil/dsh-files-pane