DeepSeek Harness plugin

dsh-her-eyes

Application-level Vision-Language-Model (VLM) analyzer for DeepSeek Harness: analyze_image tool with primary/backup OpenAI-compatible endpoints, automatic failover, and an auto-saving web settings

Jump to install

Source facts

Repository
huashenglian/dsh-her-eyes
Latest update
Aug 13, 2026
Category
Models & Providers
GitHub stars
4
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/huashenglian/dsh-her-eyes
Plugin: dsh-her-eyes
Author: huashenglian

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

dsh-her-eyes

English | 中文

A Vision-Language-Model (VLM) analyzer plugin for DeepSeek Harness (dsh). It gives the AI an analyze_image tool backed by primary/backup OpenAI-compatible vision endpoints with automatic failover, and adds an auto-saving Settings → Vision Models (VLM) page (English/中文).

Features

  • analyze_image tool registered on the global tools registry — available in every session.
  • Primary / backup VLM APIs — OpenAI-compatible endpoint + apiKey + model; if the primary fails consecutively beyond the retry count, the AI automatically falls back to the backup.
  • Auto-saving settings page — every edit saves and takes effect immediately; no Save button. Also lets you fetch the model list from the endpoint.
  • Web routes /vlm/config, /vlm/models, /vlm/reset served by the host half.
  • i18n — the settings page follows the harness UI language (English / 中文).

Requirements

  • dsh CLI (DeepSeek Harness) with a web profile installed. Requires pnpm on PATH (or use npx --yes pnpm@<version>).

Install

The plugin is a bundle: it carries its own cordis.patch.yml and self-activates. Installing it is a single command — no manual patch editing in the profile.

# From a local directory
dsh plugin --profile web add ./dsh-her-eyes

# From GitHub
dsh plugin --profile web add github:huashenglian/dsh-her-eyes

# From a packed tarball (pnpm pack / npm pack)
dsh plugin --profile web add ./dsh-her-eyes-1.2.0.tgz

dsh plugin add installs the dependency and appends the bundle to dsh.profile.bundles automatically.

> If pnpm is not on PATH, run the equivalent manually: > ``bash > # in the profile directory (~/.dsh/profiles/web) > npx --yes pnpm@11.7.0 add file:./plugins/dsh-her-eyes > ` > then add "dsh-her-eyes" to the dsh.profile.bundles array in package.json`.

Manual placement (alternative)

1. Put the package under $DSH_HOME/profiles/web/plugins/dsh-her-eyes/. 2. Add "dsh-her-eyes": "file:./plugins/dsh-her-eyes" to the profile package.json dependencies. 3. Add "dsh-her-eyes" to the profile dsh.profile.bundles array. 4. Run pnpm install (or npx --yes pnpm@11.7.0 install), then restart dsh web.

Do not add a manual - insert: - id: her-eyes row to the profile cordis.patch.yml — the bundle already inserts it. A second insert would throw duplicate loader entry id: her-eyes at boot.

Configure

All configuration lives in one JSON file: $DSH_HOME/vlm-vision.json (default ~/.dsh/vlm-vision.json).

{
  "retryCount": 5,
  "api": {
    "primary": { "endpoint": "https://api.openai.com/v1", "apiKey": "sk-...", "model": "gpt-4o" },
    "backup":  { "endpoint": "", "apiKey": "", "model": "" }
  }
}
  • endpoint — OpenAI-compatible base (e.g. https://api.openai.com/v1) or the full …/chat/completions URL.
  • apiKey — leave the key empty in the file; it is saved via the settings page and stored masked.
  • retryCount — after this many consecutive failures of one API, the active API switches (primary ⇄ backup).

You can edit the file directly, or use the settings page (all edits auto-save).

How it works

The package is dual-face:

  • Host half (lib/index.js) — a cordis plugin. Registers the analyze_image tool on the global tools registry and the /vlm/config|models|reset routes on the web server. Loads and persists vlm-vision.json.
  • Client half (lib/client.js) — the browser module, loaded via __ModuleLoader__ because the package declares dsh.client. Registers a Settings → Vision Models (VLM) section (list slot settings.section, id vlm-vision, order 40) and the locale namespace settings.her-eyes.

The bundle cordis.patch.yml inserts the her-eyes entry that activates both halves.

Coexistence with other plugins

This plugin is built to play nicely with other frontend plugins that touch the settings window:

ResourceValueNotes
Loader entry idher-eyesunique across the harness
Settings slot idvlm-visionthe settings.section slot is a list — multiple sections coexist; only the same id would conflict
Locale namespacesettings.her-eyesnamespaced by plugin
Tool nameanalyze_imageunique
Web routes/vlm/*unique path prefix
CSS classesvlm-*global styles, prefixed to avoid collisions

The harness itself enforces uniqueness (duplicate loader ids, slot ids, tool names, or routes throw and fail loudly) — so two plugins never silently shadow each other.

Uninstall

dsh plugin --profile web remove dsh-her-eyes

This removes the dependency and the bundle entry. Your vlm-vision.json config file is left untouched.

License

MIT