DeepSeek Harness(DSH)遵循“一切皆插件”的理念。在構建智能體時,讓模型理解界面截圖或圖片內容是一個常見需求。直接接入視覺模型通常需要額外的配置。dsh-vision 插件通過註冊 image_analyze 工具,將本地圖片或 URL 發送給 OpenAI 兼容的視覺模型(默認使用 Google 的 Gemini),使原本只支持文本輸入的主模型也能具備“看圖”的能力。
插件概覽¶
這是由 joyiok 維護的模型推理類插件,支持 png/jpeg/gif/webp 格式,默認模型爲 google/gemini-3.7-flash。
核心功能¶
- 提供 image_analyze 工具:Agent 可調用此工具進行圖片分析。
- 多源輸入:支持本地路徑、HTTP(S) URL、Data URL。
- 安全處理:圖片讀取後僅在內存中轉換爲 Base64,不落盤。
- 自動重試:遇到 429 或 5xx 錯誤時,自動重試 2 次。
- 格式支持:支持 png、jpeg、gif、webp 格式。
安裝與啓用¶
使用官方命令安裝,安裝後需重啓 dsh web 進程。
dsh plugin --profile web add github:joyiok/dsh-vision
配置密鑰¶
安裝後需配置 API Key。可以通過環境變量設置,插件通過 dsh credentials 服務解析。
export OPENROUTER_API_KEY=sk-or-v1-xxxx
# 或
export VISION_API_KEY=sk-xxxx
配置覆蓋¶
在 profile 的 cordis.patch.yml 中可以覆蓋配置項。禁用插件只需設置 disabled: true。
- id: vision
config:
apiKeyEnv: OPENROUTER_API_KEY
model: google/gemini-3.7-flash
baseUrl: https://openrouter.ai/api/v1/chat/completions
maxTokens: 2000
timeoutMs: 180000
maxImages: 4
maxImageBytes: 20971520
典型用法¶
Agent 調用 image_analyze 工具,傳入圖片路徑和分析問題。
Agent:調用 image_analyze(images: ["/home/joy/Documents/memory-panel-preview.png"],
question: "檢查這張界面截圖的視覺設計和可用性問題")
工具參數:
* images:必填,數組,最多 4 張圖片(本地路徑、URL 或 data URL)。
* question:可選,分析問題,默認會進行詳細描述和 UI 檢查。
* model:可選,覆蓋默認的視覺模型。
* maxTokens:可選,默認 2000。
注意事項¶
- 運行權限:插件以當前 dsh 進程的權限運行,因此它有權訪問配置文件中允許的本地圖片路徑。
- 取消請求:超時使用
AbortSignal,請求可被上層取消。 - 源碼確認:使用前請確認插件源碼與許可證(MIT)。
通過該插件,Agent 可以方便地集成視覺能力,用於 UI 自動化測試、界面分析等場景。源碼與文檔位於 GitHub。