← all repositories
liustack/modlens

Borrowed Sight for Text-Only Coding Agents

ModLens is a vision bridge for text-only coding agents, outsourcing image reading to other multimodal engines and feeding structured JSON evidence back to models like DeepSeek and GLM.

3.5k stars TypeScript Coding AssistantsAgents
Feature · 22 Aug 2026
Pasting Images Into Chatbots That Cannot See

ModLens routes pasted images through whatever multimodal engine you already have, feeding structured evidence back to text-only models like DeepSeek.

Read the in-depth article
modlens
Velocity · 7d
+229
★ / day
star history

What it does

ModLens is a plugin vision engine for coding agents. When you paste an image into a chat with a text-only model like DeepSeek or GLM, the skill intercepts it, sends the image to an available multimodal engine—such as Gemini, Claude, or Codex—and injects structured JSON evidence back into the conversation. The text model never touches a pixel; it simply reasons over the supplied transcription, layout regions, and entity lists.

The interesting bit

The project treats vision as a text-generation prerequisite rather than an innate model capability. By converting images into structured evidence with reading order and semantic relationships, it lets a blind LLM cite specific visual facts instead of hallucinating them. It is essentially a very diligent seeing-eye dog that describes the scene in exhaustive detail.

Key highlights

  • First vision plugin for DeepSeek Harness, exposing a native read_image tool to text-only DeepSeek and GLM routes.
  • Verified across Claude Code, Codex, Pi, and OpenCode; reuses existing logins from those harnesses when available.
  • Accepts raw paste or file paths without requiring manual disk saves or path passing.
  • Returns structured evidence—OCR, layout regions, entity and relation lists—rather than loose summarization.
  • Falls back to free channels like Antigravity CLI or a Gemini key if no local multimodal engine is configured.

Caveats

  • Only wraps DeepSeek and GLM text models; native vision variants from those families are explicitly excluded.
  • Maintenance is strictly single-author; pull requests are not accepted, so the bus factor is one.
  • DeepSeek Harness users may encounter a declares no dsh.bundle warning if pnpm installs an outdated version, requiring a manual workaround per the troubleshooting docs.

Verdict

Worth a look if you are running a text-only model inside a chat-centric coding agent and want image support without switching LLMs. If you already use a native multimodal model end-to-end, this middleware adds nothing but latency.

Frequently asked

What is liustack/modlens?
ModLens is a vision bridge for text-only coding agents, outsourcing image reading to other multimodal engines and feeding structured JSON evidence back to models like DeepSeek and GLM.
Is modlens open source?
Yes — liustack/modlens is open source, released under the MIT license.
What language is modlens written in?
liustack/modlens is primarily written in TypeScript.
How popular is modlens?
liustack/modlens has 3.5k stars on GitHub.
Where can I find modlens?
liustack/modlens is on GitHub at https://github.com/liustack/modlens.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.