DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

File Menu — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
F

@z1995418/dsh-file-menu

File Menu

Codex-style right-click menus for the DeepSeek Harness Web UI: copy/cut/paste/select-all on text, copy path and reveal in the file manager for file chips, copy or open for links.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:dreammaker2016/dsh-file-menu#f9a2872ad4b3018ac249da40e2b208d507131be6
READMECompatibilityVersions

Compatibility and provenance

File Menu is published as @z1995418/dsh-file-menu and currently resolves to version 0.8.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/21/2026

Versions

0.8.1stable
9/21/2026

Related plugins

Loading related plugins…

Latest
0.8.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/21/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and r

README

dsh-file-menu

Right-click menus for the DeepSeek Harness (DSH) Web UI.

The DSH Web client ships no contextmenu handler, so right-clicking inside the app does nothing useful — no copy, no paste, no "open file location". This plugin adds a Codex-style menu that fits whatever you clicked.

English | 简体中文

Features

The menu is built from the element under the cursor:

Right-click targetMenu rows
Selected textCopy
A paragraph (no selection)Copy this paragraph
Input box / editable areaCut · Copy · Paste · Select all
A file reference (delivered-file card, produced-file chip, inline file mention)Copy path · Reveal in file manager · Open with default app
A linkCopy link address · Open in browser
Alt + right-clickDiagnostics: copy element info
  • Copy goes through the host route /file-menu/clipboard (Electron main-process clipboard, falling back to PowerShell Set-Clipboard) instead of relying on the renderer's clipboard permission. If the host route is unavailable, the client falls back to document.execCommand('copy').
  • Reveal in file manager selects the file where the OS supports it — Windows Explorer /select, macOS Finder open -R. On Linux xdg-open has no "select" concept, so the containing directory is opened instead. If the host route is missing entirely, the client falls back to DSH's own /open-in-app/open.
  • File paths are read from the element's title, data-path, data-file-path, dataset.*path, the element's own text (DSH's tool-row file links carry no attribute at all — the path is only in the text), or a selected absolute path. DSH renders in-workspace references relative to the session workspace (dsh-plugins/x/README.md, @docs/plan.md), so relative candidates are resolved against the current session's workspace root, which the client half reads from DSH's sessions service (list.getSnapshot() → byId[current].cwd). ~/... is expanded by the host half. When no root is available the file rows are simply not shown rather than guessed.

Install

From npm:

dsh plugin --profile web add @z1995418/dsh-file-menu

From source:

dsh plugin --profile web add github:dreammaker2016/dsh-file-menu

Every release also carries a prebuilt tarball (dsh-file-menu.tgz), installable with dsh plugin --profile web add <tarball-url>.

Use the profile you actually run (web for the Web client, your own profile name for DSH Desktop). Restart DSH after installing.

Uninstall

dsh plugin --profile web remove dsh-file-menu

Limits

  • A relative path that appears inside running prose is recognized only when it is a single token (no whitespace), contains a path separator, and its last segment carries a file extension. Paths with spaces, bare basenames, and extension-less directories are skipped — that is what keeps ordinary sentences ("copy/paste this") from growing file actions.
  • Relative candidates need the session workspace root. If DSH's sessions service is unavailable, the file rows are hidden instead of guessed.
  • The two halves version independently: the client (lib/client.js) is versioned with the package, while the host half reports its own version from GET /file-menu/status.

How it works

  • Host half lib/index.js — a webServer prefix route /file-menu serving ping, status, hello, menu, diag, clipboard, reveal and open. reveal/open take { path, base }, resolve absolute paths directly, ~/... against the home directory and relative paths against base (the session workspace root), then act only on paths that exist.
  • Client half lib/client.js — a capture-phase contextmenu handler plus a plain-DOM menu (no React dependency), with pointerdown + elementFromPoint activation so an upstream stopPropagation cannot swallow the click.
  • cordis.patch.yml — the single bundle row that registers the host half. The client bundle is served automatically because the host entry declares dsh.client.

Maintainer notes — HMR pitfalls, event-swallowing, debugging without a browser console — are in docs/DEVELOPMENT.md.

License

MIT