前言¶
DSH 的插件生態強調「一切皆插件」。如果主模型是 text-only,但任務中需要查看截圖、識別文字或分析界面,就需要把圖像交給外部多模態 API,再把結果作爲文本拿回來。
下面介紹 AlloyPlane/dsh-eye-vision。它是一個 DSH 插件,面向只支持文本輸入的 DeepSeek Harness 模型,通過任意 OpenAI-compatible 多模態 API 完成圖像理解、OCR 和 UI 分析。
這是什麼¶
dsh-eye-vision 的倉庫維護者爲 AlloyPlane,許可證爲 MIT,上游 dsh-free-vision 亦爲 MIT。
它的工作方式是:發送圖像路徑後,agent 調用 image_understand 工具,隨後返回文本描述。主模型不需要直接支持圖像輸入。
核心功能¶
該插件提供以下已覈實能力:
- 提供
image_understand工具 - 支持任意 OpenAI-compatible 多模態 API 端點
- 內置
qwen、volcengine、siliconflow免費層提供商 - 支持大圖像多裁剪
- 支持
allowed-directories白名單(LUMA_ALLOWED_DIRS) - 支持保存設置後免重啓生效
- 從引擎子進程剝離代理環境變量
安裝¶
在 DSH 中添加該插件:
dsh plugin --profile web add dsh-eye-vision
添加後,插件會提供 image_understand 工具。
典型用法¶
下面示例用於把圖像路徑交給 agent。image_source 可以是本地路徑、http(s) URL 或 data URI。
看圖:D:/path/to/screenshot.png
OCR:D:/path/to/document.png
UI 分析:D:/path/to/design.png (task_type: ui)
task_type 支持以下取值:
auto|general|ocr|ui|debug|describe
配置與運行行爲¶
設置文件路徑爲:
~/.dsh/free-vision.json
運行時有幾個需要注意的點:
- API key 只存在於設置文件或環境變量,不寫入倉庫
- 圖像只發送到所配置的端點
- 代理環境變量會被刻意從引擎子進程中剝離
- 圖像支持 PNG、JPG、WebP、GIF,約 10 MB 以內
- 若需要讓引擎讀取工作區中的圖像,可使用
allowed-directories白名單,對應配置項爲LUMA_ALLOWED_DIRS
適用場景與注意¶
適合以下場景:
- 主模型不能直接接收圖像,但需要讀取截圖、文檔或設計圖
- 希望使用已有的 OpenAI-compatible 多模態 API,而不是綁定單一廠商
- 需要在 DSH 會話裏把圖像結果轉成文本描述、OCR 文本或 UI 分析
安裝前請注意:插件會以當前 dsh 進程權限運行,建議先檢查源碼、許可證和將要配置的 API 端點。
若準備發佈 fork,建議進行 gitguard 風格的 pre-push 掃描。