DSH Hub

yumm007/dsh-reveal-files

dsh-reveal-files

UIWeb UI0 GitHub stars· updated 2026-08-24

A dual-face DeepSeek Harness plugin that adds a folder icon next to the "Produces" row

Install

npx @deepseek-ai/dsh plugin --profile web add github:yumm007/dsh-reveal-files#main

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-reveal-files DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-reveal-files.svg)](https://dshhub.dev/plugins/dsh-reveal-files)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from yumm007/dsh-reveal-files, cleaned of badges and images.

dsh-reveal-files

English | 简体中文

A dual-face DeepSeek Harness plugin that makes each produced-file chip in the 「产物」/ "Produces" row (the row of file chips under assistant messages) open a small dropdown menu with per-file actions: open the file, copy its path, reveal it in your native file browser, or open a terminal cd'ed into the file's directory.

Features

  • Each produced file chip opens a compact dropdown menu on click — no accidental direct opens, one menu per file:
    • 📂 Open — open with the default application (the original behavior).
    • 📋 Copy file path — copy the absolute path to the system clipboard.
    • 📁 Show in file browser — macOS Finder (open -R, selects the file), Linux file manager (xdg-open on the parent folder), Windows Explorer (explorer /select,).
    • ⌨️ Open the file's directory in terminal — opens a native terminal frontmost, cd'ed into the file's parent directory for further work: Terminal.app on macOS, x-terminal-emulator / gnome-terminal / konsole on Linux, or cmd on Windows. Every trigger opens a fresh window (each action gets its own terminal, no extra permissions needed).
  • Menu labels follow the UI locale (Simplified Chinese / English); the menu items carry role="menuitem" and the chips expose aria-haspopup / aria-expanded.
  • Relative paths are resolved against the session working directory.
  • Errors (e.g. sandbox denial, unsupported platform) surface inside the open menu, which stays open while an action is in flight (items disabled).
  • Zero runtime dependencies beyond the harness itself — Host uses only node:child_process; the client uses only the platform's react seed.

Requirements

  • DeepSeek Harness Web (profile web), i.e. dsh web.
  • Node.js >= 22.6.0.
  • A desktop environment the native opener can reach (macOS and Windows always; Linux needs a display server or WSL).

Installation

# Install from GitHub (pnpm git spec; #main pins the default branch):
dsh plugin --profile web add github:yumm007/dsh-reveal-files#main

Building from source. GitHub installs build the package during install; pnpm asks once for an allowBuilds grant, then proceeds. If it does (or if the build is blocked), add the package to allowBuilds in your profile's pnpm-workspace.yaml and re-run the command. A prebuilt npm release skips this step entirely.

dsh plugin forwards the arguments to pnpm inside the profile directory and then reconciles dsh.profile.bundles. Because the package declares dsh.bundle.patch, it joins the profile layer stack automatically — no manual editing of cordis.yml is required.

After installation, restart the web profile:

dsh web

The plugin loads as a bundle on boot: the Host half registers the POST /api/reveal-files and POST /api/show-in-terminal routes and the client half mounts the drop-down menu in the produced-files row.

Usage

Related plugins