DSH(DeepSeek Harness)採用插件化架構,旨在通過擴展組件豐富功能。DeepSeek 官方接口爲純文本模型,當在 Web UI 中發送圖片時,適配器會因消息中包含 ImageBlock 而拋出 UNSUPPORTED_CONTENT 錯誤,導致會話中斷。多模態視覺橋插件通過代理 llm/stream 請求,將圖片轉化爲結構化的中文描述,並註冊主動視覺工具,從而讓純文本模型具備處理圖片的能力。
插件簡介¶
dreamrift/dsh-vision-bridge 是 DSH 生態下的多模態視覺橋插件,由開發者 DreamRift 維護。它位於“模型推理”分類,採用 MIT 許可證。
插件的核心價值在於“橋接”:它不修改 DSH 核心源碼,而是通過攔截和代理機制,爲不支持圖片的模型(如 dsh-llm-deepseek)提供視覺能力,同時兼容原生支持多模態的模型鏈路。
核心功能¶
插件主要提供以下四項核心能力:
-
llm/stream請求攔截與代理
插件監聽並攔截llm/stream請求。當消息中包含ImageBlock時,插件會將其轉換爲結構化的中文描述(包含對圖中文字的轉錄),替換爲文本塊後重新發送。該過程支持跨輪次緩存以保持 KV cache 穩定性,並具備失敗降級機制。 -
主動視覺工具
插件註冊了兩個工具供模型調用:view_image:查看本地圖片,並按問題回答。ocr_image:對圖片進行逐字轉錄。
-
原生多模態路由探測
插件運行時會探測當前使用的模型路由。如果檢測到 DSH 官方llm-pi-ai等原生支持圖片的模型(inputModalities包含image),則直接直通請求,避免視覺橋的開銷;僅對純文本路由(如deepseek-official)啓用視覺代理。 -
設置頁熱更新
插件支持在 DSH 設置頁(插件配置)中修改視覺模型的端點、模型名稱和 OCR 模型。配置修改後無需重啓即可生效。
安裝與啓用¶
官方安裝¶
推薦使用官方安裝命令,插件已被收錄至目錄:
dsh plugin --profile web add "github:DreamRift/dsh-vision-bridge"
手動安裝¶
如果需要從源碼安裝:
- 克隆倉庫並生成安裝包:
cd dsh-vision-bridge
npm pack
- 在
$DSH_HOME/profiles/web/package.json中聲明依賴:
{
"dsh": { "profile": { "bundles": ["dsh-vision-bridge"] } },
"dependencies": {
"dsh-vision-bridge": "file:<本倉庫絕對路徑>/dsh-vision-bridge-0.4.0.tgz"
}
}
- 安裝 profile 依賴:
cd "$DSH_HOME/profiles/web"
pnpm install
配置密鑰¶
在 DSH 根目錄的配置文件 $DSH_HOME/.credentials.yaml 中寫入視覺模型的 API 密鑰:
QWEN_MM_VISION_API_KEY: sk-<your-key>
安裝完成後,重啓 dsh web,日誌中應出現 [vision-bridge] 已啓用 的提示。
典型用法¶
安裝並配置完成後,在 DSH 的對話中:
- 自動處理圖片:直接上傳圖片,插件會自動將其轉換爲文字描述並放入上下文,模型即可基於圖片內容進行回答。
- 使用工具:在 Prompt 中或模型主動調用時,可以使用
view_image查看本地文件,或使用ocr_image獲取圖片的文字內容。 - 修改配置:進入設置頁 → 插件配置,修改視覺模型端點或 OCR 模型名稱,保存後即刻生效。
注意事項¶
- 運行環境:支持 Windows、Linux 和 macOS,無需 Python 或 WSL 環境。
- 依賴管理:插件沒有硬編碼的 npm 依賴。如果運行時動態 import 缺少
dsh-settings/schemastery/dsh-tools等包,對應功能會自動降級。 - 核心修改:插件不修改 DSH 核心源碼,也不寫入會話事件。
- 腳本修改:如果在部署後修改了路由准入豁免腳本,需要重啓 DSH 後端才能生效。
- 生態定位:本插件爲社區項目,與 DeepSeek 官方無隸屬關係。
總結¶
dsh-vision-bridge 通過輕量級的代理和工具註冊機制,解決了 DSH 生態中純文本模型無法處理圖片的問題。它利用原生路由探測優化性能,並通過設置頁提供靈活的配置方式,適合需要在本地 DSH 環境中增強模型視覺能力的開發者使用。
- 目錄頁: DSH 插件目錄
- GitHub 倉庫: dreamrift/dsh-vision-bridge