soarGuo/dsh-auto-vision

soarGuo★ 2TypeScriptLast synced: 2026-08-27

Open on GitHub

Bridges images into text for non-vision DeepSeek Harness models — your message stays untouched, zero manual setup.

README excerpt

dsh-auto-vision 中文 English 让不支持图片输入的模型(如 deepseek-v4-pro 、 deepseek-v4-flash )也能接收截图。 粘贴的图片由配置的视觉模型自动识别,描述以 折叠的上下文条目 写入会话历史—— 你的原始消息保持原样 。每个会话都生效;与模型相关,与会话无关。 纯插件 + 配置实现,不修改 DSH 源码。 工作原理 1. GUI 放行 (自动配置):插件默认( autoDeclareInput: true )在启动时与 settings/适配器变化时,自动给 settings 里已配置的模型补 input: [text, image] 声明——图片准入检查只相信模型声明,声明含 image 即放行,带图消息得以进入 inbox。原生视觉模型同样补声明(它们也需要声明才能收到图)。 2. 准确模型快照 (插件):监听 system-prompt/assemble (pre-step 前、同一步发生),从 assembly.variables 读取 GUI 此刻选择的准确 provider/model(由 DSH 的 model-selection 机制写入)。 3. 拆分注入 (插件): agent/pre-step 时,白名单外的模型 → 原消息完全保留(图片照常显示,和 vision-exp 会话一样) ,识别描述作为 独立的 notice 上下文消息 追加其后(GUI 渲染为折叠行:摘要 + 展开看全文)。两条消息都由 agent loop 原样写入会话历史, 识别结果天然持久化 ,后续多轮都能引用同一条图片记忆。 4. 请求级剥离 (插件):发给模型的请求在 llm/stream 阶段把图片块替换为短占位文本(完整内容在描述消息里,不重复消耗 token),所以图片永远不会到达网关;GUI 显示不受影响。 5. 识图跟随分组 :识图路由自动跟随当前会话模型的分组——在 sub2api 分组里发图,就用 sub2api 分组里的视觉模型识图(走该分组的 key);切到官方分组,就用官方视觉模型(走官方 key)。分组在白名单里没有视觉模型时,回退到 visionProvider / visionModel 默认路由。 行为 - 触发条件(两个同时满足): 1. 进入 step 的消息含有图片块(顶层或工具结果内); 2. 当前模型不在 nativeVision 白名单内。 - 图片照常显示 :你的消息气泡里图片缩略图保留(和 vision-exp 会话一样),只是发给模型的请求把图片换成了短占位;完整识别内容在紧随其后的折叠上下文条目里。 - 递归处理工具结果 : read image 等工具结果里内嵌的图片同样会被识图替换(声明 input: [text, image] 会解锁 read imag…

View full README on GitHub →
Media / Contentdeepseek-harnessdsh-pluginvisionagent

Category