dsh-web-ui
zhu1090093659
Plugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:a903067276-rgb/dsh-file-mentions
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
Clickable file paths in DSH replies — a DeepSeek Harness (DSH) web plugin with a Codex-style experience.

Inline paths wrapped in backticks (`~/...`, absolute, relative, or Chinese paths) become
click-to-open; each clickable path carries a small 📂 button that reveals the file in your
file manager; a "📎 mentioned files" chip list at the turn tail covers the rest. URLs are
already auto-linked by the official renderer, so this plugin leaves them alone.
| Where | What | Effect |
|---|---|---|
| Inline path text | click | Open with default app / open directory |
| 📂 after inline path | click | Reveal in file manager (macOS Finder) |
| "📎 mentioned files" chip | click name | Preview content inside DSH |
| 📂 in the chip list | click | Reveal in file manager |
| Inline URL | click | Browser opens it (official autolink) |
Supports ~/ expansion, relative paths (resolved against the session cwd), and absolute
paths in macOS / Linux / Windows forms. Non-existent paths silently do nothing.
dsh plugin --profile web add "github:a903067276-rgb/dsh-file-mentions#main"
Restart dsh web. Requires pnpm on PATH (dsh plugin forwards to pnpm).
See docs/install.md: symlink into
~/.dsh/profiles/web/node_modules/ plus a single entry in ~/.dsh/cordis.patch.yml
(a double entry makes the plugin apply twice and crash on duplicate route registration),
then restart.
Have the agent wrap paths in backticks (e.g. `~/docs/plan.md`) to make them clickable
inline. The tail chip list appears automatically — no configuration.
| Platform | Status |
|---|---|
| macOS | ✅ fully tested (incl. Chinese paths) |
| Linux / Windows | ⚠️ not tested; expected to work (command branching and path parsing implemented) |
lib/index.js): two routes — /api/file-mentions/check (existence check) and
/api/file-mentions/open (system open, mode: open/reveal, per-platform command). Pure
Node stdlib; execFile avoids shell injection.lib/client.js): a conversationEvents collector extracts paths from each
reply → publishes them to turn data → the tail list filters non-existent paths before
rendering; inline clicks use a document-level click delegation (the official render
entry is occupied by the official "deliverables" plugin, so DOM delegation is the only
viable path); inline 📂 buttons are inserted by a MutationObserver and restored
automatically after React re-renders.See docs/architecture.md.
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: file-mentions、web-ui。