modlens
liustack
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
Installed cleanly when we ran it
WizisCool/dsh-ears
Voice input for DSH. Transcribes with browser Web Speech, local Whisper, Groq, Aliyun Bailian or any OpenAI-compatible endpoint, optionally polishes the text with a model already configured in the harness, and leaves an editable draft you send by hand.
Install
via npm
Resolves a published tarball rather than cloning the repository, and installs without any extra setup. Swap `web` for your profile name if you run another one.
via GitHub · npm package
Installing from GitHub runs the project's build script, which pnpm blocks until you allowlist it — run the command once and pnpm prints the exact key to add under `allowBuilds` in ~/.dsh/profiles/web/pnpm-workspace.yaml.
Due diligence

dsh-ears is a DeepSeek Harness plugin that adds voice input to the web interface and turns speech into an editable draft. After installation and a Web UI refresh, a microphone icon appears beside the input box. The default shortcut is Ctrl+Shift+Space. Recording is transcribed by browser Web Speech, the local whisper CLI, Groq, Aliyun Bailian, or a specified OpenAI-compatible /audio/transcriptions endpoint. The draft is inserted into the composer for review and must be sent manually.
The host handles provider requests and local Whisper execution. In the plugin settings, dsh-ears stores the selected transcription provider and its model or endpoint details, while the optional polishing step uses a model already configured under dsh → 设置 → 模型. It stores the polishing prompt and reuses the existing LLM key rather than adding a separate key. Leaving the prompt empty uses the built-in default; failed or cancelled polishing keeps the original transcription.
This is for DSH users who want to dictate text without giving the agent automatic permission to speak or submit messages. It is a poor fit where audio must remain entirely local but local openai-whisper is unavailable, or where a Chromium-based browser is not available for Web Speech. Remote backends send recordings to their providers, and local Whisper transcribes only after recording stops. The plugin requires DeepSeek Harness 0.1.0-rc.6 or rc.7 and Node.js ^22.19.0 || >=24.0.0.
After the Web UI is refreshed, the plugin adds a microphone icon beside the input box. Use Ctrl+Shift+Space by default to start voice input. The flow is:
microphone → transcription → optional polishing → editable draft → manual send
The draft is not sent automatically. Polishing can remove speech fillers, correct ASR errors, and handle spoken corrections such as “not A, but B” and numbered points. If polishing fails or is cancelled, the original transcription remains.
| Backend | Operation | Required setup |
|---|---|---|
Web Speech |
Browser performs real-time recognition | Chromium-based browser; audio may be processed by the browser vendor |
本地 Whisper |
Host runs the local whisper CLI after recording stops |
Pre-installed openai-whisper; download a model in the plugin settings |
Groq |
Host sends the recording to the Groq Whisper API | Groq API key |
阿里云百炼 |
Host uses DashScope synchronous transcription | HTTPS origin, API key, model name; 300-second per-request limit |
自定义 OpenAI 兼容 |
Sends a POST request to the configured endpoint |
Endpoint URL, API key and model name; endpoint must provide /audio/transcriptions |
Whisper model weights are not bundled with the plugin. Provider quotas and free allowances are subject to the providers’ current documentation.
The polishing model is selected from models already connected in dsh → 设置 → 模型. The plugin stores the provider, model name and prompt, and reuses the LLM key from the existing DSH configuration. An empty prompt selects the built-in default prompt, which can be viewed in the settings page.
The documented runtime requirements are DeepSeek Harness 0.1.0-rc.6 or rc.7, and Node.js ^22.19.0 || >=24.0.0. Remove the installed plugin with dsh plugin --profile web remove dsh-ears; refresh the Web UI afterwards. For local development, the repository documents pnpm install, pnpm check, pnpm test, pnpm build, pnpm dev:config, pnpm dev:web, and pnpm dev:watch.
Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub
Same category
liustack
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
Installed cleanly when we ran it
Anionex
为纯文本模型"看图“设计更好的视觉工具箱和技能,支持多图理解,图片问答,前端UI还原、GUI 自动化等,并可选无缝接入多个主流agent,直接识别粘贴图片| A vision toolkit and skill designed for text-only llms — image Q&A, long-screenshot OCR, frontend UI restoration, and GUI automation, with optional seamless integration for Codex, Claude Code, Pi, Oh My Pi, and OpenCode
Installed cleanly when we ran it
ysr666
Free vision for text-only agents: built-in keyless vision chain plus pixel tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots); paste an image to use it.
Installed cleanly when we ran it
Anionex
Vision tasks for text-only models: intent-aware image Q&A, long-screenshot OCR, UI reproduction, grounding, and pixel diff.
Installed cleanly when we ran it
ZSeven-W
DeepSeek Harness (DSH) plugin: dispatch work to DSH agents from Claude Code / Codex — native subagent progress, in-host worker sessions with per-tier presets, and a multimodal bridge that lends the text-only harness vision and image generation.
Installed cleanly when we ran it
hisence999
DSH-vison is a DeepSeek Harness plugin that adds image understanding for text-only models by converting images into descriptions from a configured vision-capable model.
Installed cleanly when we ran it