前言¶
DeepSeek Harness(DSH)支持通過插件擴展功能。在 text-only 會話中,純文本模型通常無法處理圖片輸入。dsh-vision-fallback 是一個工作流插件,由 WEIHAOLEE 維護,它給 DSH 的 text-only 會話加了一個“視覺代理”開關。開啓後,插件會根據消息內容,將純文本請求原樣轉發給當前選中的模型,將包含圖片的請求自動轉發給視覺服務商。
核心功能¶
- 純文本請求完全不干預:原樣走你原來選的模型(任意文本模型均可)。
- 含圖請求自動轉發:直接把當前消息裏的圖片 + 文字發給視覺模型(OpenAI 兼容),不帶歷史上下文。
- 開關式使用:輸入框旁有一個“視覺代理”開關,點開即用,點關恢復原狀。
- 多視覺服務商:設置頁“Vision 模型”面板裏可增刪服務商、設默認、測試連接,支持熱生效。
- 原圖直髮:不做圖片壓縮。
- OpenAI 兼容:視覺服務商需支持 OpenAI 兼容接口。
- SSE 流式翻譯:支持流式響應。
安裝¶
# 1. 安裝進 profile
dsh plugin --profile web add D:\dsh-vision-fallback
# 2. 把插件加入 profile 的 bundle 列表
# 編輯 %DSH_HOME%\profiles\web\package.json,在 dsh.profile.bundles 裏追加:
# "@local/dsh-vision-fallback"
# 3. 插件依賴自包含
cd D:\dsh-vision-fallback
pnpm install
# 4. 重啓 dsh web
dsh web
安裝注意事項
*dsh plugin add會以link:方式把插件鏈入 profile,Node 解析插件內部 import 時會還原到真實路徑,因此插件目錄裏必須有自己的 node_modules。
*package.json的exports裏必須保留"./package.json"條目,否則設置面板永遠不加載。
配置¶
熱生效於 %DSH_HOME%\settings.yaml 的 llm-vision-fallback: 段:
llm-vision-fallback:
defaultProvider: ark # 含圖請求走哪個服務商
providers: # 可配多個,面板裏也可管理
ark:
displayName: 豆包(火山方舟)
baseUrl: https://ark.cn-beijing.volces.com/api/v3
model: doubao-seed-2-1-turbo-260628
apiKeyEnv: ARK_API_KEY # 憑據引用:key 本身存在 DSH 憑據庫,絕不在配置文件裏
- API Key 通過 DSH 憑據服務寫入(設置頁/憑據入口),本倉庫不含任何密鑰。
- 想加服務商(硅基流動 / 百鍊千問 / GLM / OpenRouter / 本地 vLLM…):只要 OpenAI 兼容即可。
使用¶
- 會話裏選好你的文本模型(任意)。
- 點輸入框旁的“視覺代理”開關(變藍,顯示“視覺代理 · 你的模型名”)。
- 正常聊天 = 你的模型;讓 agent 看某張圖(
read_image)= 自動轉發視覺服務商。 - 想換視覺服務商:設置 → Vision 模型 面板。
注意事項¶
- 開發性質:這是 vibe coding 產物,作者對 DSH 內部 API 的理解靠讀源碼試錯,不保證符合官方意圖。目前僅驗證環境:Windows 11 + deepseek-v4-pro + 火山方舟豆包(單個賬號);其他系統/服務商未測。
- 圖片處理:視覺請求只發最後一條消息(圖片 + 文字):多輪“追問上一張圖”的場景不適用,追問時請重新發圖。原圖直髮、不做壓縮:超大圖可能超過豆包的圖片 token 上限。
- Token 限制:視覺回覆的
max_tokens被鉗制在 8192。 - 服務商要求:視覺服務商必須 OpenAI 兼容(
/chat/completions+ SSE +/models)。 - 路由依賴:開關開啓期間會話路由掛在
vision-fallback上:若插件卸載/停用,該會話會失效,需手動切回原模型。 - 配置坑:
package.json exports缺./package.json→ 設置面板永遠不加載;客戶端 RPC 返回是{result:{ok,value}}信封,忘了解包 → 面板永遠“不可寫”。
不確定與已知問題¶
- 對 DSH 內部機制的理解:作者對 DSH 內部 API(LlmAdapter seam、slots、RPC 信封)的理解靠讀源碼試錯,不保證符合官方意圖。
- 未驗證場景:多圖同時讀、併發切換開關、子代理會話裏的表現未驗證;推理強度(off/high/max)透傳只驗證過 deepseek-official 一家。
- 兼容性:官方“模型”設置頁也會顯示本插件的 provider 行,但它不理解本插件的配置結構——請在專屬面板裏改配置。
License¶
MIT