Introduction

When using plain-text DeepSeek in DSH, encountering screenshots, interface errors, document images, or visual content requiring comparison, the common practice is to first identify them with external tools, then paste the text back into the session. dsh-youreyes incorporates this process into the DSH plugin system: it provides a model-callable vision tool within the DeepSeek Harness, allowing DeepSeek to invoke the visual channel when needed, obtain textual evidence, and continue answering.

Below is an introduction to its positioning, core capabilities, installation methods, typical usage, and limitations to note.

What is this

dsh-youreyes is a DSH plugin, repository name is 54xkeee/dsh-youreyes, maintained by 54xkeee, with an MIT license. It targets plain-text DeepSeek scenarios, providing vision/OCR tools for the model, and supports the following channels:

  • Antigravity IDE
  • Any OpenAI compatible VLM endpoint
  • Gemini API
  • Local Ollama

It can also provide a wrapper adapter for deepseek/opencode-go upstream, enabling DeepSeek within the conversation flow to call vision tools. The plugin requires Node >=20 and dsh >=0.1.0.

Core Capabilities

Model-callable vision tool

The focus of dsh-youreyes is not independent chat, but providing a callable tool to the model within a DSH session. The model can decide whether vision is needed based on context, and the vision results are fed back into the answer flow.

Multiple vision channels

It supports connecting different backends as vision channels:

  • Local Ollama: Automatically detected on plugin startup.
  • Gemini API: Configured via API key.
  • OpenAI compatible endpoint: Configured via base URL, API key, and model name.
  • Antigravity IDE: Can be used as the default channel.

If the Antigravity IDE channel is unavailable, the plugin falls back in the order Gemini → OpenAI → Ollama.

Task modes

The plugin provides four task modes:

  • glance
  • ocr
  • region
  • compare

These modes correspond to different vision intents, such as general understanding, text transcription, focus on local regions, and multi-image comparison.

auto mode

The auto mode uses a two-pass strategy: first perform a standard check, if the image is complex, automatically upgrade to a deep check. This reduces situations in complex screenshots, tables, interfaces, or multi-image comparison scenarios where a single recognition is insufficient.

Structured evidence output

Vision results require structured JSON evidence and limit the list length. This makes the content returned to the model more compact and facilitates subsequent reasoning.

Visual evidence memory

The plugin supports visual evidence memory:

  • The same image and same phrasing can reuse existing results across turns.
  • After DSH session compression, relevant visual evidence can be restored.
  • The model can continue to ask follow-up questions based on existing evidence without having to paste the same image again.

Content hash caching

The plugin uses content hash caching to avoid re-recognizing the same image with the same phrasing. The cache defaults to retaining a maximum of 64 entries.

WSL / Network constrained scenarios

In WSL or network-constrained environments, if fetch fails, you can configure the Windows curl path via winCurlPath for fallback.

Installation and Enablement

First, confirm the environment meets version requirements:

Node >=20
dsh >=0.1.0

Then execute the official installation command:

dsh plugin --profile web add dsh-youreyes

If using the local Ollama channel, first complete the installation following the Ollama documentation and pull available vision models, then execute the installation command above, and finally restart dsh web.

Configuring Channels

Local Ollama

The local Ollama mode is suitable for scenarios where you don’t want to configure API keys. The plugin can automatically detect local Ollama upon startup. In this mode, images stay on the local machine, requiring no key, no registration, and no fees.

After the above steps, if local Ollama is ready, restart dsh web to enter the available state.

Gemini

When using the Gemini channel, you need to edit the profile’s cordis.patch.yml to configure youreyes:

geminiApiKey: YOUR_GEMINI_API_KEY

OpenAI compatible endpoint

When using any OpenAI compatible VLM endpoint, set in youreyes configuration:

openaiBaseUrl: YOUR_OPENAI_BASE_URL
openaiApiKey: YOUR_OPENAI_API_KEY
openaiModel: YOUR_VLM_MODEL

Here, openaiApiKey can also use the environment variable YOUREYES_OPENAI_API_KEY.

Antigravity IDE

When using the Antigravity IDE channel, it is required that the IDE is started and logged in, and paths for workspace, project, etc. are configured. Common configuration items include:

antigravityWorkspace: /path/to/workspace
antigravityProjectId: your-project-id

If the IDE is unavailable, the plugin falls back to Gemini → OpenAI → Ollama.

Typical Usage

Session panel scanning

Click “Scan Image” in the session header, then complete the following in order:

  1. Add or paste image.
  2. Fill in prompt.
  3. Select mode, tier, and channel.
  4. Initiate recognition.

Invocation in conversation flow

In the model selector, select:

DeepSeek (Vision Toolkit)

Afterward, you can directly paste the image and send it, allowing the model to automatically invoke the vision tool.

Channel self-check

The plugin provides a configuration self-check interface:

http://127.0.0.1:3080/api/youreyes/vision

Sending a base64 image, prompt, and channel to this interface can quickly confirm if the current channel can return recognition results normally. If the interface reports an error, you can first check channel configuration, network paths, and local service status.

Limitations and Notes

The plugin involves the following default limits during operation:

maxImageBytes: 8MB
maxImages: 8
maxTokens: 2048
timeoutMs: 60000
cacheMax: 64

If allowedImageDirs is used and the configuration is not empty, only image_path is allowed to read the specified directory.

Special attention is needed:

  • The plugin runs with the current dsh process permissions; you should check the source code and license before installing.
  • The Antigravity IDE channel requires the IDE to be started and logged in, and paths configured accordingly.
  • The Gemini channel may encounter 503 high demand, which can be retried later or the model changed.
  • In WSL / network-constrained scenarios, if fetch failed occurs, you can configure winCurlPath to try a fallback.

Get the address

GitHub repository:

https://github.com/54xkeee/dsh-youreyes

The plugin clues also provide a directory page address:

https://www.skillhub.cn/plugins/54xkeee/dsh-youreyes

This directory page address comes from plugin clues and was not directly confirmed in the current data collection; the community directory is an independent site and has no official affiliation with DeepSeek or Hui Fang.