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。