Jiong-w-ang / dsh-preview-panel

Listed

A multi-tab preview panel plugin for DeepSeek Harness

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:Jiong-w-ang/dsh-preview-panel

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 312552fSynced Aug 18, 2026

@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.

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
TypeScript
License
Not reported
Last updated
Aug 16, 2026, 12:45 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.