dsh-tool-eyes
Manifest valid★ 2Local vision 'eyes' for DeepSeek Harness (DSH): screen tool (capture screen or image -> local OpenAI-compatible VLM description) and ocr tool (Windows built-in OCR, zero model / GPU / cloud).
dsh-tool-eyes
Local vision "eyes" for DeepSeek Harness (DSH).
Give your text-only agent eyes with two model-facing tools:
screen— capture the screen (or describe an existing image file) through a local OpenAI-compatible vision endpoint (llama.cpp with--mmproj, LM Studio, Ollama, ...) and return the vision model's text description.ocr— extract ALL text verbatim with the Windows built-in OCR engine: zero model, zero GPU, zero cloud, milliseconds.
screen = screenshot / image -> local VLM -> text description (understanding)
ocr = screenshot / image -> Windows OCR -> verbatim text (extraction)
Why
DeepSeek's chat-completions line is text-only. Instead of switching your whole conversation to a vision model, keep the text brain and add eyes as tools:
- Private by default — point
screenat a local endpoint and images never leave your machine. - Cheap — a 0.8B–4B local VLM is plenty for describing screens;
ocrcosts nothing at all. - Honest by default — the
screenprompt tells the VLM to describe only what is visible and never guess app/game/character names unless confirmed by on-screen text (this measurably cuts small-model name hallucination).
Requirements
- Windows 10/11 (the
ocrtool uses WinRT OCR;screenuses .NET for capture) - Node.js >= 22.19, DeepSeek Harness >= 0.1.0-rc.6
screenadditionally needs any OpenAI-compatible VLM endpoint, e.g.:- llama.cpp:
llama-server -m model.gguf --mmproj mmproj.gguf --port 1235 - LM Studio (loaded vision model), Ollama, or any OpenAI-compatible gateway
- llama.cpp:
Install
This package is published on GitHub only (not on npm).
dsh plugin --profile web add https://github.com/go-farther-and-farther/dsh-tool-eyes
Then restart dsh web. The screen and ocr tools appear in the agent's
toolkit automatically.
Manual install (offline / from source)
Copy this package into the profile's node_modules, then register it in
$DSH_HOME/profiles/<profile>/cordis.patch.yml:
- insert:
- id: tool-eyes
name: 'dsh-tool-eyes'
config:
baseUrl: http://127.0.0.1:1235/v1
model: ''
timeoutMs: 180000
Configuration
Plugin config (all optional):
| key | default | meaning |
|---|---|---|
baseUrl | http://127.0.0.1:1235/v1 | OpenAI-compatible endpoint for screen |
model | '' | model id to send; empty lets the server decide (llama.cpp serves one model) |
timeoutMs | 180000 | hard cap for one capture call |
captureScript | bundled capture.ps1 | override path to an alternate capture script |
Override in your profile's cordis.patch.yml (id-targeted):
- id: tool-eyes
name: 'dsh-tool-eyes'
config:
baseUrl: http://127.0.0.1:1235/v1
model: qwen3.5-4b
timeoutMs: 120000
Usage
In a conversation, the agent can now:
screen— "what is on my screen?", "describe this image file", with an optionalpromptto focus on a region or detail.ocr— "read all the text on screen", "transcribe this error dialog".
Both accept an optional image path; without it they capture the screen.
The bundled PowerShell scripts can also be run standalone:
powershell -NoProfile -ExecutionPolicy Bypass -File lib\capture.ps1 -Prompt "..." -BaseUrl http://127.0.0.1:1235/v1
powershell -NoProfile -ExecutionPolicy Bypass -File lib\ocr.ps1 -Image C:\path\x.png
Privacy
ocris fully local (WinRT OCR, no network).screensends the captured image to the configuredbaseUrl. Point it at a local endpoint (llama.cpp / LM Studio / Ollama) to keep images on your machine.
Related
- dsh-vision-proxy — automatic transcription of attached images in the chat input (Chatbox-style), so you don't need to give file paths. Pairs well with this plugin.
Development
npm test # node --test tests/
License
MIT
Comments
Loading…
From the same category
DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.
★ 41.7k
↓ 115/wk
MIT
Aug 24, 2026
dsh plugin --profile web add dsh-plugin-reactive-resumeby dsh-market
The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场
★ 11k
↓ 311.6k/wk
MIT
TypeScript
Nov 6, 2026
dsh plugin --profile web add dshmarketby Tencent
Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.
★ 10.1k
↓ 14.8k/wk
MIT
TypeScript
Nov 5, 2026
dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-pluginby superdesigndev
OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn
★ 7.3k
NOASSERTION
Python
Nov 6, 2026
dsh plugin --profile web add treg-dshby yjh051108
dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).
★ 7k
MIT
JavaScript
Sep 18, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby Q00
Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,
★ 6.3k
MIT
Python
Nov 5, 2026