Back to directory

modlens

Curated pickMaintenance: Active

liustack/modlens

Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).

View on GitHubHomepage
$ npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.22.1

3,928

stars

116

forks

TypeScript

Language

MIT

License

2026-02-22

Created

2026-09-07

Last push

MIT-licensed vision bridge for text-only models, installed in DeepSeek Harness (dsh) with a single `dsh plugin add` command — paste an image, get structured JSON evidence (OCR, layout, semantics) back.

DSH integration

Compatible

Author-claimed

Safety audit

Unaudited

Last verified

2026-08-21

License

MIT

01What can it help you accomplish?

  • Read images pasted straight into DeepSeek Harness chats running text-only DeepSeek / GLM models

    Grounded answers built on structured JSON evidence — full transcription, reading-order layout regions, entity and relation lists

    Developers running text-only DeepSeek or GLM models in dsh who need screenshots, slides, documents and charts understood in-conversation

  • Analyze dense charts, tweet screenshots and multi-image batches without leaving the dsh conversation

    Detail-level readings — axes, log scale, color coding, timestamps, engagement numbers, per-image content and style — delivered one by one

    dsh users who paste analytics charts, social screenshots or batches of images and need every element quoted back, not summarized away

  • Keep native paste thumbnails while adding vision via a wrapped model entry

    A `(modlens vision)` model-selector entry per text-only route (choice is remembered); pasted thumbnails stay visible and are converted to structured evidence at request time

    dsh users who want a Codex-app-like paste experience — visible thumbnails — instead of temp-file paths in the composer

02How to install into DeepSeek Harness

Prerequisites

  • DeepSeek Harness (dsh) available — the install runs through the official `npx -y @deepseek-ai/dsh` CLI
  • At least one vision engine: a free Gemini API key, the free Antigravity CLI (no key), an Anthropic key, any OpenAI-compatible endpoint, or an existing Claude Code / Kimi / Codex / OpenCode / Pi login reused with consent

Installation steps

  1. 01

    Install the plugin with one command: `npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.22.1`

    $ npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.22.1

  2. 02

    Pick a `(modlens vision)` entry in the model selector (it remembers your choice, so once is enough), or just paste an image on a confirmed text-only model and let `modlens_read_image` take over

  3. 03

    If no vision engine is configured yet, set up a free Gemini API key (about three minutes, no credit card) or install Antigravity CLI and sign in with `agy`

Verify the integration

Not specified by the author

Rollback

  • Uninstalling is deleting a folder — no harness config lines are changed, so your agents are back to stock

03DSH integration and capability boundaries

DSH integrationCompatible

Installed inside DeepSeek Harness as exactly one dsh plugin via a single `dsh plugin add` command; adds `(modlens vision)` model-selector entries and reads pasted images through the `modlens_read_image` tool

  • Direct-paste vision for text-only models

    an image pasted straight into the chat, or a dropped file pathstructured JSON evidence — full transcription, reading-order layout regions, entity and relation lists — grounding the model's answer

    images are sent over the network to an external vision engineon a text-only model a pasted image lands as a private temp file whose path enters the composer
  • Ten-engine failover chain

    six built-in providers (Gemini, OpenAI-compatible, Anthropic, Antigravity CLI, Claude CLI, Kimi CLI) plus up to four reused local agent CLIsthe first good result wins; `meta.attempts` records every attempt so a fallback is never silent

    reused CLI reads spend that CLI owner's quota and are labeled in `meta.warnings`reuse is only enabled after explicit per-harness consent recorded in config
  • Universal OpenAI-compatible socket

    `openai.baseUrl` + `openai.apiKey` + `openai.model` config (e.g. qwen-vl, GLM, SiliconFlow, OpenRouter, self-hosted vLLM/Ollama)any endpoint speaking the OpenAI chat-completions protocol with image input driven as a vision engine

    writes provider keys and endpoints into the modlens config

04Who is it for? When not to use it?

Good for

  • Developers running text-only DeepSeek or GLM models in dsh who need screenshots, slides, documents and charts understood in-conversation
  • dsh users who paste analytics charts, social screenshots or batches of images and need every element quoted back, not summarized away
  • dsh users who want a Codex-app-like paste experience — visible thumbnails — instead of temp-file paths in the composer

Not for

  • ModLens ships no local vision model: every read is routed to an external engine (Gemini / OpenAI-compatible / Anthropic API, Antigravity CLI, or a reused agent CLI), so it needs network access and your use of upstream engines is governed by their own terms and quotas.

05Compatibility, maintenance and safety notes

  • ModLens ships no local vision model: every read is routed to an external engine (Gemini / OpenAI-compatible / Anthropic API, Antigravity CLI, or a reused agent CLI), so it needs network access and your use of upstream engines is governed by their own terms and quotas.
  • Read speed depends on the engine: API providers take 5-10 seconds per read, while CLI-based engines (Antigravity, Claude CLI, Kimi CLI, reused Codex / OpenCode) take 20-45 seconds.
  • Only a model whose metadata positively confirms it is text-only is taken over with a `(modlens vision)` entry; anything unconfirmed is left alone, and the DeepSeek / GLM families' own vision models keep their native paste.
2026-02-222026-08-18v3.22.1

MIT · actively maintained (latest release v3.22.1, 2026-08-20)

06Frequently asked questions

How do I install ModLens in DeepSeek Harness?

Run one command: `npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens@3.22.1`. The plugin auto-discovers every provider route carrying text-only DeepSeek or GLM models and adds a wrapped `(modlens vision)` entry per route (a stock install gets DeepSeek-V4-Flash and DeepSeek-V4-Pro variants). Pick the entry once in the model selector, then just paste images.

Is it a native dsh plugin or an MCP server?

It installs as exactly one dsh plugin — no hooks, no wrappers, no local proxy daemon, and not a single line changed in any harness config. Uninstalling is deleting a folder, and your agents are back to stock.

Which vision engine do I need?

Any one engine is enough: a free Gemini API key (about three minutes, no credit card, the recommended 5-10s default), any OpenAI-compatible endpoint (qwen-vl, GLM, self-hosted gateways), an Anthropic key, the free keyless Antigravity CLI, or logins reused from Claude Code / Kimi / Codex / OpenCode / Pi with explicit per-harness consent.

Where do my pasted images go?

Images are sent over the network to the vision engines in your configured failover chain; `meta.attempts` records every attempt, and any read that spends a reused CLI's quota is labeled in `meta.warnings`. Upstream engines' own terms and quotas apply, and you are responsible for them.

Which models get the vision takeover?

Only a model whose metadata positively confirms it is text-only is wrapped with a `(modlens vision)` entry. Anything unconfirmed is left alone, and the DeepSeek / GLM families' own vision models keep their native paste behavior.

08Data and sources

  • Author-claimedgithub.com00498f0b6ad7…

    **🥇 The most capable vision plugin for DeepSeek Harness (dsh):** install it instantly with one command: `npx -y @deepse…

  • Author-claimedgithub.com00498f0b6ad7…

    on the skill harnesses it is exactly one skill folder, on dsh exactly one plugin. Uninstalling is deleting a folder, and…

  • Author-claimedgithub.com00498f0b6ad7…

    The plugin auto-discovers every provider route carrying text-only DeepSeek or GLM models and adds a wrapped entry per ro…

This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-08-21. Found an error? Submit a correction.

🏆

Best DeepSeek Harness Plugins

Twelve plugins worth installing first — picked from the whole catalog, across every category.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.