前言¶
在 DeepSeek Harness (DSH) 中,純文本聊天模型無法直接處理圖片,默認行爲是返回佔位符。nvbb/dsh-ollama-vision-bridge 是一個插件,通過本地 Ollama 視覺語言 (VL) 模型(默認 qwen3-vl:8b)對圖片進行描述,並將描述注入到對話上下文中,使文本模型能夠基於圖片內容進行回答。
核心功能¶
- 自動描述:當聊天選中的模型不支持圖片時,自動用本地 Ollama VL 模型描述圖片。
- 同步注入:把說明在同一個模型步驟裏注入給模型。
- 歷史保留:圖片本身保留在對話歷史裏。
- 顯存冷卻:推理結束後模型在顯存中只駐留一小段時間,空閒即自動卸載。
- 補丁管理:給
dsh-api-session-controller打一個冪等補丁。 - 行爲回退:回退到 DSH 原有的拒絕行爲。
- 狀態查詢:提供
/vision-bridge狀態命令。 - 自動掛載:自動掛進 profile 的 bundles 層。
安裝與啓用¶
安裝前必須先停止正在運行的 dsh web,否則 node_modules 可能會被鎖住。
# 從 GitHub 安裝
dsh plugin --profile web add git+https://github.com/nvbb/dsh-ollama-vision-bridge.git
# 或者本地開發/調試安裝
dsh plugin --profile web add file:<倉庫的本地路徑>
# 應用補丁(冪等操作,可重複執行)
node "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-ollama-vision-bridge\patch\apply.mjs"
# 更新插件
dsh plugin --profile web update dsh-ollama-vision-bridge
# 檢查補丁狀態
node patch/apply.mjs --check
# 運行冒煙測試(需本地 Ollama 在運行且模型已下載)
node test/bridge-smoke.mjs
# 確認 Ollama 模型列表
ollama list
配置¶
配置項位於 DSH 的 settings.yaml 文件中,與 llm-pi-ai 配置段同級。插件支持熱加載,修改配置後無需重啓。
vision-bridge:
enabled: true # 總開關;false 時恢復 DSH 原生拒絕
baseURL: http://127.0.0.1:11434 # Ollama 服務地址
model: "qwen3-vl:8b" # 默認使用的視覺模型
keepAlive: "60s" # 顯存冷卻時間,空閒後卸載
# models: # 可選:按模型映射不同的視覺模型
# "deepseek-v4-flash": "qwen3-vl:8b"
典型用法¶
在 DSH 的 Web GUI 中,選擇一個純文本模型(不支持圖片),發送一張圖片。插件會自動識別圖片內容,並在界面上生成一條摺疊的“上下文注入”消息,隨後模型會基於圖片描述給出回答。圖片本身保留在歷史記錄中,但不會直接發給文本適配器,而是通過本地 VL 模型獲取描述。
適用場景與限制¶
此插件適用於需要在本地環境運行、保護隱私且不想依賴雲端 API 的場景。安裝前需確保 Ollama 正在運行且包含 qwen3-vl:8b 等視覺模型。
主要限制如下:
1. 依賴 dsh-api-session-controller 的 prompt 處理器兩個穩定錨點,若 DSH 大版本變動可能導致報錯。
2. 僅覆蓋 Web GUI 普通會話的聊天發圖路徑,子代理等平行入口的圖片拒絕行爲不在此列。
3. 直接選中 VL 模型(如 qwen3-vl:8b)發圖時,走 DSH 原生通道,不經過橋接邏輯。
總結¶
該插件解決了本地 DSH 環境中純文本模型無法理解圖片的問題,通過 Ollama 本地視覺模型實現了無需公網 API 的圖片理解能力。
- 目錄頁: https://www.skillhub.cn/plugins/nvbb/dsh-ollama-vision-bridge
- GitHub 倉庫: https://github.com/nvbb/dsh-ollama-vision-bridge