dsh-markdown-preview:在 DSH Web 中内联预览 produced files

前言

在 DeepSeek Harness Web 里,智能体一轮执行后经常会生成 Markdown、代码、图片或文本文件。默认点击 produced-file chip 会把文件交给系统默认应用处理;如果只是快速确认产物,打开原生应用或新标签页的成本偏高。

dsh-markdown-preview 针对这个场景,将点击行为替换为对话内预览:保留原有 produced-files 行,但让 Markdown、图片、代码和受限文本直接在会话中展开。

这是什么

dsh-markdown-preview 是一个 DSH 社区插件,用于在 DSH Web 中预览 produced files。当前 package.json 版本为 0.3.0,许可证为 MIT。

它解决的是“文件已经生成,但我想马上看一下内容”的问题。插件不会改变文件落盘位置,也不提供写入能力。

核心能力

点击 chip 后在对话中预览

安装并重启后,当某轮次生成文件时,点击 produced-file chip 可切换预览面板。

预览不打开原生应用,也不打开新标签页。

Markdown、代码、图片和纯文本

  • Markdown 在服务端使用 markdown-it 渲染,支持 GFM 表格、围栏代码、引用、链接和硬换行;围栏代码使用 highlight.js 高亮。
  • 代码文件支持 40+ 扩展名,在服务端使用 highlight.js 高亮,并以深色编辑器样式显示。
  • 图片支持 PNG、JPEG、GIF、WebP、SVG,作为 data URL 内联预览;SVG 通过 <img> 加载时不会执行脚本。
  • 其他文本文件使用纯文本回退;二进制文件会被嗅探并拒绝预览。

全屏与面板操作

预览面板头部提供文件大小、全屏、复制内容、在系统应用中打开和折叠操作。

Markdown、图片、代码或纯文本预览可以展开为全屏 overlay,通过按钮或 Esc 关闭。

保留原有体验

该插件保留原有 produced-files 行体验:chips、“+ N files”、“Show in folder”和 inline code-mentions 仍可正常工作。

预览面板使用 DSH 主题变量适配明暗主题,并修复深色模式下文字不可读的问题。

安装与启用

先确认环境满足:DSH 版本不低于 0.1.0-rc.6,并且 PATH 中有 pnpm,因为 dsh plugin 会转发到 pnpm

安装命令:

dsh plugin --profile web add dsh-markdown-preview

安装后重启 dsh web

无需额外配置。插件生效后,只要某轮次生成了文件,点击 produced-file chip 即可切换预览面板。

卸载

dsh plugin --profile web remove dsh-markdown-preview

开发模式

如果想基于源码修改,可以克隆仓库后以本地路径安装:

git clone https://github.com/GitHubJiKe/dsh-markdown-preview.git
cd dsh-markdown-preview
npm install
dsh plugin --profile web add file:$(pwd)

完成后重启 dsh web。该方式会使用当前工作副本,适合调试。

运行机制与安全边界

插件分为 host 端和 client 端。

Host 端注册 /preview RPC channel,并放在 loopback trust fence 下。它负责读取 Markdown、图片、代码或受限文本;打开系统应用的动作代理到 host.openPath

Client 端接管 deliverables 事件和 conversation.chat.turnTail slot,禁用官方 ui-deliverables 行,并重新提供相关 prompt section/chatFileMentions。

渲染发生在 host 端,浏览器侧保持轻量并负责展示。

安全相关限制:

  • 预览通道仅限 loopback,并受 connection trust fence 保护。
  • 预览是只读的,没有写入端点。
  • Markdown 使用 html:false,原始 HTML 会被转义;链接受 markdown-it 默认 validateLink 限制为 http(s)/mailto/#
  • 文本文件上限为 1 MiB,图片上限为 4 MiB;超限时显示显式截断提示。
  • 二进制文件会被嗅探并拒绝预览。

因为插件会在 DSH 进程中注册通道并读取文件,安装前建议检查源码、依赖和许可证。当前依赖包含 highlight.js ^11.11.1markdown-it ^15.0.0

适合谁

适合经常使用 DSH Web 调试智能体产物的人,尤其是需要频繁查看 Markdown、代码和图片,但不想每次切换原生应用的开发者。

如果主要需求是文件树、路径提及、HTML 导出或 Web 项目预览,该插件不是对应工具;它专注于在官方 produced-files 行上提供内联预览。

链接

  • GitHub:https://github.com/GitHubJiKe/dsh-markdown-preview
  • 目录页:https://www.skillhub.cn/plugins/GitHubJiKe/dsh-markdown-preview
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜