Back to home

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:

TabDescription
📄 文件Drag & drop a file, or type a path (relative paths resolve against the session workspace)
🗂 工作区Browse the session working directory
🧩 HTMLEdit 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 the slots service. It overrides the details slot at a lower priority so the panel replaces the default details view.

License

MIT