DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-visualize

Visualize

visualize_html 工具 + dsh Web UI 的沙盒化 HTML 预览卡片(Codex /vizualize 类似功能)

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-visualize@0.2.1
README兼容性版本

兼容性与来源证明

Visualize 以 dsh-visualize 发布,当前版本为 0.2.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/11/5

版本

0.2.1stable
2026/8/17
0.1.0stable
2026/8/17

相关插件

正在加载相关插件…

最新版
0.2.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
21.7 kB
文件数
6
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
44
最近提交
2026/9/20
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

dsh-visualize

Out-of-tree DSH (DeepSeek Harness) plugin: the visualize_html tool plus a sandboxed HTML preview card in the Web chat — a Codex /vizualize analogue rendered inside the conversation.

What it does

  • Node half (src/index.ts, mounts in the host loader tree): registers the visualize_html(path) tool and the human-facing /visualize [path] command. It resolves the path against the session workspace, reads the file through ctx.fs (the profile's sandbox policy applies), shows the model only a short summary, and embeds the capped HTML in the durable presentationMeta (tool/result.meta → ToolResultNode.meta). The HTML never enters model context; the canonical value is execution-local.
  • Browser half (src/client.tsx, a dsh.client dual-face package): registers the visualize_html keyed view in the tool.call.toolview slot. The settled card renders meta.html in an iframe with sandbox="allow-scripts" (no allow-same-origin → opaque origin: scripts run but cannot reach the page, cookies, storage, or same-origin resources), plus Open in browser (existing host.openPath) and Copy HTML.

User-facing surface

  • /visualize <path> — slash command (discovered by the Web command menu): steers a user turn that calls visualize_html, so the preview card appears in the chat.
  • Bare /visualize (no path) — a request to the model to create a visualization: it thinks about what would be useful in the current context, builds it as a self-contained HTML file, and renders it with visualize_html.
  • The model also sees the tool:visualize_html prompt section and the tool schema itself — that guidance is what makes the command work end to end.

Install

Published to npm: dsh-visualize.

# the profile is a pnpm workspace root, so -w is required
dsh plugin --profile <name> add -w dsh-visualize

The package is a bundle — it declares dsh.bundle.patch and ships its own cordis.patch.yml, so dsh plugin add registers it as a profile layer automatically (no manual patch rows). Then restart the profile (the shipped web surface disables HMR, so profile layers are not watched live):

dsh --profile <name> --port 3081

Local development checkout (live link, rebuilds picked up on page refresh):

dsh plugin --profile <name> add -w link:/path/to/dsh-plugins/visualize

Runtime config (row visualize):

config:
  maxPreviewBytes: 262144   # cap on the HTML embedded in the durable result

Development

pnpm install            # from the repo root (pnpm workspace)
pnpm --filter dsh-visualize build      # tsdown → lib/index.mjs + lib/client.js
pnpm --filter dsh-visualize typecheck  # tsc --noEmit
pnpm --filter dsh-visualize test       # node --test (node half unit tests)

After a rebuild, refresh the browser page — the client bundle is served no-cache; a server restart is only needed when the loader tree changes.

Limitations

  • Sibling assets do not load — srcdoc has no base URL, so relative CSS/images next to the file are not fetched inside the preview; self-contained HTML renders fully. (Deferred: a host RPC to serve sibling assets.)
  • Preview truncation is a hard byte cap; the full file opens via the browser.
  • The card is Web-only (keyed tool view); headless surfaces see the summary text.