Introduction¶
The Web client of DeepSeek Harness (DSH) does not include a native contextmenu handler. Right-clicking inside the application interface usually does not trigger any useful action, such as copying text, pasting content, or opening the file location. The dsh-file-menu plugin solves this problem by providing a Codex-style context menu on the element under the cursor.
Plugin Overview¶
Name: dreammaker2016/dsh-file-menu
Maintainer: dreammaker2016
License: MIT
Purpose: Adds right-click menu context to the DSH Web UI.
Core Features¶
The menu is built dynamically based on the element under the cursor. Supported actions include:
| Right-click target | Menu items |
|---|---|
| Selected text | Copy |
| Paragraph (no selection) | Copy paragraph |
| Input field / editable area | Cut · Copy · Paste · Select All |
| File reference (file card, file chip, inline file mention) | Copy path · Show in File Manager · Open with default app |
| Link | Copy link address · Open in browser |
| Alt + right click | Diagnostics: Copy element information |
Installation and Enablement¶
Install it with npm using the following command:
dsh plugin --profile web add @z1995418/dsh-file-menu
Install from source:
dsh plugin --profile web add github:dreammaker2016/dsh-file-menu
After installation, restart DSH to load the plugin.
Uninstall¶
To remove it, run:
dsh plugin --profile web remove dsh-file-menu
Typical Usage¶
- Text operations: Right-click selected text to copy it. Right-click a paragraph with no selection to copy the entire paragraph.
- Input operations: Right-click an input field to perform Cut, Copy, Paste, or Select All.
- File operations: Right-click a file reference to copy its path, show it in the file manager, or open it with the default application.
- Link operations: Right-click a link to copy its address or open it in the browser.
- Diagnostics: Hold Alt and right-click to copy element information.
Technical Details and Limitations¶
- Copy mechanism: Copy operations prefer the Electron main process route
/file-menu/clipboard; if unavailable, they fall back to PowerShellSet-Clipboardordocument.execCommand('copy'). - Show in file manager: Uses OS commands (Windows Explorer
/select, macOS Finderopen -R, Linuxxdg-open). If the host route is unavailable, it falls back to DSH’s/open-in-app/open. - Path resolution: Paths are read from
title,data-path,data-file-path,dataset.*path, or element text. Relative paths are resolved relative to the session workspace root.~/...is expanded on the host side. - Relative path limitations: A relative path is recognized only if it is a single token (no spaces), contains a path separator, and the final segment has a file extension.
- Version control: The client and host sides are versioned independently.
Ecosystem Note¶
This plugin follows the DSH plugin ecosystem practice. Before installing, review the source code and license.
Directory page: dreammaker2016/dsh-file-menu
GitHub repository: dreammaker2016/dsh-file-menu