🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

图片放行补丁 Ayowait/dsh-send-photos

DeepSeek Harness
Ayowait14 天前有提交已提供中文文档扫描:未发现敏感能力

让未声明多模态的中转路由也能正常接收图片

29.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Ayowait/dsh-send-photos
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/10/31(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

为端点缺少模态元数据的转发路由声明图像输入,让 DeepSeek Harness 接收照片而不是拒收。

README

由 DeepSeek 最新模型翻译生成
dsh-send-photos 英文版:README.en.md 让 DSH 接受本会被拒收的图片,用在那些收得下图、却没有声明多模态能力的中转站/反代上。 问题 DSH 判断一个模型能不能收图,只读 llm-pi-ai 解析出来的模型元数据。中转站的 /v1/models 通常不返回模态信息,配置里于是没有 input,落到默认值 ["text"]。图片在到达上游之前就被本地两道闸门拦掉: | 层 | 位置 | 表现 | | 会话准入 | dsh-api-session-controller prompt() | session/attachment-invalid,reason MODEL_DOES_NOT_SUPPORT_IMAGES | | 请求适配 | dsh-llm-pi-ai streamWithSnapshot() | LlmError UNSUPPORTED_CONTENT | 所以模型明明认得图,DSH 却在你按下发送时就拒绝。 做法 两道闸门读的是同一个值:adapter 的 modelOf() 解析出的模型对象。插件只在这个方法外面套一层,对管辖范围内的路由,把缺失的 image 补进 input。 - 不写配置:不碰 cordis.patch.yml,不碰 settings 文档,不动 profile。
展开完整文档(README 剩余 1 节)
dsh-send-photos

英文版:README.en.md

让 DSH 接受本会被拒收的图片,用在那些收得下图、却没有声明多模态能力的中转站/反代上。

问题

DSH 判断一个模型能不能收图,只读 llm-pi-ai 解析出来的模型元数据。中转站的 /v1/models 通常不返回模态信息,配置里于是没有 input,落到默认值 ["text"]。图片在到达上游之前就被本地两道闸门拦掉:

| 层 | 位置 | 表现 |
| 会话准入 | dsh-api-session-controller prompt() | session/attachment-invalid,reason MODEL_DOES_NOT_SUPPORT_IMAGES |
| 请求适配 | dsh-llm-pi-ai streamWithSnapshot() | LlmError UNSUPPORTED_CONTENT |

所以模型明明认得图,DSH 却在你按下发送时就拒绝。

做法

两道闸门读的是同一个值:adapter 的 modelOf() 解析出的模型对象。插件只在这个方法外面套一层,对管辖范围内的路由,把缺失的 image 补进 input。

- 不写配置:不碰 cordis.patch.yml,不碰 settings 文档,不动 profile。
- 不改请求:图片仍以标准 OpenAI image part 发出,没有编码、拆分或伪装。
- 可逆:插件卸载时把 modelOf 原样还原。
- 只作用于存在 modelOf 的适配器(pi-ai 路由)。官方 DeepSeek 账号路由走另一个适配器,不受影响。
- 监听 llm/adapters-updated,后挂载的路由、后新增的模型同样被覆盖。

安装

这是一个 DSH bundle 包(dsh.bundle.patch),不是普通 npm 脚本。

桌面版:在插件管理器里以本地目录安装,或
dsh plugin --profile <你的 profile> add link:<本目录绝对路径>

安装后 profile 的 package.json 会增加一条依赖,Loader 里多一行 dsh-send-photos。

卸载:在插件管理器中移除该 bundle(plugin_manager 的 remove_bundle),或

dsh plugin --profile <你的 profile> remove dsh-send-photos

配置

- id: dsh-send-photos
name: dsh-send-photos
config:
providers: [] # 要覆盖的 route;空数组 = 全部已挂载路由
modalities: [text, image]
enabled: true

只作用于某个中转站:

providers:
- my-relay

注意

- 这是补声明,不是让上游变强。某个模型上游确实不收图时,请求会在上游失败;把该 route 从 providers 里排除即可。
- 显式写了 ["text"] 的模型也会被覆盖(解析后无法区分“声明为纯文本”和“没声明”)。如果某个 route 上有这类模型,用 providers 缩小范围,或只保留需要的那条。
- 依赖 llm-pi-ai 路由(api: openai-completions 这类)。若将来 DSH 改了适配器内部方法名,插件会打一条 warn 并保持无害的空转。
- 在 DSH 0.2.1-rc.2 上验证通过。

License

MIT
预览分享卡片长什么样 ↓Ayowait/dsh-send-photos
分享 · DeepSeek Harness Hub
Ayowait/dsh-send-photos

让未声明多模态的中转路由也能正常接收图片

回到顶部