DeepSeek Harness plugin

dsh-preview-panel

Multi-tab preview panel plugin for DeepSeek Harness

Jump to install

Source facts

Repository
Jiong-w-ang/dsh-preview-panel
Latest update
Aug 16, 2026
Category
UI Enhancements
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Jiong-w-ang/dsh-preview-panel
Plugin: dsh-preview-panel
Author: Jiong-w-ang

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only
README language

@deepseek-ai/dsh-client-ui-preview

English | 中文

Preview panel for agent-produced artifacts. The browser half registers one entry into the conversation view ring (conversation.view, id preview): it accumulates the files a turn produced (from the mutation tools' render-intent locations, filtered to a preview whitelist) and renders the selected file in a sandboxed surface — HTML in a sandbox-scoped iframe, images and SVG inline, and JSON/Markdown as read-only code. The package is a pure consumer: composing it out of cordis.yml removes the tab at zero cost.

Usage

Compose the package into the client and the preview tab appears beside the chat view:

plugins:
  '@deepseek-ai/dsh-client-ui-preview': true

For each turn the panel accumulates files whose render-intent locations end in a whitelisted extension (.html, .htm, .svg, .png, .jpg, .jpeg, .json, .md), deduplicated by path and newest-turn-first. Selecting a file reads it through the host's session.readFile RPC and renders it by MIME:

  • text/html — a sandbox="allow-scripts" iframe; the page's scripts run against an opaque origin and cannot reach the shell
  • image/png / image/jpeg / image/svg+xml — an inline <img> over a base64 data URL
  • application/json / text/markdown / anything else — a read-only code block (Markdown renders as formatted text)

The host refuses reads outside the session cwd, outside the extension whitelist, or above 20 MiB (5 MiB returns a truncated preview with a warning).

Model Experience

None, as the preview panel renders session data in the browser; nothing here reaches a model request.

#### KV Cache effect

None; this package neither assembles nor sends a provider request.

Known Limitations and Deferred Work

  • File content read is a new host→client RPC — the panel reads produced-file bytes through a session.readFile remote limited to the session cwd, a preview extension whitelist, and a size ceiling; rendering falls back to a not-previewable notice when the host refuses.