DSH 插件:dsh-inline-media-viewer(內聯媒體預覽)

前言

在使用 DeepSeek Harness (DSH) 進行對話時,經常會遇到引用本地文件路徑或遠程媒體鏈接的情況。通常的做法是將這些鏈接複製出來,在瀏覽器中打開,再截圖或重新粘貼回來,這增加了交互成本。dsh-inline-media-viewer 插件解決了這個問題,它允許在對話流中直接渲染圖像、視頻和音頻,無需將文件複製到聊天記錄中。

插件介紹

dsh-inline-media-viewer 是一個由 Wisdoverse 維護的 DSH 客戶端插件。它的核心作用是在 DeepSeek Harness Web 界面中,將文本中提及的媒體路徑和 URL 轉換爲安全的內聯預覽。這包括本地文件(工作區安全)、直接的網絡媒體,以及可選的 ComfyUI 代理支持。

核心功能

  • 內聯渲染:在對話回合下方直接顯示圖片、視頻和音頻元素。
  • 工作區安全的讀取:使用 realpath 解析本地路徑,拒絕遍歷攻擊、工作區外的路徑以及符號鏈接逃逸。
  • 可選 ComfyUI 代理:從配置的 ComfyUI 源服務器端獲取識別到的媒體 URL。
  • 有界傳輸:限制文件或響應大小爲 48 MiB,遠程請求超時時間爲 20 秒。
  • 用戶控制:提供自動渲染開關、每輪最大項目數限制、媒體高度設置以及 ComfyUI 原點配置。

安裝與啓用

該插件支持 DSH v0.1.7-rc.2 和 v0.2.0-rc.2。安裝需要在 Web 配置文件中執行以下命令:

dsh plugin --profile web add @wisdoverse/dsh-inline-media-viewer@1.0.12

安裝後請重啓 Web 配置文件以激活插件。

配置

進入 Settings → 媒體預覽 / Media preview 進行設置。所有設置均存儲在活動 DSH 配置文件中。

設置項 默認值 允許值
自動渲染檢測到的媒體 On On / off
每輪最大項目數 12 1 - 30
最大媒體高度 380 px 160 - 1200 px
ComfyUI 原點 (可選) 空 http(s)://host[:port]

ComfyUI 原點配置說明:
* 若不使用 ComfyUI,請留空。
* 若留空,默認使用 http://127.0.0.1:8188。
* 接受格式爲 http(s)://host[:port] 或裸 host[:port](默認 HTTP)。
* 默認端口:HTTP 爲 8188,HTTPS 爲 443。
* 不接受憑據、路徑、查詢字符串或片段。
* 原點必須從 DSH 主機進程可達。對於容器化環境,請使用容器內部可見的地址。
* 寫入權限限制爲 loopback 連接;遠程瀏覽器只能通過插件的認證 RPC 通道讀取這些設置。

安全與限制

該插件被設計爲本地信任輔助工具,而非通用文件或網絡代理:

  • 本地讀取:僅限於活動會話的工作區及已知的媒體擴展名。
  • 遠程讀取:僅能指向配置的 ComfyUI 原點,拒絕重定向。
  • 傳輸限制:本地文件和遠程響應均限制爲 48 MiB。
  • 設置寫入:限制爲 loopback 連接。
  • 數據格式:瀏覽器以 data: URLs 的形式接收媒體。

開發與維護

  • 倉庫:https://github.com/Wisdoverse/dsh-inline-media-viewer-plugin
  • 許可證:MIT
  • 開發環境:項目依賴 @deepseek-ai/cordis 和 @deepseek-ai/schemastery。
  • 目錄鏈接:https://www.skillhub.cn/plugins/Wisdoverse/dsh-inline-media-viewer-plugin

總結

dsh-inline-media-viewer 通過在對話流中直接渲染媒體,簡化了媒體引用的查看流程。結合對本地文件路徑的安全處理和可選的 ComfyUI 代理功能,它在保持輕量級的同時,提供了實用的媒體預覽能力。

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

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

小夜