Tools & Capabilities

dsh-plugins#dsh-vision-tool

TZHR-invest/dsh-plugins/packages/dsh-vision · ★ 3

TZHR-invest

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.

License
MIT
Added
2026-08-16
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-08-19
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add github:TZHR-invest/dsh-plugins#path:/packages/dsh-vision

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Features
  2. Install
  3. Tarball
  4. npm
  5. Install parameters (--vision-*)
  6. Usage (inside the agent)
  7. Security
  8. Troubleshooting
  9. License

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/completions endpoint (vendor-agnostic)
  • Credential resolution chain: inline apiKey → apiKeyEnv (environment variable) → ~/.dsh/.credentials.yaml same-name key
  • Optional cross-check: query several models and merge answers (cross_check=true) to guard against hallucinated descriptions
  • maxTokens / maxImageBytes limits (optional)
  • Requests go out via a curl subprocess — 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.yaml should 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 2000 or 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.