Plugin directory / Developer / dsh-pathlink
dsh-pathlink
Unverified penguin-oo
What it does
Ctrl+click file paths and links in DeepSeek Harness chat: paths open their folder in the OS file manager, links open in a new browser tab.
Unverified — not yet verified
Ctrl+click file paths and links in DeepSeek Harness chat: paths open their folder in the OS file manager, links open in a new browser tab. Not yet verified — install and test it yourself.
“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-pathlink
Ctrl+click file paths and links in DeepSeek Harness chat.
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 (Windowsexplorer /select, macOSopen -R, Linuxxdg-openon 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.
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.


① 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
- Wait for a settled message that mentions a path or a link — recognized
tokens get a dotted underline. - Hold Ctrl (or ⌘ on macOS) and click.
- Path → folder opens in Explorer/Finder with the file selected.
- Link → opens in a new browser tab.
- Relative paths resolve against the session's workspace directory first,
then the harness working directory; missing paths show a toast.
Config
| Key | Default | Meaning |
|---|---|---|
maxPathChars |
1024 |
Longest accepted path text, in characters |
How it works
- Client half (
dsh.client, platformweb): 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 officialchatFileMentionsseam is deliberately not used so
the plugin never conflicts with the built-in deliverables provider and
covers every surface uniformly. - Host half (
pathlinkRemote service): one read-onlyopenmethod 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.
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-pathlink for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:penguin-oo/dsh-pathlink Headless (CLI) profile:
dsh plugin --profile headless add github:penguin-oo/dsh-pathlink Test report
Not yet L3-verified — see failure note below if we already ran it.