llm-deepseek-image-admit:DeepSeek 圖片准入

前言

DeepSeek 官方模型在元數據中聲明 inputModalities: ['text'],這導致 harness 的圖片門禁(發送預檢、切換模型檢查、read_image 工具)全部拒絕圖片消息,報錯 MODEL_DOES_NOT_SUPPORT_IMAGES。雖然圖片真正進入 agent 循環後可由其他插件轉錄,但准入階段的攔截阻斷了流程。

這是什麼

本插件是 DeepSeek Harness (DSH) 的一個補丁插件,由 Seryta 維護。它接管 DeepSeek 官方的 provider 路由,通過修改模型元數據來解鎖圖片准入。其核心邏輯是照抄官方 apply 邏輯,僅將 resolveModel 返回值中的 inputModalities 從 ['text'] 補充爲 ['text', 'image']。它直接引用 DSH 安裝樹裏已構建的官方產物,無需本地 pnpm 構建或修改 listModels。

核心功能

  • 接管官方路由:禁用官方 @deepseek-ai/dsh-llm-deepseek 行,由本插件接管同一 deepseek-official 路由,對用戶透明,無需切換模型選擇器。
  • 補全模態聲明:在 resolveModel 返回值中補全 image 輸入模態聲明。
  • 通過准入預檢:讓圖片消息能夠通過 apiproxy 的准入預檢。
  • 零 API 傳輸:DeepSeek API 永遠不會收到圖片,所有圖片處理在本地 harness 循環內完成。

安裝與啓用

執行以下命令安裝:

dsh plugin --profile web add github:Seryta/llm-deepseek-image-admit

安裝後需要重啓 dsh web 才能生效。插件默認安裝在 ~/.npm-global/lib/node_modules/@deepseek-ai/dsh。如果 DSH 安裝在其他位置,需設置環境變量 DSH_NPM_ROOT(指向 DSH 安裝根目錄,其下應包含 node_modules/@deepseek-ai/...)。

典型用法

安裝並重啓後,圖片消息的准入檢查會被自動放行。圖片最終的處理(轉錄爲文字)需要在 agent/pre-step 階段配合 image-bridge 等插件完成。用戶無需做任何配置變更,原有的模型選擇邏輯保持不變。

適用場景與注意

適用場景:需要在 DSH 中使用 DeepSeek 官方模型處理多模態輸入,且希望保持模型選擇器透明。

注意:
1. 僅放行不轉錄:本插件只負責讓圖片通過准入預檢,並不負責轉錄圖片內容。如果不搭配 image-bridge 等插件在 pre-step 階段將圖片轉爲文字,圖片會帶着原始數據塊到達 DeepSeek 適配器,從而被 API 拒絕。
2. 依賴官方產物佈局:插件依賴官方包的產物路徑佈局(如 node_modules/@deepseek-ai/dsh-llm-deepseek)。若 DSH 改變安裝佈局,需通過 DSH_NPM_ROOT 環境變量適配。

結尾

該方案通過修改元數據解鎖了 DeepSeek 官方模型對圖片的准入能力,無需引入新的模型變體或改變用戶操作習慣。更多實現細節與漂移檢測腳本可參考源碼。

插件目錄
GitHub 倉庫

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

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

小夜