Finder clipboard paste for macOS: Cmd+C files or folders in Finder, then Ctrl+V in the DSH composer inserts their absolute paths; ordinary text paste with Cmd+V is untouched.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-paste-path
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:jhuanxx44/dsh-paste-path
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English · 简体中文 · Website: English / 中文
A macOS plugin for DeepSeek Harness Web. Copy files or folders in Finder with Cmd+C, return to DSH, then press Ctrl+V to insert their absolute paths into the composer.
Normal text paste stays on Cmd+V.
The problem
Copying a file in Finder does not put a plain absolute path on the clipboard. Finder writes a native file-list representation, while a browser editor is deliberately isolated from local filesystem paths. That leaves a small but recurring gap when you want to give a local file path to an agent.
dsh-paste-path bridges that gap inside DSH without uploading the file or taking over normal paste.
Use it
- Select one or more files or folders in Finder and press
Cmd+C. - Return to DSH Web.
- When the composer shows the
Ctrl+V Paste pathhint, pressCtrl+V. - The absolute paths are inserted into the current draft, one per line.
The hint stays hidden when the clipboard does not contain file paths. Duplicate paths already present in the draft are skipped.
Install
From npm:
dsh plugin --profile web add dsh-paste-path
From GitHub:
dsh plugin --profile web add github:jhuanxx44/dsh-paste-path
For local development:
dsh plugin --profile web add /absolute/path/to/dsh-paste-path
Restart dsh web and refresh the page after installation.
How it works
The host plugin reads macOS Pasteboard file-list data (NSFilenamesPboardType) through osascript. A small DSH client extension checks whether a path is ready and inserts it into the active composer only when you press Ctrl+V.
The browser Clipboard API is not used, so the plugin does not trigger a normal website clipboard permission prompt.
Security boundary
- The plugin only activates on macOS.
- Clipboard endpoints accept loopback connections only.
- Mutating paste requests must be same-origin.
- Clipboard responses are never cached by HTTP.
- Files are not opened or uploaded; only their absolute paths are inserted.
- Ordinary
Cmd+Vbehavior is left untouched.
macOS may still deny osascript access depending on your local automation permissions. If that happens, grant the relevant permission and try again.
Remote DSH deployments
The clipboard belongs to the machine running dsh web, not necessarily the browser you are using.
- LAN IP or public hostname: the host rejects non-loopback clipboard requests with
403, so the plugin cannot provide your Mac's local paths. - SSH port forwarding or a jump host: the connection still appears as loopback to DSH. The plugin cannot detect the tunnel and would read the remote server's clipboard, not your Mac's clipboard.
If you need to send local files to a remote DSH instance, use an upload-oriented plugin instead. This plugin intentionally solves local path handoff only.
Develop
Requirements:
- macOS
- Node.js 22 or newer
- DeepSeek Harness Web
Run the checks:
npm test
The earlier in-session plugin named fpath-1 was the prototype. This repository is the installable, restart-persistent package.
License
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-task-board★ 8370
Task board for the dsh web GUI: a sidebar multi-column kanban whose cards run in real DSH agent sessions and can also be scheduled with cron expressions, executed host-side even with the browser closed.
zhu1090093659/dsh-web#packages/dsh-web-all★ 8370
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
ccch1mneyyy/dsh-TUI★ 4036
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4004
A fixed-corner whale widget for the DSH web GUI — balance, today's usage and per-turn cost with peak/off-peak pricing, editable balance-alert and daily-budget bubbles, a module-based custom bubble queue with A/B weighted choices and random lines or images, 30+ vendor templates (OpenAI, OpenRouter, Kimi, SiliconFlow, Ark, Zhipu, MiniMax and more) with per-model balance and subscription quota, plus task-end sound, imported audio, custom roles and a resource manager. Local-only, no telemetry.
omdsh-dev/DSH-better-sidebar★ 3992
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
Devin-AXIS/deepseek-design#deepseek-idesign★ 1418
Visual design studio for websites, app prototypes, posters, cards, reports, and magazines, with templates, direct element editing, selection-aware AI draft handoff, and export.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.