easy-vision
Agent 与会话 活跃维护

easy-vision

Koreyer/easy-vision

轻量插件可自动识别本地图像真实格式,调用OpenAI兼容视觉模型生成详细文本描述,让纯文本智能体快速获得图像内容理解能力,无需额外复杂配置。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
363 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Koreyer/easy-vision
git clone https://github.com/Koreyer/easy-vision.git
git clone git@github.com:Koreyer/easy-vision.git
README.md main

English · 简体中文

License DeepSeek Harness Plugin Version 0.1.1

easy-vision

Give a text-only agent the ability to "see" local images — from any OpenAI-compatible vision model.

easy-vision is a DeepSeek Harness tool plugin that registers a model-facing describe_image tool. When the model needs to look at a screenshot, photo, chart, UI mockup, or any local image, it calls this tool with the file path. The plugin:

  • Auto-detects the real format — reads magic bytes (PNG / JPEG / GIF / WebP), tolerating wrong file extensions
  • Sends the image as a base64 data URI to your configured OpenAI-compatible vision model via chat completions
  • Returns a text description — or optionally writes it straight to a Markdown file for a UI spec, mockup notes, or any document

This lets a model on a text-only route (e.g. deepseek over a gateway that rejects image input) see pictures as prose.

Screenshots

Ask the agent to look at an image in plain language, and the describe_image tool turns it into a usable text description — optionally written straight to a Markdown file.

Calling the tool to describe an image

The returned text description

Result preview / document output

Quick start

The package is a dependency-free plain ESM Cordis plugin that only injects tools. Install it into a DSH profile, then mount it in a patch layer.

1. Install the package into a DSH profile

From npm:

dsh plugin --profile web add easy-vision

Or run pnpm directly inside the profile directory:

cd "$env:DSH_HOME\profiles\web"
pnpm add easy-vision

@deepseek-ai/cordis is declared as a peer dependency — DSH already provides it at runtime, so no extra install is needed.

2. Mount it in a patch layer

Add this to your DSH patch file — for example the home-level $DSH_HOME\cordis.patch.yml (applies to every profile) or a profile's cordis.patch.yml:

- insert:
    - id: easy-vision
      name: easy-vision
      config:
        baseUrl: https://example.com/v1
        model: your-vision-model
        apiKeyEnv: YOUR_API_KEY
        timeoutMs: 120000

Save — DSH hot-reloads cordis.patch.yml edits. A new session will then expose the describe_image tool to the model.

3. Store the vision API key

The tool resolves the key from apiKeyEnv: it checks the environment variable first, then $DSH_HOME\.credentials.yaml. Add a key matching apiKeyEnv there if it is not already an env var:

# C:\Users\Z\.dsh\.credentials.yaml
YOUR_API_KEY: sk-...

If the profile was booted before these steps, restart the profile (or open a new session) so the tool schema is available to the model.

Configuration

Key Default Description
baseUrl https://example.com/v1 OpenAI-compatible chat completions base URL.
model your-vision-model Vision model id.
apiKeyEnv YOUR_API_KEY Env var name for the API key; falls back to reading that key from $DSH_HOME/.credentials.yaml.
timeoutMs 120000 Request timeout.

Model experience

The describe_image tool description tells the model to use it automatically whenever the user asks it to look at / view / describe / analyze / read an image, and to recognize natural-language intent (e.g. "描述一下 / 看一下 / 分析这张图") — the user does not need to name the tool.

Parameter Required Description
path Absolute local path to the image.
prompt Focus what to extract (e.g. UI layout/colors, describe people, OCR text).
outFile Absolute path to a .md file to write the description into; the parent directory is created if needed.

Known limitations

  • Requires an OpenAI-compatible endpoint that accepts base64 image_url data URIs.
  • The API key is resolved from the environment or $DSH_HOME/.credentials.yaml; it is not shelled out to DSH's own provider routing.
  • Vision results are plain text — the description is not an actual image, so fine-grained spatial accuracy is limited to what the vision model reports.

Build & pack

npm run prepack   # copies src -> lib
npm pack          # produces easy-vision-0.1.1.tgz

License

MIT — free to use, modify, and distribute.