dsh-her-eyes
Manifest valid★ 3A dsh plugin that allows AI to automatically invoke VLMs (multimodal models) for visual analysis.
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_imagetool 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/resetserved by the host half. - i18n — the settings page follows the harness UI language (English / 中文).
Requirements
dshCLI (DeepSeek Harness) with awebprofile installed. RequirespnpmonPATH(or usenpx --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
pnpmis not onPATH, run the equivalent manually:# in the profile directory (~/.dsh/profiles/web) npx --yes pnpm@11.7.0 add file:./plugins/dsh-her-eyesthen add
"dsh-her-eyes"to thedsh.profile.bundlesarray inpackage.json.
Manual placement (alternative)
- Put the package under
$DSH_HOME/profiles/web/plugins/dsh-her-eyes/. - Add
"dsh-her-eyes": "file:./plugins/dsh-her-eyes"to the profilepackage.jsondependencies. - Add
"dsh-her-eyes"to the profiledsh.profile.bundlesarray. - Run
pnpm install(ornpx --yes pnpm@11.7.0 install), then restartdsh 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/completionsURL.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 theanalyze_imagetool on the global tools registry and the/vlm/config|models|resetroutes on the web server. Loads and persistsvlm-vision.json. - Client half (
lib/client.js) — the browser module, loaded via__ModuleLoader__because the package declaresdsh.client. Registers a Settings → Vision Models (VLM) section (list slotsettings.section, idvlm-vision, order 40) and the locale namespacesettings.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:
| Resource | Value | Notes |
|---|---|---|
| Loader entry id | her-eyes | unique across the harness |
| Settings slot id | vlm-vision | the settings.section slot is a list — multiple sections coexist; only the same id would conflict |
| Locale namespace | settings.her-eyes | namespaced by plugin |
| Tool name | analyze_image | unique |
| Web routes | /vlm/* | unique path prefix |
| CSS classes | vlm-* | 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
Comments
Loading…
Similar plugins
by 123twtd
DeepSeek Harness (dsh) 模型视觉开关插件:为自定义模型声明图像输入能力(写入 llm-pi-ai 配置),适配 0.1.x
★ 0
JavaScript
Sep 3, 2026
dsh plugin --profile web add dsh-vision-toggleby jyh20030112
Dsh-visual-plugin.Give your text-only model eyes: forward user images to any OpenAI-compatible vision model and see the results in a Web UI right panel
★ 21
↓ 111/wk
MIT
TypeScript
Oct 7, 2026
dsh plugin --profile web add dsh-visual-pluginby FuzzySoul
为DSH(DeepSeek Harness)量身打造的视觉插件,现已支持agent调用图片显示/Vision plugin for DSH(DeepSeek Harness),support Proactive Image Display.
★ 8
MIT
JavaScript
Aug 19, 2026
dsh plugin --profile web add dsh-free-visionby william-jin-cmu
dsh 插件:给纯文本 DeepSeek 加视觉——view_image 工具桥接任意 OpenAI 兼容 VLM(默认智谱免费档,实测 4 厂商 10 模型)
★ 30
BSD-3-Clause
TypeScript
Aug 13, 2026
dsh plugin --profile web add @dsh-external/dsh-visionby motongv
给 DeepSeek Harness(DSH)加视觉能力的插件:装完就能拖图识别——图片交给视觉模型识别、文字交给 DeepSeek 推理,聊天入口完全不变。DSH 专属插件。
★ 0
↓ 60/wk
MIT
JavaScript
Aug 18, 2026
dsh plugin --profile web add dsh-vision-adapterby kbpoyo
DSH 插件:让纯文本模型也能看图。Web 端直接粘贴图片即可发送,无需指定图片路径;模型自主调用视觉技能查看,多模态模型原生直通,零skill绑定。
★ 5
MIT
JavaScript
Aug 14, 2026
dsh plugin --profile web add @kbpoyo/dsh-image-bridge