跳到主内容

dsh-image-bridge

5Star0Fork0Issue0Watching

为 DSH Web 纯文本模型提供图片桥接:把粘贴的图片落盘成本地路径并改写为文本标记发送,模型自主调用其目录中的视觉工具查看图片。

机审证据4/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
JavaScript
License
MIT
分支
main
dsh-plugindsh-plugin-marketdsh-plugin-verifydsh-pluginsimageocrvision

安装

命令web profile
$ dsh plugin --profile web add @kbpoyo/dsh-image-bridge

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 kbpoyo/dsh-image-bridge:先查看仓库 https://github.com/kbpoyo/dsh-image-bridge 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

为 DSH Web 中不支持原生图片输入的纯文本模型提供图片桥接:把粘贴的图片保存到会话工作区的隐藏目录,用一段包含路径和「自己调用视觉工具」指引的文本替换原生图片,让模型自己到技能/工具目录里挑能力来读图。

核心能力

  • 在纯文本模型会话的输入框右侧注入「桥接发送图片」按钮(多模态模型下自动隐藏)
  • 接管发送回车:纯文本模型下含图消息在原生门禁前被自动改写为桥接文本,与按钮等效
  • 图片落到会话工作区的隐藏目录 <cwd>/.dsh-image-bridge/,文件名带时间戳与序号
  • 按宿主 attachments.imageLimits 校验数量、媒体类型与单张/总大小
  • 桥接文本中明确告诉模型先看自己目录里的视觉/OCR/grounding 工具,零技能绑定
  • 自动清理:24 小时 TTL、总大小超过 512 MB 时按最旧优先清理,每 6 小时巡检

技术实现

  • 语言: JavaScript(ES Modules,type: "module"),客户端用 React
  • 关键依赖: zod(Wire 契约 schema)、@deepseek-ai/dsh-typert-protocol(Host/Client RPC 桥接)、@deepseek-ai/cordis ^4.0.1
  • 架构模式: 服务端注册 TypertRemoteService 暴露 bridgeState / bridgeSend 两个 RPC,并包装 apiProxy.sessions.prompt 在原生门禁前自动改写含图消息;客户端在 conversation.input.right slot 注册按钮,通过 connection.rpc 调用宿主 typert 端点,订阅 modelDirectories store + 1s 兜底轮询感知模型切换
  • 入口文件: lib/index.js(服务端 Cordis 插件)、lib/client.js(浏览器端 ModuleLoader 注入)、lib/typert.js(Wire 契约 schema)、cordis.patch.yml(DSH bundle patch)

适用场景

当你用纯文本模型(成本低或没有视觉档位)但又想让它看图时使用:粘贴图片后点「桥接发送图片」或直接回车,插件会把图片保存到本地、用文本标记告诉模型图片在哪、然后让模型去调用它自己目录里的视觉能力。适合希望复用现有会话模型而不必为图片切换到贵价多模态模型、且模型已经配置了视觉类技能/工具的用户。

前置依赖与兼容性

依赖最低版本说明
DSH>= 0.1.0-rc.6peerDependencies 声明 @deepseek-ai/dsh-typert-protocol ^0.1.0-rc.6,bundle patch 通过 dsh plugin add 自动挂载
Node.js未声明package.json 未声明 engines.node
平台跨平台限制来自宿主工作区与 sandbox 服务可用性,本插件未在 package.json 中声明 os/cpu;客户端注入平台为 web(DSH Web profile)
原生模块无不依赖任何原生模块;图片落盘与清理均通过宿主 shell 服务(base64 -d / file -b / find / du)

安装方式

dsh plugin --profile web add github:kbpoyo/dsh-image-bridge

配置项

本插件无需额外配置。cordis.patch.yml 中 config: {} 为空对象;运行时一切参数(桥接目录根、清理 TTL/上限、模型能力查询、消息路径与尺寸提取)均从宿主服务(sandboxPolicy.workspaceRoot、attachments.imageLimits、llm.resolveModelInfo)获取。

常见问题

Q: 装好之后必须先配置什么才能用吗?

A: 不需要。cordis.patch.yml 中 config 默认为空;npm 安装后重启 dsh web 即可生效。纯文本模型会话里粘贴图片后会出现「桥接发送图片」按钮;也可运行 dsh --profile web --dump-config 确认插件配置层已挂载。

Q: 支持哪些图片格式和大小?

A: 跟随宿主 attachments.imageLimits 配置:支持 PNG / JPEG / WebP / GIF(其他 image/* 类型回退保存为 .png),单张大小、单消息总大小、单消息图片张数都由宿主定义,按钮在 onClick 时按这些限制做完整校验,超限会直接显示错误并不发送。

Q: 桥接产生的临时图片存在哪里?会一直留着吗?

A: 落到当前会话工作区下的隐藏目录 <cwd>/.dsh-image-bridge/(点号开头,常规文件管理器默认不显示)。超过 24 小时未访问的文件会被自动删除;目录总大小超过 512 MB 时按最旧优先清理;插件卸载时也会清理。手动删除该目录也无影响,下次桥接会自动重建。

Q: 切换到多模态模型后按钮会消失吗?

A: 会。客户端订阅官方模型目录 store(事件驱动)并叠加 1 秒兜底轮询,切换瞬间按钮立即隐藏;多模态模型下图片直接走原生发送,插件完全静默,不做拦截或改写。

Q: 模型真的能"看到"图片吗?需要我指定视觉工具吗?

A: 取决于模型自身目录里是否有视觉类(通用 VQA)、OCR 或 grounding 工具——插件不绑定、不调用任何具体工具,只在文本标记里写明「先查看当前可用技能与工具再调用」。你不需要指定工具;如果模型目录里没有视觉能力,它会如实告知「请安装视觉技能或切换到多模态模型」。

Q: 自定义供应商的纯文本模型下按钮一直显示,怎么办?

A: 适配器只在模型声明含 input: ['text','image'](或主动上报 image 能力)时才会上报为多模态。settings 配置的自定义供应商若模型声明里没写 input,适配器一律按纯文本上报,插件忠实读取——这是配置层事实不是 bug。解决办法是在模型声明里补 input: ['text','image'],或改用适配器托管目录、正确上报能力的模型。

Q: 发了图片之后能切回纯文本模型吗?

A: 不能,这是 DSH 原生限制(会话日志一旦含原生图片就禁止切回纯文本模型)。要切回需要执行 /compact 或开新会话;本插件不绕过这个限制。

Q: 父代理向子代理发图会自动桥接吗?

A: 不会。父代理向子代理发送的含图消息不经 session.prompt,本插件的 apiProxy.sessions.prompt 包装只覆盖主会话发送,子代理发图仍会撞上原生门禁 MODEL_DOES_NOT_SUPPORT_IMAGES。

上手难度

入门 — 用户只需要在 Web 客户端粘贴图片并点按钮(或直接回车),不需要任何配置;安装后立即可见效果,模型侧能力判定与切换感知均由插件自动处理。

已知问题与限制

  • 自定义供应商(settings 配置)若模型声明未含 input: ['text','image'],适配器一律上报为纯文本,桥接按钮会如实显示——需在模型声明里补 input 字段(README.md:87-89)
  • 发送原生图片后无法切回纯文本模型(DSH 原生限制),需 /compact 或新会话,插件不绕过(README.md:90)
  • 父代理向子代理发图不在覆盖范围:subagent 路径不经 session.prompt,仍走原生门禁(README.md:91)
  • apiProxy.sessions.prompt 启动时若不可用(宿主加载时序),自动桥接被跳过(仅按钮流程仍生效),会在控制台打印一行说明(lib/index.js:307-309)
  • 任意桥接失败(如桥接目录不可写、磁盘满)会回退到原生行为并在控制台打 error 日志,前端 onClick 路径会显示错误提示(lib/index.js:166-171 / lib/client.js:201-205)

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/kbpoyo/dsh-image-bridge)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录