Leeminjing/dsh-eyes

Leeminjing★ 1JavaScript最后同步: 2026-08-16

在 GitHub 打开

Give text-only DeepSeek models on-demand vision: upload images, DeepSeek answers by calling a view_image tool backed by any OpenAI-compatible vision endpoint (Qwen/DashScope by default).

README 摘要

dsh-eyes 中文 · English 给 DeepSeek Harness 里的 纯文本大模型 (如 DeepSeek)装上「随时可用的眼睛」:图片粘贴/附件后留在后台,模型自己在需要时调用 view image 工具去看图(底层走 任意 OpenAI 兼容视觉接口 ,默认百炼 Qwen),就像模型 原生具备多模态 一样。 快速体验:上传图片,自然丝滑 不需要开关、不需要手动调用工具—— 直接 Ctrl+V 粘贴一张截图 ,像发普通消息一样提问即可。DeepSeek 会在思考里自然地决定「我要看这张图」,自己调用 view image ,然后直接给出结构化回答,一气呵成: 上图实拍:粘贴一张 MSN 截图,问「介绍这个页面的布局」。注意中间的 Think → Tool call · view image → Think 过程——识别不是被强行塞进第一步,而是模型在需要时自己决定看图;视觉提取与最终回答无缝衔接,就像 DeepSeek 原生具备多模态 一样丝滑。 解决的问题 DeepSeek 是纯文本模型,Harness 默认不允许给「当前模型不支持图片」的会话发送带图消息。本插件: - 让带图消息 能通过发送准入 并被持久化保存; - 在把消息交给主模型 之前 把图片剥离成一句引用说明; - 注册 view image 工具,主模型 随时 调用它看图,视觉模型提取描述/OCR 文字后交给主模型继续回答。 安装 setx 只对 新启动的进程 生效,所以配置后要重启 dsh。 模型名与端点因提供商而异:百炼用 qwen-vl-plus / qwen-vl-max ,OpenAI 用 gpt-4o ,OpenRouter 用 qwen/qwen2.5-vl-72b-instruct 等。详见下表。 使用 1. 在会话里 粘贴一张图片 (Ctrl+V)或拖拽/点附件; 2. 发一句问题,例如「这张图里写了什么?」; 3. 主模型收到的是「图片引用说明」,它需要看图时会自动调 view image(attachment id=…) ; 4. view image 用视觉模型提取图片内容,主模型基于这些文字回答。 你可以在后续任意一轮继续追问同一张图(「再看一下图里第二行的数字」),图片一直留在后台,可反复查看。 工作原理 三个环节: 1. 准入放行 :包装 llm.resolveModelInfo ,让目标主模型声明 inputModalities: ['text','image'] ,使带图消息能通过 Host 的发送准入检查并被保存。 2. 图片剥离 :包装 llm.streamWithRegistration ,在请求派发给模型前把每个 image 块(含嵌套在 tool-result 里的)换成带序号的引用说明( 【图片N attachment id=……

在 GitHub 查看完整 README →
内容/媒体dashscopedeepseek-harnessdsh-pluginmultimodalocropenai-compatibleqwenvision

分类