UI Enhancements

dsh-preview-panel

Jiong-w-ang/dsh-preview-panel · ★ 1

Jiong-w-ang

A multi-tab preview panel plugin for DeepSeek Harness

License
Unknown
Added
2026-08-16
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-08-19
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add github:Jiong-w-ang/dsh-preview-panel

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

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.