Replies: 4 comments
|
官方 dsv4 / 官方 chat-completions 是纯文本。给自定义提供商加上 dsh-plugin-multimodal 补的是适配层准入:纯文本主模型先让 sidecar 看图,再把字交给主模型。真能看图的模型不误伤。不是 vision_* 工具箱。 重启 介绍:#1709 |
|
你定位的两层问题都对:只改
npx pi2dsh@0.5.0 convert @kassing/pi-vision --out vision-bundle
dsh plugin --profile web add file:$PWD/vision-bundle在 {
"deepseek-official": {
"modelOverrides": {
"deepseek-v4-pro": { "input": ["text", "image"] }
}
}
}视觉端点最简可用三个环境变量配置: export VISION_BRIDGE_BASE_URL=https://openrouter.ai/api/v1
export VISION_BRIDGE_MODEL=qwen/qwen2.5-vl-72b-instruct
export VISION_BRIDGE_API_KEY=$OPENROUTER_API_KEY重启 Web 后选择 DeepSeek + Vision Bridge,就能保持原生附件体验,同时让外部 VLM 负责看图、DeepSeek V4 Pro 负责推理。若不启用自动视觉插件,伴生路由也会把附件物化为带路径的文本提示,现有 skill/MCP 工具仍可按需读取。 我们已经在真实 DSH Web loop 验证过粘贴图片 → 外部视觉分析注入 → 纯文本 DeepSeek 一步直答,且发往文本模型的请求中没有像素。 完整示例: |
|
可以接一个图片转述模型 |
Uh oh!
There was an error while loading. Please reload this page.
我用的是deepseek-v4-pro。为了让它能识图,我搭了常见的「视觉代理」方案:用一个 skill 调外部视觉 API把图片转成文字描述,再交给纯文本模型推理。
但卡点是:DSH 对纯文本模型完全禁止图片输入。Web GUI 的贴图按钮被禁用,服务端也拒绝带图消息:
Model "…" does not accept image input, but this session already contains images; select an image-capable model.
Model "…" does not support image input.
在源码里定位到的根因
@deepseek-ai/dsh-llm-deepseek 在 modelInfo() 和 resolveModel() 里硬编码了 inputModalities: ["text"],且没有配置项可覆盖。
@deepseek-ai/dsh-host-apiproxy 用 inputModalities.includes("image") 来拦截图片内容。
@deepseek-ai/dsh-tool-fs 的 read_image 工具也按 inputModalities.includes("image") 做门禁。
试过的绕行方案
1.通过 llm-pi-ai 把视觉模型注册成 OpenAI 兼容路由,需要看图时切换过去。能用,但整轮都得离开 DeepSeek,无法实现「DeepSeek 负责推理 + 外部 API 负责视觉」的模式。
2.把图片路径或 URL 当纯文本发过去,让 skill 自己跑视觉脚本。能用,但不是真正的附件体验(没有拖拽/粘贴)。
想请教
1.有没有受支持的方式,能让纯文本模型也能接收图片附件——例如把图片存成持久化附件,并把它的本地文件路径(或一个能落地成临时文件的工具)暴露给模型,而不要求模型本身声明 image 输入?
2.或者,能否让 DeepSeek 适配器(以及一般纯文本适配器)支持通过配置声明/覆盖 inputModalities,让「视觉代理」流程能先接收附件,再交给调用外部视觉 API 的 skill/tool 处理?
All reactions