DSH Hub

jing-hy/picturereader

picturereader

UIVision36 GitHub stars· updated 2026-10-25

DSH plugin: pixel-to-text image reading for text-only models. image_scan/image_ocr/image_sample tools + image-reading skill (34-image trained methodology). Pure local, optional PaddleOCR.

Install

npx @deepseek-ai/dsh plugin --profile web add picturereader

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

picturereader DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/picturereader.svg)](https://dshhub.dev/plugins/picturereader)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from jing-hy/picturereader, cleaned of badges and images.

picturereader

v3.6.0 — 给纯文本模型(DeepSeek / text-only)的全能「看图 / 读文档 / 修图」能力。 融合 视觉孪生 adapter(把任意文本模型原位包装成「支持图片」→ DSH 原生缩略图 + 图片块自动分析)、三模式路由、本地像素级工具链(scan / OCR×4 引擎 / crop / palette / compare / batch)、文档转图片(pdf / word / excel / ppt)、本地修图工具 image_edit(Pillow/OpenCV 纯 CPU:缩放 / 旋转 / 滤镜 / 合成 / 水印 / 去背景 / 超分等)与可选外部 VLM 桥。一个插件全包。

v3.6.0 新增:适配 dsh 0.3.0 以下全部内核。peerDependencies 统一为 >=0.1.0-rc.6 <0.3.0-0(上界带 -0,把 0.3.0 的任何预发布也一并排除),宿主按 includePrerelease 语义做版本门禁,0.1.x / 0.2.x 全系列(含 0.2.1-rc.3 这类预发布内核)一次通过。同时修掉两处真实不兼容:ctx.off 在 cordis 4.x 已不存在(视觉孪生卸载/HMR 时会抛错并漏掉 adapter 还原),改用 on() 返回的 disposer;skills 未注入导致内置 image-reading skill 静默注册失败,改用 ctx.inject 软注入。

v3.4.0 新增:原生识图能力感知。插件现在从模型能力元数据(inputModalities,与 DSH 内核的图片门控同源)判断当前会话的模型是否自己就能看图:命中时在系统提示词里明确说明「不要用 image_scan / image_sample 这类"伪多模态"替代路径,但 image_ocr 仍应正常使用」,并让粘贴/读取的图片直通该模型、不再降级成文本引导;纯文本模型与元数据缺失(未知)时行为与 v3.3.3 完全一致。判定走未包装的原始 adapter,因此不会被本插件自己的视觉孪生误判成原生识图。

v3.3.0 新增:macOS 原生 Vision OCR 引擎(engine="macos",scripts/setup-macos.mjs 一键编译,PR #4 合入);OCR 引擎选项按平台条件显示(macos 仅 macOS、windows 仅 Windows,paddle/rapid 跨平台始终显示);修复 PaddleOCR 新环境首次调用三个缺陷(stdout 污染 / w/h→width/height / 缓存路径写死,issue #2);设置卡 UI 重做(settings-panel 设计语言);调试日志门控(llm/stream 桥不再刷屏);peerDependencies 兼容 DSH 0.1.1-rc.2(issue #3)。


定位

DeepSeek 等纯文本模型没有视觉编码器,无法直接看图片;DSH 原生缩略图也需要模型被声明为「支持图片」才会渲染。

⭐ 已支持外部视觉 API(OpenAI 兼容端点 / LM Studio / 云端 VLM),由 LLM 自行按需调用:配置好端点后,模型会在智能/严谨模式下自主判断"这张图值不值得外呼视觉模型",需要时用 vision_analyze 调外部 API 做语义理解,简单内容则本地像素/OCR 搞定——外部 API 是即插即用的增强能力,不是必须依赖。

picturereader 现在解决三件事:

  1. 把「看图/读文档」翻译成纯文本模型能理解的结构化证据(像素级 hue/结构/材质分析 + OCR 实读 + 可选 VLM 语义描述),并沉淀为读图方法论 skill。
  2. 通过「视觉孪生 adapter」让纯文本模型在 DSH 里获得原生缩略图体验:勾选模型即生成「(视觉)」变体,粘贴图片显示原生缩略图、图片块进会话、并被自动分析成文本路径 + 本地证据再交给模型。即使上游先降级为 attachment sha256 文本,图片桥也会仅从本机附件对象库恢复经过文件头校验的图片并注入本地工具路径;模型拿到的永远是纯文本,不会触发 UNSUPPORTED_CONTENT。
  3. 本地直接修图 / 批量处理图片:image_edit 提供缩放、旋转、滤镜、合成、水印、去背景、拼接、透视校正等纯 CPU 动作,图片不出本机。

版本兼容性:适配 dsh 0.3.0 以下全部版本(0.1.0-rc.6 起,含 0.1.x / 0.2.x 各条发布线的预发布与正式版;实测运行版本为 dsh 0.2.1-rc.3)。peerDependencies 统一写作 >=0.1.0-rc.6 <0.3.0-0 —— 上界带 -0 是为了把 0.3.0 的任何预发布也挡在外面;宿主按 includePrerelease 语义比对,所以 0.2.1-rc.3 这类预发布内核能直接通过版本门禁。dsheac 5.x、DeepSeek Harness EAC 4.2.0 与 @deepseek-ai/dsh-client-ui-workspace rc.7 的兼容性保持不变。

⚠️ 升级到 dsh 0.1.3 必须使用 v3.3.2 之后的版本:内核 0.1.3 起 @deepseek-ai/dsh-settings 不再导出 settingsNamespace() 品牌函数(命名空间校验收进 register() 内部)。ESM 静态导入不存在的符号会让模块整体加载失败,进而拖垮整棵插件树、触发 EAC 的 guard 安全模式(表现为「一对话就报错」+ 插件大范围消失)。v3.3.3 已适配。

🚀 后续将作为 DeepSeek Harness EAC 的内置视觉插件:本插件计划替换内置的 dsh-tool-vision,随 DSH EAC 桌面版直接捆绑发布,开箱即用。作为独立包发布的目的,是让非 EAC / 旧版用户也能通过 dsh plugin add picturereader 或 Git/npm 安装获得同等「看图 / 读文档」能力。

功能总览

① 视觉孪生 adapter(原生缩略图 + 自动分析)

  • Proxy 原位包装:对被勾选的模型所属 provider,用 Proxy 把其 adapter 包装成「孪生」并原位替换(registerTwinAdapters,卸载经 ctx.effect 还原),不重复注册。
  • listModels / resolveModel:对被勾选模型声明 inputModalities: ['text','image']、名称加「(视觉)」后缀 → DSH 认为它支持图片 → 原生缩略图渲染、图片块进会话、粘贴准入全部解锁。
  • stream 拦截:捕获请求里的 image block → 导出到 ~/.dsh/picturereader-vision/images/ → 替换成文本路径 + 本地工具链引导 → 转发给原始 adapter。pi-ai 收到的是纯文本,不会报 UNSUPPORTED_CONTENT;opencode-go 等走 @earendil-works/pi-ai 的 provider 同样经此孪生获得原生缩略图能力。
  • 隐私模式下分析只走本地工具,绝不外发。

② 智能路由(隐私 / 智能 / 严谨 三模式)

…

Related plugins