前言¶
DeepSeek Harness (DSH) 是一個用於智能體開發的框架。在對話調試或演示場景中,讓大模型直接查看本地圖片文件是常見需求。傳統的做法通常是將圖片轉爲 Base64 字符串,但這會顯著膨脹會話日誌,並增加網絡傳輸負擔。dsh-plugin-show-image 插件通過全局工具與按需 HTTP 路由,解決了這個問題,它能在對話流中內聯渲染本地圖片,且不佔用模型上下文。
核心功能¶
該插件主要由 justhalfbit 維護,提供以下能力:
- 內聯圖片渲染:在對話流中直接顯示本地圖片,無需離開會話界面。
- 點擊放大:縮略圖支持點擊,通過全屏 Lightbox 浮層查看大圖,支持點擊任意位置或按 Escape 關閉。
- HTTP 按需傳輸:圖片字節通過專用 HTTP 路由(
GET /show-image?path=…)傳輸,不進行 Base64 編碼,且圖片數據不會進入會話日誌。 - 零依賴零構建:純手寫 JavaScript,無 npm 依賴、無構建步驟、無 TypeScript。
- 安全守衛:限制 8MB 文件大小,支持擴展名白名單(防止原型鏈污染),不支持的格式會被拒絕。
- 完全可逆:所有副作用(工具註冊、HTTP 路由、卡片渲染器)綁定在插件 fiber 上,卸載即清理。
安裝與啓用¶
安裝前需確保已安裝 DSH 並在 PATH 中包含 pnpm。
dsh plugin --profile web add github:justhalfbit/dsh-plugin-show-image
安裝後,需重啓 dsh web 使配置生效。卸載命令爲:
dsh plugin --profile web remove dsh-plugin-show-image
使用方式¶
安裝並重啓後,該插件會在所有會話中註冊全局工具 show_image。開發者可以直接對 Agent 發出指令:
把 /path/to/image.png 顯示出來
Agent 調用該工具後,圖片會以內聯卡片的形式渲染在對話流中。點擊圖片即可查看大圖。
限制與注意事項¶
- 運行環境限制:僅適用於
dsh web(瀏覽器 GUI)profile。在tui或headless環境下不可用。這是因爲插件依賴webServer服務,且在無渲染面的終端中註冊一個無法渲染的工具會誤導模型。 - 路徑解析規則:相對路徑按 DSH 進程的工作目錄解析,而非當前會話的工作目錄。建議優先使用絕對路徑。
- 權限模型:本機任何進程均可通過 GUI 端口讀取本地圖片文件,這與 DSH GUI 既有的本地信任模型一致,無需額外擔憂。
生態與鏈接¶
該插件遵循 MIT 許可證,完全開源。更多技術細節、目錄索引及源碼倉庫可參考下方鏈接: