让纯文本主模型直接接收聊天图片并转为文字观察
29.4/100
综合分
1
GitHub 星标
238
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-vision-fallbacknpm 源 · dsh-vision-fallback 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 62 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-vision-fallback @ 0.10.0
✓Node 引擎要求 >=22.13.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 17:50:21
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件lib/index.js:225
const raw = JSON.parse(readFileSync(path, "utf8")); - 写入本地文件lib/index.js:242
mkdirSync(dirname(path), { recursive: true }); - 写入本地文件lib/index.js:243
writeFileSync(path, `${JSON.stringify(Object.fromEntries(store))}\n`, "utf8"); - 写入本地文件lib/index.js:330
mkdirSync(dirname(logPath), { recursive: true }); - 写入本地文件lib/index.js:331
appendFileSync(logPath, `${JSON.stringify(entry)}\n`, "utf8"); - 发起网络请求lib/index.js:413
response = await fetch(chatCompletionsURL(cfg.baseURL), { - 发起网络请求lib/client.js:76
const response = await fetch(CONFIG_ROUTE, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-attachment@deepseek-ai/dsh-settings@deepseek-ai/dsh-credentials@deepseek-ai/schemastery@deepseek-ai/dsh-home-paths给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 图片转文字观察
- 保留界面原图
- 重启后复用结果
为 DeepSeek Harness 静默搭起视觉桥梁:把聊天图片转给固定视觉模型,保留界面原图,压缩与重启后仍复用观察结果。
最近更新
在 GitHub 查看全部 →v0.10.02026-09-03
· 变更
· Host 监听器适配了当前的 Cordis effect 生命周期。
· 不再改动已冻结的 llm/stream 请求,压缩改用复制后的请求。
· 为 0.1.2-alpha.3、0.1.2-alpha.4 和 0.1.2-alpha.5 添加了明确的 DSH Store 兼容性元数据。
· 声明了支持的 Node.js 和 DSH 版本范围,并扩大了 bundle manifest 覆盖范围。
· 验证
· 2026-09-03 自动化测试 24/24 全部通过。
· 在 DSH 0.1.2-alpha.3、0.1.2-alpha.4 和 0.1.2-alpha.5 上,全新配置档添加、dump-config、HTTP 200 冷启动和移除均通过。
· 在 DSH 0.1.1-rc.2 上,真实配置档的视觉桥接验证通过。
v0.9.12026-08-18
· 新增 dsh-plugin npm 关键词,并为可安装的 DSH 打包清单加了回归测试。
· 扩充了文档,涵盖压缩复用、工具结果图片、持久化观察和重启恢复。
· 以 dsh-vision-fallback@0.9.1 发布到 npm。
v0.9.02026-08-18
· 新增压缩(compaction)调用线路:优先复用主模型已有视觉观察,不再整批重复识图
· 观察缓存持久化到 observations.json,服务重启和事件回放后可继续复用
· 缓存按会话、消息位置、图片和视觉路由隔离;同图在新消息位置会重新识别
· 工具结果图片进入模型投影,同时保留界面原始图片
· usage.jsonl 记录耗时、成功/失败状态、图片信息与 token 用量
· 21 项单元测试覆盖普通对话、工具结果、压缩、缓存和用量记录
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-vision-fallback
为 DeepSeek Harness (dsh) 提供全局静默视觉增强:你继续在会话顶部直接选择真实主模型(如 deepseek-v4-flash),聊天框里拖入、粘贴、引用的图片会自动交给固定视觉模型,转成事实性文字观察后作为隐藏上下文交给主模型。界面始终显示你的原始图片——不新增"视觉回退"模型分组、不切换模型、不调用额外工具。
兼容当前 DSH STORE 版本窗口:0.1.2-alpha.3、0.1.2-alpha.4、0.1.2-alpha.5。MCP / ACP 的持久图片附件,以及 PTC Mode 转发的嵌套图片,都会沿用同一套视觉桥处理。插件启用时会保留图片能力声明;否则聊天框会在图片到达视觉桥之前直接提示“模型不支持图片输入”。
为什么需要
- DeepSeek V4 Flash/Pro 等强编码模型是纯文本的:聊天框发图会直接报"模型不支持图片输入"。
- 已有的"视觉工具"类插件需要你把图存成文件再调 see_image(path)——笨重,而且主模型依然收不到聊天框附件。
- 本插件在请求层架桥:聊天框发图就像原生支持一样,无论你在模型选择器里选哪个主模型。
展开完整文档(README 剩余 1 节)
dsh-vision-fallback 为 DeepSeek Harness (dsh) 提供全局静默视觉增强:你继续在会话顶部直接选择真实主模型(如 deepseek-v4-flash),聊天框里拖入、粘贴、引用的图片会自动交给固定视觉模型,转成事实性文字观察后作为隐藏上下文交给主模型。界面始终显示你的原始图片——不新增"视觉回退"模型分组、不切换模型、不调用额外工具。 兼容当前 DSH STORE 版本窗口:0.1.2-alpha.3、0.1.2-alpha.4、0.1.2-alpha.5。MCP / ACP 的持久图片附件,以及 PTC Mode 转发的嵌套图片,都会沿用同一套视觉桥处理。插件启用时会保留图片能力声明;否则聊天框会在图片到达视觉桥之前直接提示“模型不支持图片输入”。 为什么需要 - DeepSeek V4 Flash/Pro 等强编码模型是纯文本的:聊天框发图会直接报"模型不支持图片输入"。 - 已有的"视觉工具"类插件需要你把图存成文件再调 see_image(path)——笨重,而且主模型依然收不到聊天框附件。 - 本插件在请求层架桥:聊天框发图就像原生支持一样,无论你在模型选择器里选哪个主模型。 工作方式 拖图/粘贴 ──► 聊天附件(UI 始终显示原图) │ ▼ agent/pre-step ──► 图片 + 当前问题 + 最近上下文 │ │ │ ▼ │ 固定视觉模型(OpenAI 兼容 /chat/completions) │ │ 事实性文字观察 │ ▼ └──► model-only surface replacement ──► 主模型(纯文本) 1. 插件覆盖发送前的图片能力检查,让文本主模型也能接收带图消息。 2. agent/pre-step 检测本轮图片,把图片、最新用户问题和最近对话上下文发给配置的视觉模型。 3. 你的原始图片作为正常聊天附件保留在界面。 4. 仅模型可见的 surface replacement 把图片换成视觉观察后再交给主模型。 5. 切换主模型(DeepSeek、Kimi、MiniMax……)不会改变固定视觉模型。 MCP / ACP / PTC 图片 DSH 0.1.0-rc.7 会把 MCP、ACP 和 PTC 产生的图片保存为持久附件,再以核心 image 内容块交给后续链路。本插件会递归处理普通消息、tool-result 和多层嵌套 tool-result 中的图片,并保持图片与文字的原始顺序: - MCP / ACP 持久附件:按 attachmentId 读取,不依赖临时文件路径; - PTC 嵌套图片:子调用返回的图片也会转换为视觉观察; - 多张图片:逐张调用视觉模型,观察结果对应原始出现顺序; - 原始界面:只替换模型视图,聊天界面仍保留原图。 插件的图片能力声明是必要的入口兼容层。它不是说主模型真的具备视觉推理能力,而是允许图片先进入 DSH,再由视觉桥转成主模型可用的文字上下文。 DSH 兼容性证据 2026-09-03 使用 Node.js 24.16.0 验证,每个版本均使用独立的一次性 DSH_HOME: | DSH 版本 | 本地路径安装 | --dump-config | 带认证冷启动 | 卸载 | | 0.1.2-alpha.3 | 通过 | 通过 | HTTP 200 | 通过 | | 0.1.2-alpha.4 | 通过 | 通过 | HTTP 200 | 通过 | | 0.1.2-alpha.5 | 通过 | 通过 | HTTP 200 | 通过 | Profile 操作使用官方 CLI:plugin --profile web add -w 和 remove -w dsh-vision-fallback。新版 DSH 会深冻结 llm/stream 请求,插件不再原地修改它;上下文压缩会复制请求并执行一次带重入保护的嵌套分发。 安装 npm / 本地检出 npm 发布后(或本地检出目录) dsh plugin --profile web add dsh-vision-fallback 或:dsh plugin --profile web add /path/to/dsh-vision-fallback 从源码 git clone https://github.com/1HelloMan1/dsh-vision-fallback.git cd dsh-vision-fallback pnpm install --config.minimumReleaseAge=0 # 预发布 peer 依赖可能需绕过发布年龄策略 pnpm test # node --test test/.test.mjs dsh plugin --profile web add "$PWD" 然后验证并重启: dsh --profile web --dump-config # 应出现 "# == dsh-vision-fallback" 层 重启 dsh web(patch/bundle 层不支持热加载) 插件注册在 host 平面,headless / TUI 等其他 profile 同样兼容。 配置 两种方式都实时生效(保存后无需重启): Web 设置页 打开 DSH Web 设置 → 视觉增强,只暴露这些项: | 字段 | 默认值 | 说明 | | 启用 | true | 总开关 | | 视觉模型 | mimo-v2.5 | OpenAI 兼容 model | | API 地址 | https://opencode.ai/zen/go/v1 | 插件自动拼 /chat/completions | | 凭据引用 | OPENCODE_GO_API_KEY | 从 DSH 凭证系统解析(不写入环境变量) | | 输出上限 / 超时 / 图片上限 | 1536 / 60000 / 15MB | 视觉请求限制;超过图片上限会失败 | | 最近上下文 | includeRecentContext: true、contextMessages: 6、contextMaxChars: 6000 | 附带多少最近对话给视觉模型 | | 提示词 | (中文详细分析) | 分析指令;用户问题自动追加 | | 结果标注 | true | 观察前加 【视觉观察:】 | settings.yaml vision-fallback: enabled: true model: mimo-v2.5 baseURL: https://opencode.ai/zen/go/v1 apiKeyRef: OPENCODE_GO_API_KEY maxTokens: 1536 timeoutMs: 60000 maxBytes: 15728640 includeRecentContext: true contextMessages: 6 contextMaxChars: 6000 prompt: "请分析这张图片..." tagResult: true API key 通过 DSH 凭证系统(~/.dsh/.credentials.yaml)解析,process.env[apiKeyRef] 作为兜底——插件不会把 key 写入 shell 环境文件。 安全与隐私 - 配置路由仅限本机回环 + 同源校验,请求体限大小并做 schema 校验。 - 视觉模型没有工具权限、没有 system prompt、没有执行权限——只拿到图片、问题和最近文字上下文。 - 观察结果以 model-only surface replacement 交付,界面中的原始图片永不被改写。 - 图片读取走 DSH 附件服务(遵守沙箱与观察策略);视觉请求携带官方 attributionHeaders()。 用量记录(usage.jsonl) 开启 recordUsage 后,每次真实视觉调用(成功或失败)追加一行 JSON 到 /vision-fallback/usage.jsonl(可在设置页改 usageLogPath),供 usage-dashboard 统计。 字段: | 字段 | 含义 | | ts | 调用发起时刻(毫秒时间戳) | | durationMs | 本次调用响应耗时(毫秒) | | kind | 固定 "vision" | | status | "ok" 成功 / "error" 失败 | | model | 视觉模型名 | | inputTokens / outputTokens | 输入 / 输出 token 数 | | cacheReadTokens | 命中缓存读取的 token 数 | | error | 失败时的错误信息(仅失败条目) | | imageName / mediaType / imageBytes | 图片文件名 / 媒体类型 / 字节数 | | imageIndex / imageTotal | 该图在本次请求中的第几张 / 总张数 | 复用已记忆的观察结果(observations.json)不会产生新条目——该文件统计的是真实外部视觉调用次数。 观察缓存语义 观察结果按图片在某次会话中的出现位置(会话 id + 消息 id)记录: - 同一图片在同一消息位置被重复处理(重启恢复、重放、压缩)→ 直接复用,不重新识别; - 同一图片在会话的新位置再次出现(新轮次、主模型"再仔细看看")→ 重新识别,生成贴合当前上下文的新观察; - 不同会话之间不共享观察结果。 缓存上限 256 条(LRU 淘汰),失败结果不入缓存。 关于图片压缩 当前版本的“压缩”指上下文压缩时复用已经得到的视觉观察,不会重新识图;插件暂时不会对图片文件做缩放、转码或质量压缩。图片超过 maxBytes 时会直接报告失败,不会静默改变原图。后续如增加真正的图片压缩,会单独记录压缩前后字节数和媒体类型。 默认视觉路由 - 模型:mimo-v2.5 · 端点:https://opencode.ai/zen/go/v1/chat/completions · 凭据:OPENCODE_GO_API_KEY 任何 OpenAI 兼容视觉端点都可用(智谱 GLM-4V-Flash、SiliconFlow Qwen-VL、vLLM、Ollama……),在设置页改 model、baseURL、apiKeyRef 即可。 与 OpenCode 方案的关系 OpenCode 社区的 opencode-see-image 把 filePath 和针对当前任务的 question 交给固定视觉模型,再把文字结果返回当前主模型。DSH 比 OpenCode 多了一层发送前的图片能力校验,因此这里同时覆盖该校验,并用 DSH 官方的 agent/pre-step 与 model-only surface replacement 保持界面静默。 开发 pnpm test # node --test test/.test.mjs 目录结构: dsh-vision-fallback/ ├── package.json # dsh.bundle + dsh.client 声明 ├── cordis.patch.yml # 插入 vision-fallback 行 ├── lib/index.js # host 插件(pre-step 桥、配置路由、控制器) ├── lib/client.js # Web 设置页("视觉增强") └── test/ # 单元测试 许可证 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
1HelloMan1/dsh-vision-fallback
让纯文本主模型直接接收聊天图片并转为文字观察
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,364已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,709已汉化DSH
71.8
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,319已汉化DSH
71.5
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,533已汉化DSH
71.1
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 93,105已汉化DSH
71.1
这是你的仓库?认领条目