cnskycn
pview-panel
Persistent right-side preview panel for DeepSeek Harness Web: HTML/PDF/PPTX/images/video/audio/text preview with workspace browser
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
pview-panel
Persistent right-side preview panel for DeepSeek Harness (dsh) Web.
View HTML, PDF, PPTX, images, video, audio, text and code — without leaving the chat. Drag a file in, pick one from the current session's workspace, or paste a file path.
Features
- HTML preview — render HTML in an isolated iframe (scripts allowed, sandboxed away from the host), plus "open in system browser"
- PDF viewer — embedded preview with a fallback to open in a new window
- PPTX slides — inline slide-by-slide rendering (text + images) with a download option
- Images / video / audio — blob-URL inline playback
- Text & code — syntax-friendly plain rendering for 40+ extensions
- Workspace browser — browse the session working directory (crumbs navigation, capped listing)
- Drag & drop — drop a local file onto the panel to preview it
- Recent files — quick reopen of the last 6 previews per session
- Preview any produced file — click a produced-file row in chat to load it straight into the panel
Requirements
- DeepSeek Harness (
@deepseek-ai/dsh) with the web profile - Node.js >= 22.19 (dsh requirement; zstd enabled)
Installation
pnpm dsh plugin --profile web add pview-panel
pnpm dsh --profile web
Or add the package to your profile's cordis.patch.yml:
- insert:
- id: pview-panel
name: pview-panel
Usage
After installing, a floating eye button appears on the right edge of the chat. Click it to open the preview panel. The panel has three tabs:
| Tab | Description |
|---|---|
| 📄 文件 | Drag & drop a file, or type a path (relative paths resolve against the session workspace) |
| 🗂 工作区 | Browse the session working directory |
| 🧩 HTML | Edit HTML in a textarea and click ▶ 预览 to render it |
Clicking a produced file row in a chat message also opens it directly in the panel.
How it works
Dual-face plugin:
- Host half (
lib/index.js) — registers a JSON-RPC route (/pview-rpc) on the dsh web server for file reads, directory browsing, and temp-HTML saving. - Client half (
lib/client.js) — the browser UI, registered through theslotsservice. It overrides thedetailsslot at a lower priority so the panel replaces the default details view.
License
MIT