ModLens 输出结构完全指南如何解析 OCR、版面与语义 JSON把图片证据变成可引用数据【免费下载链接】modlensThe first vision plugin for DeepSeek Harness, and the vision bridge for every text-only coding agent. Paste an image, get structured JSON evidence (OCR, layout, semantics). | 全网最强 DeepSeek Harness 外挂视觉插件为 DeepSeek、GLM 等纯文本模型外挂视觉能力粘贴图片即得结构化 JSON 证据OCR、版面、语义。项目地址: https://gitcode.com/gh_mirrors/mo/modlensModLens 是面向 DeepSeek Harness 的视觉插件为 DeepSeek、GLM 等纯文本模型外挂视觉能力每识别一张图片它就向 stdout 打印一份结构化 JSON 证据——OCR 全文转录、按阅读顺序切分的版面区块、语义实体与关系外加说明这份证据如何产生的meta元数据。本文带你逐字段读懂这份 JSON并教你把它变成可被文本模型直接引用的数据。 先建立直觉图片如何变成结构化 JSON整条链路只有一句话纯文本模型Claude Code、Codex、Pi、OpenCode把图交给 modlens skill视觉引擎读图后产出四段式证据文本模型基于证据作答而不是靠想象补图。最终输出是一个 JSON 对象共 4 个顶层字段字段内容一句话说明image图片路径或 URL这次识别的输入provider实际胜出的引擎名比如gemini-api、antigravity-cliresult识别证据本体6 个必填字段下文逐一拆解meta过程元数据谁生成的、花多久、试了哪些引擎result不靠约定俗成src/schema.ts 里的 JSON Schema 会下推给各 provider 强制约束CLI 返回前还会自己校验一遍结构损坏的结果会直接触发故障转移不会到你手上。 result 的 6 大字段逐一拆解六个顶层字段全部必填包括最容易让人以为可选的visual字段子字段用途summary一段话整图概括适合快速预览与日志ocrfull_text全文 lines[]分行全文检索、逐字引用原文layoutregions[]typereading_ordertext按阅读顺序定位内容区块semanticsscene、entities[]、relations[]、intent实体抽取、关系问答visualdominant_colors、style、notes配色、风格与视觉细节uncertainty字符串数组读不清、有歧义之处的清单一个典型片段{ summary: A workflow diagram with four nodes connected by labeled arrows., ocr: { full_text: BEFORE YOU BUILD\n..., lines: [] }, layout: { regions: [{ reading_order: 1, type: title, text: /shaping }] }, semantics: { scene: workflow diagram, entities: [], relations: [] }, visual: { dominant_colors: [white, black], style: flat }, uncertainty: [] }OCR逐字转录不翻译ocr.full_text覆盖图中所有可见文字lines[]逐行拆分每行可附可选的language标注。提示词规则要求照原文转录、不翻译见 src/prompt.ts所以引用的每句话都能在图里找到出处。版面区块 阅读顺序而非坐标layout.regions[]每个区块三要素type区块种类、reading_order阅读顺序编号、text区块内文字。注意type是开放字符串而非封闭枚举——title、paragraph、list、table、chart、code、link、nav等常用词只是指引未列出的短标签同样合法不会因为一个描述性标签废掉整次识别。语义实体自带证据semantics.scene说明这是什么场景图表、界面、文档……entities[]里每个实体带name、type和可选的evidence在哪里看到的relations[]用主-谓-宾三元组描述实体间关系。这正是可引用的关键模型引用的是具体内容而不是印象。不确定清单幻觉的刹车片读不清、有歧义的内容不靠猜而是如实写进uncertainty[]。例如截图里被截断的文件名会作为不确定点明示而不是被编造补全。 meta这份证据是怎么产生的meta让每一次识别都可审计字段说明generatedAt/model/durationSeconds生成时间、实际模型、耗时usageprovider 上报的原始 token 用量没有时为nullattempts[]故障转移链按顺序尝试过的每个 provider失败附errorwarnings[]路由通知故障转移、被忽略的extraBody、auto 模式下花了谁的额度不钉死 provider 时引擎组成一条故障转移链API 快车道先试agent CLI 兜底第一个可用结果胜出回退永远不是无声的。 实战把 JSON 变成可引用数据密集图表是视觉方案最容易翻车的场景。下面这张散点图里纯文本模型经 ModLens 逐项读出了双轴定义、对数刻度、按厂商配色、高亮区域和全部虚线标注的 DeepSeek 型号拿到 JSON 后可以这样用引用原文从ocr.full_text里取原文逐字引用回答可回溯到图内文字按区块提问第 3 个区块是什么直接查layout.regions[]的reading_order实体问答semantics.entities天然适合作为问答素材evidence指明出处可信标注回答里附uncertainty把模型没把握显式传达给用户回归验证仓库内置 evals/ 评测集用mustTranscribe、numbers、regionTypes自动核对转录与版面让它读得准成为可复现的断言。在 DeepSeek Harness 里直接粘贴图片纯文本 DeepSeek 就基于这份证据逐个元素还原界面无需自己保存文件 三个容易踩坑的设计决策决策原因v2 删掉了像素级bbox坐标和数值型confidence视觉模型爱凭空编造这两样v2 不再假装提供可选字段不存在或合法类型绝不会是null模型常写nullmodlens 交付前会把该键删掉读可选字段只判断在不在即可layout.regions[].type不设枚举封闭列表会让网页截图里的link、门户页里的search直接落选一次落选就为一个小标签废掉整次识别 延伸阅读输出契约全文docs/output-schema.zh-CN.md英文CLI 参数与手动运行docs/cli.zh-CN.md输出校验与 null 清理实现src/schema.tsdsh 侧的 JSON Schema 原文dsh/vision-schema.json评测集说明与复现方式evals/README.md【免费下载链接】modlensThe first vision plugin for DeepSeek Harness, and the vision bridge for every text-only coding agent. Paste an image, get structured JSON evidence (OCR, layout, semantics). | 全网最强 DeepSeek Harness 外挂视觉插件为 DeepSeek、GLM 等纯文本模型外挂视觉能力粘贴图片即得结构化 JSON 证据OCR、版面、语义。项目地址: https://gitcode.com/gh_mirrors/mo/modlens创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考