Introduction

The remote Web interface of DSH displays files generated or modified in the current turn as clickable file items. These file items are essentially buttons handled by front-end JavaScript, not ordinary links with an href. When accessing remotely, this causes several practical issues: you cannot right-click to copy the link address; the full absolute file path is not easily visible on the page; the Host hosting the remote Web usually does not have available desktop applications, so clicking a file item does not necessarily open the file; and users need to copy file paths into SSH, the terminal, an editor, or other tools to continue working.

The dsh-produced-file-paths plugin reuses the produced-file list already identified by DSH to display the corresponding absolute paths in the UI and provides a copy button. It does not attempt to present remote Host files as browser URLs, nor does it add a file download service.

Plugin Overview

This is a standalone DSH Web plugin for displaying and copying the absolute paths of files generated/modified in the current turn within the DSH Web interface. The plugin does not modify files, does not add a file download API, and does not modify dsh-sticky-notes. It was developed by maintainer flyhigao.

Core Features

  1. Displays the absolute paths of files generated/modified in the current turn below DSH’s built-in “Artifacts” file row.
  2. Supports copying a single file path.
  3. Supports copying all file paths with one click (one per line).
  4. Path text can be selected and directly copied.
  5. The plugin only reads the produced-file list already identified by DSH and does not modify files.

Installation and Enablement

Install from GitHub using the DSH plugin management command:

dsh plugin --profile web add github:flyhigao/dsh-produced-file-paths

After installation, restart dsh web, then hard refresh the remote Web page (Ctrl+Shift+R).

Path Semantics and Caveats

  • Compatible Versions: Supports DSH 0.1.0-rc.6, 0.1.0-rc.8, 0.1.1-rc.2, 0.1.2-alpha.2, and later versions.
  • Runtime Dependencies: No external runtime dependencies; it does not depend on the deprecated dsh-client-runtime.
  • Injection Method: Uses DSH’s standard slot conversation.chat.turnTail for injection and coexists with the built-in Artifacts row.
  • Path Type: The plugin copies absolute filesystem paths under DSH’s current Session workspace, not browser URLs or file:// links. For example, a path may be /home/gao/dsh/reports/summary.md.
  • Data Source: The plugin only reads and displays these paths. It does not accept user-input paths, does not scan the workspace, and does not read file contents.

Use Cases

This plugin is suitable for scenarios where you need to obtain absolute file paths from the remote Web interface and copy them directly into a terminal or editor for further processing. The plugin runs with the permissions of DSH’s current process; whether files can be accessed depends on those permissions.

This plugin adds the ability to “see and copy file paths” to remote development scenarios. For more details, see the GitHub repository.