Bundle
dsh-preview-panel
Multi-tab preview panel plugin for DeepSeek Harness
- Source
- Jiong-w-ang
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 6 days ago
Readme
# @deepseek-ai/dsh-client-ui-preview English | [中文](README.zh.md) 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: ```yaml 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.
Install
dsh plugin --profile web add github:Jiong-w-ang/dsh-preview-panel
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-preview-panel from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.