前言¶
在網頁版 DSH 中使用 DeepSeek 等純文本模型時,圖片輸入可能無法直接通過模型能力檢查,導致帶圖片的消息或圖片內容難以進入模型。dsh-vision-bridge 用來解決這個問題。它是一個 DSH 插件,由 342949145 維護,採用 MIT 許可證。
它做的事情是把圖片在進入當前模型前自動交給外部視覺模型(阿里雲百鍊 qwen-vl)識別,再把識別結果以文字形式餵給當前模型,讓純文本模型也能處理圖片內容。
該插件只服務網頁版 DSH,例如 ~/.dsh 下的 profiles/web/。桌面版 Deepseek Harness EAC 由內置插件 dsh-tool-vision 接管識圖,配置在 %DSH_HOME%/settings.yaml 的 tool-vision 命名空間,無需安裝本插件;兩套配置互不相通。
核心功能¶
圖片上傳放行¶
插件會包裝 ctx.llm.resolveModelInfo,對目標 provider(默認 deepseek)的模型補充聲明 image 輸入能力,使模型能力檢查通過。效果是 DeepSeek 等純文本模型會話可正常附加圖片,不再提示“當前模型不支持圖片”。
自動識圖轉文字¶
插件會包裝目標 provider 適配器的 stream 方法,在消息進入序列化之前把 image 塊逐個取出,調用百鍊視覺 API 識圖,再替換爲文字塊。覆蓋圖片、read_image 工具結果、tool-result 嵌套和歷史重放等場景。
模型回退鏈¶
識圖模型鏈爲:
qwen-vl-max → qwen-vl-plus → flash
遇到可恢復錯誤時自動回退。
文生圖¶
對模型說“畫一張……”時,可通過 generate_image 調用百鍊 Qwen-Image 生成圖片,並保存爲附件;模型可以看到生成結果。
識別緩存與複用¶
識別結果會緩存,同圖不重複調用 API;緩存位置包括內存和 %DSH_HOME%/storages/,可跨會話/重啓複用。
lib/vision.js 還導出以下接口供複用:
describeImageUrl
ocrPrompt
describeImagesCompare
dataUrlFor
可用於 URL、OCR、多圖對比等場景。
安裝與啓用¶
npm 安裝¶
先執行:
npm install dsh-vision-bridge
然後在 DSH profile(如 ~/.dsh/profiles/web/)中啓用。cordis.patch.yml 的 insert 列表中增加:
- insert:
- id: dsh-vision-bridge
name: dsh-vision-bridge
也可以把 dsh-vision-bridge 加入 package.json 的 dsh.profile.bundles 列表。
本地開發掛載¶
本地開發時可以使用:
npm install link:./tools/dsh-vision-bridge
# 或
npm link
配置¶
最小配置¶
需要配置阿里雲百鍊 API Key。可以複製 .env.example 爲 .env,並寫入:
DASHSCOPE_API_KEY=sk-xxxxxxxx
本插件不包含真實 API Key 或本機路徑;.env 已在 .gitignore 中,建議通過 .env 或環境變量提供配置。
可配置項¶
插件支持以下配置項:
DASHSCOPE_API_KEY
DASHSCOPE_BASE_URL
VISION_MODEL
VISION_FALLBACK_MODELS
VISION_PROMPT
VISION_MAX_TOKENS
VISION_MAX_EDGE
VISION_JPEG_QUALITY
VISION_PROVIDERS
VISION_CACHE
VISION_GEN_MODEL
VISION_GEN_SIZE
VISION_SKILL_DIR
配置優先級爲:
環境變量 > 插件目錄 .env > VISION_SKILL_DIR 指向目錄的 .env / vision.js
如果使用了設置頁集成,運行時優先級爲:
設置頁 > 環境變量 > .env > claude-vision-skill
與 dsh-tool-vision 的衝突¶
若 DSH 啓用了內置 dsh-tool-vision,需要在 %DSH_HOME%/settings.yaml 的 tool-vision 段設置:
tool-vision:
bridgeTextOnly: false
否則新版內置插件會把會話日誌裏的頂層 image 塊替換成文本提示;關閉後,本插件在 adapter.stream 層完成識圖轉換。
典型用法¶
1、安裝並啓用 dsh-vision-bridge;
2、配置 DASHSCOPE_API_KEY;
3、如果啓用了 dsh-tool-vision,將 bridgeTextOnly 設爲 false;
4、在網頁版 DSH 的 DeepSeek 會話中發送圖片,或讓模型調用 read_image;
5、插件自動調用百鍊 qwen-vl 識圖,並把文字結果交給當前模型。
也可以讓模型調用 generate_image,例如“畫一張……”,生成結果會保存爲附件。
適用場景與注意¶
適合網頁版 DSH 中使用 DeepSeek 等純文本模型,並希望繼續使用圖片輸入、識圖或文生圖的場景。桌面版 Deepseek Harness EAC 不適用本插件,因爲它由 dsh-tool-vision 接管識圖。
該插件以當前 dsh 進程權限運行。安裝前建議檢查源碼與許可證。已驗證 DSH 版本爲 0.1.0-rc.6;上游 DSH 處於開發者預覽期,如有破壞性變更請關注倉庫 Release 與 Issues。
鏈接¶
目錄頁:
https://www.skillhub.cn/plugins/342949145/dsh-vision-bridge
GitHub:
https://github.com/342949145/dsh-vision-bridge