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 倉庫。