dock-images:DSH 生态的图片查看插件

前言

在 DSH(DeepSeek Harness)环境中,当涉及文件域操作时,需要专门的组件来处理不同类型的文件展示。对于图片文件,通用组件往往难以兼顾性能与安全性。dock-images 旨在解决这一痛点,提供一套专用的图片查看方案。

是什么

dock-images 是一个由 AKS1st 维护的客户端插件。它为 dock-files 文件域注册了 image 查看器,用于接管栅格和图片扩展名的文件展示,通过 /dock-images 路由读取图片内容。

核心功能

  • 多格式支持:支持 PNG、JPEG、GIF、WebP、BMP、SVG、ICO、AVIF 八种常见图片格式。
  • 整文件读取:插件一次性读取文件内容并转换为 base64 数据 URL 进行渲染。如果文件大小超过 20 MiB,读取操作会在前即被拒绝,返回 413 状态码。
  • SVG 安全:SVG 文件仅通过 <img src="data:..."> 标签进行渲染,不会执行 innerHTML 注入,防止潜在的安全风险。
  • 内存与路径:由于采用整文件读取,超大图片可能会占用较多内存(目前没有像素级上限)。读取路径不限定会话工作区,支持打开对话上下文中提及的工作区外的图片。

安装与启用

该插件需要与 dock-base 和 dock-files 一起安装。请按顺序执行以下命令:

dsh plugin --profile web add dock-base
dsh plugin --profile web add dock-files
dsh plugin --profile web add dock-images

典型用法

  • 共存使用:与 dock-editor、dock-markdown 等查看器共存,系统会根据文件扩展名自动分配对应的查看器。
  • 分发打开:dock-images 作为 image 查看器被分发打开,用于在 DSH 环境中展示图片内容。

注意事项

  • 依赖项:
  • 必需依赖:dock >= 0.1.0、dock-files >= 0.1.0、DSH Web 环境、cordis ^4.0.0-rc.7。
  • 可选依赖:react ^18.2.0(客户端渲染需要;未提供时查看器 UI 不会激活)。
  • 路由安全:/dock-images 路由只接受受信任来源(回环地址 / trustedHosts + 同源检查)的 POST 请求。
  • 文件大小限制:文件读取有 20 MiB 的上限,超过该大小会被拒绝。

结尾

dock-images 提供了在 DSH 环境下查看图片的底层能力,特别是对 SVG 的安全处理和跨工作区的文件读取支持。其源码与目录信息可参考下方链接。

羽毛球分组比赛记分
小程序二维码

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

小夜