DeepSeek Harness 插件:dsh-viewer

DeepSeek Harness(DSH)的设计理念是「一切皆插件」。在 0.1.7 之前的版本中,内置的 read_image 工具仅负责将图片放入模型上下文,在纯文本模式下会拒绝处理,且在旧版 Web 客户端中仅显示一行文本。dsh-viewer 插件反转了这一逻辑:它的职责是将文件呈现在屏幕上,而非仅仅放入上下文。只要浏览器能播放的媒体,都在其覆盖范围内。

插件简介

该插件由 Crosery 维护,基于 MIT 许可证。它通过 display_file 工具,在 DeepSeek Harness 的 Web UI 和桌面应用中,直接内联渲染图像、视频、音频、PDF、Office 文档和本地网页,并附带真正的播放器而非文件名和字节数。

核心功能

  • 多格式渲染:支持 36 种文件扩展名,涵盖 6 种渲染类型:图像、视频、音频、PDF、文档和网页。
  • 媒体能力:视频和音频支持范围请求(seekable),具备真实进度条。
  • 网页沙箱:本地网页通过沙箱 iframe 渲染。
  • 文档缓存:转换后的 PDF 存储在本地缓存中,避免重复转换。

安装与启用

Web 界面安装

dsh plugin --profile web add github:crosery/dsh-viewer

配置与重启

将包名添加到 profile 的 package.json 中的 dsh.profile.bundles,然后重启配置文件。插件代码随发布版本附带了编译好的文件,无需额外构建步骤。

桌面应用安装

在桌面应用中,打开 Plugins -> Add plugin,粘贴 release tarball URL(例如 https://github.com/Crosery/dsh-viewer/releases/latest/download/dsh-viewer.tgz)。由于桌面 profile 由 Electron 应用管理,CLI 不支持直接安装。

依赖要求

渲染 RTF 和 OpenDocument 文档需要安装 LibreOffice。安装后,该插件会自动调用 LibreOffice 进行转换。

安全与注意事项

安全机制

  • 路径通过 HMAC 签名验证,不接受浏览器直接传入的路径,需通过签名 URL 访问。
  • 签名密钥位于 $DSH_HOME/.dsh-viewer-asset-key,权限为 0600。
  • text/html 和 image/svg+xml 携带 Content-Security-Policy,防止跨站脚本攻击。

缓存策略

  • 缓存路径:$DSH_HOME/.dsh-viewer-cache/。
  • 过期规则:30 天不活动过期。
  • 大小限制:最大 256 个文档或 512MB,采用最近最少使用(LRU)淘汰策略。

版本兼容性

  • Harness 0.1.7 需要 0.2.0 或更高版本。
  • Harness 0.1.0-rc.2 到 0.1.7 需要 0.2.1 或更高版本。

总结

dsh-viewer 解决了 DSH 插件生态中文件展示缺失的问题,通过统一的 display_file 工具,将文件处理从模型上下文分离到了用户界面层。更多详情可参考插件目录或 GitHub 仓库。

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

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

小夜