Replies: 4 comments
|
顶 |
|
这扇门确实在准入层:纯文本模型(如 Flash)贴图会被 官方若把 装完要重启 |
|
这个场景现在也有一条已经跑通的插件方案,而且不只做到“落盘+标记”: dsh plugin --profile web add pi2dsh@0.11.0
dsh plugin --profile web add @kassing/pi-vision重启后在模型选择器里选择 DeepSeek + Vision Bridge 分组,Web 可以直接粘贴图片。后续有两种完整链路:
我们已经在真实 DSH Web loop 验证过:粘贴蓝色测试图 → 自动视觉分析注入 → 所以这条建议里的用户工作流目前可以不改 core 先完整使用;core 将来提供统一入站钩子,插件实现会更薄。 |
|
感谢各位指路,来更新一下这条建议的落地情况: 我们已经按 说实话有点过意不去——两位作者亲自来指路,两位的成果我们却没有实际用上。但这纯属时间上的巧合:动手安装时我们先看到了 dsh-vision-proxy 的 README,装完验证通过就留了下来,并不是把各家方案摆在一起比较之后的取舍,更不是两位方案有什么不足。 两位的方案我其实都仔细读过:
社区里三条路线并存,各自在适配层、伴生路由、桥接层找了不同的切入点,恰好都落在同一个问题上——图片入站缺少统一的预处理挂点。如果 core 将来提供官方 ingress hook,这类插件都能简化不少。再次感谢两位,也期待官方早点把这扇门开进 core。 |
Uh oh!
There was an error while loading. Please reload this page.
背景
当会话选中的模型不支持图片输入(
inputModalities不含image,例如deepseek-v4-flash)时,web 通道会在消息准入层直接拒绝图片消息(MODEL_DOES_NOT_SUPPORT_IMAGES),图片不会落盘,Agent 完全拿不到任何信息。于是“文本主模型 + 外部视觉能力(视觉脚本 / 视觉子 Agent)”的组合只能自己绕路(比如让用户把图片放进工作区目录,再手动触发)。已有的参照实现
同一生态里的
deepseek-harness-qqbot插件在imageInputMode: auto下,遇到纯文本模型并不会丢弃图片:它先把图片存为 Harness attachment,再把消息降级为文字标记(Stored as Harness attachment sha256:...)。Agent 拿到 attachmentId 后可以自行调用视觉工具处理。这个回退模式很合理,建议 web 通道(或全局)提供等价策略。具体建议
imageFallback: "store-and-annotate",可通过 settings 开关,默认可考虑开启):durablePromptContent落盘;这基本就是把 qqbot 插件 inbound 的 fallback 逻辑上移到 web 网关(
dsh-host-apiproxy的prompt/admit处理),改动很小,我们本地对照源码评估约十几行。dsh-agent层没有这个挂点,纯插件无法绕过 web 准入层。用例
主模型用 DeepSeek 文本模型,另配一个视觉脚本(如调用 Gemini 的 vision API)或给子 Agent 配置视觉 provider(
dsh-tool-subagent的agentOptions.provider/model已支持):用户在 web 直接发图 → 落盘 + 标记 → 主 Agent 触发子 Agent / 脚本读图 → 基于描述作答。这个工作流我们已在本地验证可行,只差网关这一扇门。All reactions