让未声明多模态的中转路由也能正常接收图片
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🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Ayowait/dsh-send-photos
让未声明多模态的中转路由也能正常接收图片
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,332已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,153已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,244已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,046已汉化DSH
71.1
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,480已汉化DSH
71