DSH Plugins Marketplace

DSH Plugins

Plugins

/

UI & Experience

/

dsh-pathlink

d

dsh-pathlink

Manifest valid

Ctrl+click file paths and links in chat: paths open their folder in the OS file manager (with the file selected), links open in a new browser tab.

UI (client)hasBundlePatch

dsh-pathlink

English · 中文

Ctrl+click file paths and links in DeepSeek Harness chat; drop a file to get its path.

Recognizes file paths and URLs in rendered chat messages (assistant replies, user bubbles, code blocks, tool cards), marks them with a subtle dotted underline, and opens them with Ctrl+click (⌘ on macOS):

  • Path → containing folder — the file's folder opens in the OS file manager with the file selected (Windows explorer /select, macOS open -R, Linux xdg-open on the parent directory). A path that names a directory opens the directory itself.
  • Link → new browser tab — covers bare URLs the renderer did not linkify (e.g. in user bubbles); markdown links already open in new tabs natively.

Drop or paste any file → its path lands in the composer (images keep the built-in attachment flow):

  • the file exists on this machine → its real path is inserted (e.g. D:\proj\src\a.ts);
  • it cannot be located (USB stick, network drive, unregistered folder) → a copy is saved under %TEMP%\dsh-drops\ and that path is inserted, with a notice saying so;
  • no full-screen "drop images here" overlay and no "images only" rejection — the path just appears where the caret was.

Plain clicks stay inert, so text selection and copy are never disturbed. When a path does not exist, a small toast explains why instead of failing silently.

ctrl+click tooltip

recognized path in chat

① Hovering a path shows the Ctrl+click hint — Ctrl+click opens the containing folder with the file selected · ② The recognized path in a real conversation (dotted underline).

Install

dsh plugin --profile web add dsh-pathlink

or via GitHub:

dsh plugin --profile web add github:penguin-oo/dsh-pathlink

Restart the web GUI afterwards. Requires the web profile (a browser is the only surface that can receive the click).

Usage

  1. Wait for a settled message that mentions a path or a link — recognized tokens get a dotted underline.
  2. Hold Ctrl (or ⌘ on macOS) and click.
    • Path → folder opens in Explorer/Finder with the file selected.
    • Link → opens in a new browser tab.
  3. Relative paths resolve against the session's workspace directory first, then the harness working directory; missing paths show a toast.
  4. Drop any file onto the composer (or paste a file from the clipboard): its path is inserted at the caret.

Config

KeyDefaultMeaning
maxPathChars1024Longest accepted path text, in characters
dropRoots[]Extra search roots for a dropped file (tried first)
dropMaxDepth6Recursion cap for one locate scan
dropBudgetMs2500Time budget for one locate scan
dropLimit10Matches collected per root
dropDir''Where an unlocatable drop is copied; '' = %TEMP%\dsh-drops

Search order: dropRoots → the harness's own workspace list (harvested) → process cwd / Desktop / Downloads / Documents. Debug endpoint: GET /pathlink/drop/state.

How it works

  • Client half (dsh.client, platform web): a MutationObserver-driven scanner watches the rendered conversation containers (data-chat-flow / data-conversation-scroll), recognizes paths and URLs in text nodes, wraps matches in inert inline spans, and handles one delegated capture-phase click listener. The official chatFileMentions seam is deliberately not used so the plugin never conflicts with the built-in deliverables provider and covers every surface uniformly.
  • Host half (pathlink Remote service): one read-only open method that resolves relative paths against the addressed session's working directory, verifies existence, and launches the platform file manager. No durable state; it never creates or resumes an Agent or Session.

Development

npm install
npm run build   # bundle src/client → lib/client.js
npm run smoke   # Remote markers + Typert manifest validation
node scripts/e2e-synthetic.mjs   # browser E2E against http://127.0.0.1:3738

docs/demo.html is built with node scripts/build-demo.mjs (reuses the production recognizer) and screenshotted by node scripts/e2e-screenshot.mjs.

Limitations

  • Web GUI only (the click surface is a browser); the host opener covers Windows / macOS / Linux.
  • Path recognition is heuristic: CJK directory names survive, but a path whose final segment is a bare English word (no extension) followed directly by prose may occasionally be over-matched — the existence check then shows the not-found toast instead of opening anything wrong.

License

MIT

Acknowledgements

Built for the DeepSeek Harness plugin ecosystem — thanks to the community on LINUX DO for feedback and testing.

Compatibility

DSH 0.1.7-rc.2: failedDSH 0.2.0-rc.1: failedDSH 0.2.0-rc.2: failed

Versions

Latest versionPublishedSize
0.1.0——
0.1.1——
0.1.2——
0.1.3——
0.1.4——

Comments

Loading…

Similar plugins

dsh-file-actions

by jidekaixin2dian

Right-click any file reference in the chat to open it, open it with an associated application, reveal it in the file manager, copy its path or contents, and save it.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 28, 2026

dsh plugin --profile web add @jidekaixin2dian/dsh-file-actions

by sailoumili

DSH 插件:对话里的文件与目录路径点一下就打开——可预览的在右侧侧边栏显示,其余用系统默认程序打开。Click file and directory paths in DSH chat to preview them in the right sidebar or open them with the system default application.

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 3, 2026

dsh plugin --profile web add dsh-file-opener

by XcodeFish

Adds a right-click menu on file references in chat output, listing registered applications with icons for open-with, revealing files in the file manager, and copying absolute or relative paths resolve

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 1, 2026

dsh plugin --profile web add @codefisher798/dsh-file-link-menu

by dreammaker2016

该仓库暂未提供项目说明。

Tools & CapabilitiesUI & ExperienceTerminal & ClientsManifest valid

★ 1

MIT

JavaScript

Sep 21, 2026

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

by InnovationLou

Right-click menus for DeepSeek Harness chat links: open with an application, reveal in the file manager, copy the path, save a copy, and open or copy URLs.

Manifest valid

★ 0

MIT

JavaScript

Oct 20, 2026

dsh plugin --profile web add dsh-link-actions

Codex-style right-click menu for the DSH web GUI: files, chat file paths, and hyperlinks.

UI & ExperienceTerminal & ClientsManifest valid

★ 0

dsh plugin --profile web add dsh-right-click-menu