dsh-vision-bridge:爲無視覺主模型接入 DSH 會話圖片

前言

在 DeepSeek Harness(DSH)裏,一些主模型本身不具備視覺能力,例如 deepseek-v4-pro。如果用戶把圖片直接發到會話中,可能會遇到“模型不支持圖片”的攔截。對於需要讓主模型讀取圖片內容的場景,可以把圖片處理放到模型請求組裝階段:用戶消息仍然保留圖片,主模型最終只收到視覺模型轉換後的文字描述。

下面介紹 DSH 插件 dsh-vision-bridge。它解決的問題是:讓無視覺能力的主模型在 DSH 會話中處理用戶發送的圖片,同時保留用戶消息框中的圖片縮略圖,並提供 view_image 工具供模型主動看圖。

這是什麼

dsh-vision-bridge 是 DSH 視覺橋接插件。資料中倉庫標題爲 dsh-vision-bridge,npm 包名爲 @liu__min/dsh-vision-bridge,已覈實版本爲 0.1.1,許可證爲 MIT。GitHub 倉庫路徑爲 lium970320/dsh-vision-bridge,維護者爲 lium970320。

它不是視覺模型本身,也不是一個獨立的看圖服務。它是在 DSH 插件層面接入視覺接口:當會話中出現圖片,或模型調用 view_image 工具時,插件把圖片交給已配置的視覺接口轉成文字描述,再讓主模型繼續處理。

核心功能

下面介紹已覈實的插件能力。

1、會話直接收圖:用戶發送圖片後,不再被“模型不支持圖片”攔截。

2、用戶消息保留圖片縮略圖:圖片轉換不在用戶消息上發生,用戶消息框仍然顯示圖片縮略圖。

3、模型請求組裝階段自動轉文字:圖片在模型請求組裝層被交給視覺模型轉成文字描述,主模型只收到文字。

4、提供 view_image 工具:模型在需要看圖時可以自行調用,支持本地路徑、URL、data URL。

5、提供 install.ps1 一鍵安裝腳本:腳本完成複製、登記、聲明、配置、補丁、自測等步驟。

6、支持顯式配置的視覺接口:支持 OpenAI 官方、xAI Grok 等顯式配置的視覺接口,或 OpenAI 兼容 Responses API。

7、運行行爲明確:插件不內置任何服務商;未配置視覺接口時工具會明確報錯,不會靜默失敗;插件無日誌、無緩存、無運行數據寫盤。

安裝與啓用

先確認前置條件:DeepSeek Harness 已安裝,且 dsh web 至少啓動過一次,~/.dsh/profiles/web/ 目錄存在。

無論使用哪種安裝方式,裝完都要重啓 dsh web,並完成視覺接口配置。

從 npm 安裝

已覈實 npm 包安裝命令如下:

dsh plugin --profile web add @liu__min/dsh-vision-bridge

執行後,進入 DSH profile 目錄,補打 pi-ai 適配器補丁:

cd ~/.dsh/profiles/web/
node apply-vision-patch.js

接着按下一節寫入視覺接口配置,再重啓 dsh web。

從 GitHub 倉庫一鍵安裝

先克隆倉庫:

git clone https://github.com/lium970320/dsh-vision-bridge.git
cd dsh-vision-bridge

以 OpenAI 官方接口爲例,運行安裝腳本:

powershell -ExecutionPolicy Bypass -File install.ps1 -ApiBase https://api.openai.com/v1 -ApiKeyEnv OPENAI_API_KEY -VisionModel gpt-5.1

安裝腳本會依次完成:複製插件文件、在 profile 的 cordis.patch.yml 登記插件行、在 settings.yaml 給主模型聲明圖片輸入、寫視覺接口配置、打 pi-ai 適配器補丁、自測。

經過上面的步驟後,重啓 dsh web,在會話中發送一張圖片驗證。

配置視覺接口

插件必須顯式配置視覺接口,需要同時提供接口網址和 API 密鑰。可以在 ~/.dsh/profiles/web/vision-bridge-config.json 中寫入配置:

{
  "apiBase": "https://api.openai.com/v1",
  "model": "gpt-5.1",
  "apiKeyEnv": "OPENAI_API_KEY",
  "apiKey": ""
}

其中:

  • apiBase:視覺接口地址。
  • model:視覺模型名。
  • apiKeyEnv:密鑰環境變量名,優先級更高。
  • apiKey:直接寫入密鑰,與 apiKeyEnv 二選一。

密鑰只建議保存在本機配置文件或環境變量中。已覈實資料說明 vision-bridge-config.json 已被 .gitignore 排除。

配置優先級如下:

cordis.patch.yml 的插件 config > vision-bridge-config.json > 環境變量(密鑰)

手動安裝

如果希望逐步控制安裝過程,可以先複製插件文件到 DSH profile 目錄:

# 從倉庫 plugin/ 目錄複製:
#   dsh-view-image.js
#   apply-vision-patch.js
# 目標目錄:
#   ~/.dsh/profiles/web/

在 ~/.dsh/profiles/web/cordis.patch.yml 追加插件登記:

- insert:
    - id: dsh-view-image
      name: './dsh-view-image.js'

在 ~/.dsh/settings.yaml 的 llm-pi-ai.providers 下給主模型聲明圖片輸入。示意如下:

llm-pi-ai:
  providers:
    # 將下面的 provider 名替換爲 settings.yaml 中已有的 provider 名
    provider-name:
      modelOverrides:
        deepseek-v4-pro:
          input:
            - text
            - image

這裏的主模型示例爲 deepseek-v4-pro,實際應以本機 settings.yaml 中的主模型配置爲準。

接着寫入視覺接口配置:

# 文件:~/.dsh/profiles/web/vision-bridge-config.json
# 字段:apiBase、model、apiKeyEnv、apiKey

然後運行補丁和自測:

cd ~/.dsh/profiles/web/
node apply-vision-patch.js
node dsh-view-image.js

最後重啓 dsh web。

典型用法

下面是兩個可直接參考的視覺接口配置示例。

OpenAI 官方接口

先確保環境變量 OPENAI_API_KEY 已設置爲本機密鑰。然後運行:

powershell -ExecutionPolicy Bypass -File install.ps1 -ApiBase https://api.openai.com/v1 -ApiKeyEnv OPENAI_API_KEY -VisionModel gpt-5.1

重啓 dsh web 後,在任意會話中發送一張圖片,確認用戶消息框保留圖片縮略圖,主模型能根據轉換後的文字描述繼續處理。

xAI Grok 接口

如果顯式配置 xAI Grok 視覺接口,可以運行:

powershell -ExecutionPolicy Bypass -File install.ps1 -ApiBase https://api.x.ai/v1 -ApiKeyEnv XAI_API_KEY -VisionModel grok-4-fast

之後同樣重啓 dsh web,並在會話中發圖驗證。

適用場景與注意

適合已有 DSH web 運行環境、希望讓無視覺主模型讀取圖片內容的開發者。插件本身不替代主模型,也不內置視覺服務商,必須顯式配置視覺接口。

注意以下事項:

1、插件以當前 dsh 進程權限運行。安裝前應先檢查源碼、安裝腳本和許可證。

2、許可證爲 MIT。GitHub 倉庫地址:

https://github.com/lium970320/dsh-vision-bridge

3、每次 dsh 升級或重裝後,pi-ai 適配器補丁會丟失,需要重新運行:

cd ~/.dsh/profiles/web/
node apply-vision-patch.js

4、插件啓動時會檢查補丁是否缺失。缺失時日誌會告警:

[dsh-view-image] pi-ai vision patch is MISSING

5、視覺接口密鑰只建議保存在本機 vision-bridge-config.json 或環境變量中,不要提交到倉庫。

6、未配置視覺接口時,工具會明確報錯,不會靜默失敗。

參考

GitHub 倉庫:

https://github.com/lium970320/dsh-vision-bridge

已覈實資料未給出可確認的目錄頁 URL,因此本文不列出目錄頁鏈接。

羽毛球分组比赛记分
小程序二维码

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

小夜