前言¶
在 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 的安全处理和跨工作区的文件读取支持。其源码与目录信息可参考下方链接。