前言¶
在使用 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 代理功能,它在保持輕量級的同時,提供了實用的媒體預覽能力。