Agent-callable vision tool that describes local images via any OpenAI-compatible vision endpoint you configure, with an optional multi-model cross-check and no built-in keys.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:TZHR-invest/dsh-plugins#path:/packages/dsh-vision
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
A vision tool for DeepSeek Harness agents: sends a local image to the OpenAI-compatible vision endpoint you configure and returns a text description — for when the current session model can't ingest images directly.
The plugin ships no built-in defaults: provider (baseURL), credentials, and models are all configured at install time. If configuration is incomplete the plugin loads normally but does not register the tool (log line shows what's missing) — it can never crash the host.
Features
- Agent-callable tool:
vision image_path=/tmp/shot.png - Any OpenAI-compatible
/chat/completionsendpoint (vendor-agnostic) - Credential resolution chain: inline
apiKey→apiKeyEnv(environment variable) →~/.dsh/.credentials.yamlsame-name key - Optional cross-check: query several models and merge answers (
cross_check=true) to guard against hallucinated descriptions maxTokens/maxImageByteslimits (optional)- Requests go out via a
curlsubprocess — inherits host proxy env vars and avoids Cloudflare 403/1010 on default urllib/undici user agents
Install
Tarball
tar xzf dsh-vision-tool-install.tar.gz && cd dsh-vision-tool-install
# interactive: just run it and answer the prompts
bash install.sh --restart
# or parameterized (scriptable / repeatable deploys)
bash install.sh --restart \
--vision-base-url https://example.com/v1 \
--vision-api-key-env MY_VISION_KEY \
--vision-model gpt-4o \
--vision-models gpt-4o,qwen-vl-max,kimi-latest \
--vision-max-tokens 2000
npm
dsh plugin --profile web add dsh-vision-tool
# then configure: edit the dsh-vision-tool config section in ~/.dsh/profiles/web/cordis.patch.yml
Install parameters (--vision-*)
| Parameter | Required | Meaning |
|---|---|---|
--vision-base-url |
✅ | OpenAI-compatible chat/completions endpoint |
--vision-model |
✅ | Default vision model |
--vision-api-key |
one of | API key inline |
--vision-api-key-env |
one of | Environment variable name (also tried as a key in ~/.dsh/.credentials.yaml) |
--vision-models |
optional | Cross-check model list (comma-separated; needed for cross_check=true) |
--vision-max-tokens |
optional | Omitted from the request if not set |
No parameters + interactive terminal → guided prompts. No parameters + non-interactive → empty config written (tool not registered); re-run with parameters, or edit the config section in
~/.dsh/profiles/web/cordis.patch.yml.
Usage (inside the agent)
vision image_path=/tmp/shot.png
vision image_path=/tmp/shot.png question="What text is in this image?"
vision image_path=/tmp/shot.png model=gpt-4o
vision image_path=/tmp/shot.png cross_check=true # requires --vision-models configured at install
Security
- No built-in keys — credentials come only from your install parameters / environment / credential file
~/.dsh/.credentials.yamlshould be chmod 600
Troubleshooting
- Tool doesn't appear: log shows
[dsh-vision-tool] missing ...— re-run install.sh with--vision-*parameters and restart - Credential resolution fails: at least one of
apiKey/apiKeyEnv(incl. credential-file same-name key) - Endpoint incompatible: baseURL must be OpenAI-compatible (
/chat/completions,Authorization: Bearer) - Empty output from reasoning models: configure
--vision-max-tokens 2000or higher
License
MIT. Chinese documentation: README.zh.md
Part of dsh-plugins — a small monorepo of DSH plugins: dsh-lan-gateway, dsh-vision-tool, dsh-mobile-ui.
Links
More in this category
liustack/modlens★ 1837
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
Anionex/dsh-vision-toolkit★ 422
Vision tasks for text-only models: intent-aware image Q&A, long-screenshot OCR, UI reproduction, grounding, and pixel diff.
superdesigndev/treg★ 416
Tool catalog for agents: search ~2,600 external endpoints (SEO and SERP, backlinks, social, people and company enrichment, ad libraries, scraping) by the task you want done, read each one's parameters and per-call price, then call it with the credential injected server-side. Ships the skill plus an MCP row that stays disabled until TREG_TOKEN is set.
Lum1104/dsh-browser★ 156
Chrome sidebar extension that lets DSH operate your browser directly, no vision capabilities required.
zhaoolee/notes★ 142
Export DSH conversations as Smartisan Notes-style PNGs, or create and update Markdown notes in a configured account-scoped workspace.
ysr666/dsh-vision-router★ 135
Free vision for text-only agents: built-in keyless vision chain plus pixel tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots); paste an image to use it.