dsh-vision-bridge:網頁版 DSH 的 DeepSeek 會話圖片橋接

前言

在網頁版 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜