yuqingsh/dsh-image-subagent ↗★ 3
dsh-image-subagent
让纯文本主模型(DeepSeek V4 等)也能接收图片附件:图片投影为显式占位文本,由主模型委托视觉子代理经 read_attachment/read_image 读取。零核心补丁,纯插件实现。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yuqingsh/dsh-image-subagent说明文档
阅读完整 README ↗dsh-image-subagent
让纯文本主模型(如 deepseek-v4-pro)也能接收图片附件的 DeepSeek Harness 插件:图片不再被准入门控拒绝,而是进入会话后投影为显式文本占位符,由主模型委托给视觉子代理(多模态模型)通过 read_attachment / read_image 原生读取。
零核心补丁——全部通过插件级 seam 实现,npx 重装、版本升级都不会失效。
三个与现有方案的区别:
- 首个纯插件打通「贴图准入」的闭环:社区现有方案(#357、#427、#733、#911 等)要么是提案、要么是改核心的 patch/fork;
- 子代理原生看图:图片直接交给多模态子代理理解,不做「先压缩成文本描述再转述」的语义损耗,支持多轮追问;图片走 harness 自己的附件库(会话引用授权、随会话导出),路由本地时不出本机,零新增凭据。
安装
依赖:@deepseek-ai/dsh ≥ 0.1.0-rc.6、pnpm(brew install pnpm)。
# 从 GitHub(推荐锁定 commit,防止后续推送改变实际运行的代码)
dsh plugin --profile web add github:yuqingsh/dsh-image-subagent#
# 或从 npm(发布后)
dsh plugin --profile web add dsh-image-subagent
# 或本地 checkout / tarball
dsh plugin --profile web add ./dsh-image-subagent
dsh plugin --profile web add ./dsh-image-subagent-0.1.0.tgz
安装后重启 dsh web 并刷新页面。卸载/升级:
dsh plugin --profile web remove dsh-image-subagent
dsh plugin --profile web up dsh-image-subagent
使用方法
1. 一次性:配置视觉子代理
插件只负责「放行图片 + 投影占位符」;真正看图的是你预设里的视觉子代理。在 DSH 网页的 Agent 预设里添加一个子代理(如 observer):
- 模型选声明了 image 输入的多模态模型(如 MiniMax M3 / Kimi 视觉模型);
- 工具集勾选
read_attachment、read_image(由核心dsh-tool-fs提供,多数完整预设默认已挂载); - 主模型保持纯文本(如 DeepSeek V4 Pro / Flash)。
子代理读图的硬性要求(缺一不可):
- 子代理模型必须声明 image 输入(
inputModalities含image)——若子代理也是纯文本路由,本插件的投影会把图片同样变成占位符,子代理只能拿到元数据、看不到像素; - 工具集包含
read_attachment/read_image; - 子代理必须在本会话内派生(spawn / fork)——附件读取按会话日志的引用授权,独立新会话无权读取该 id;
- 主模型委托时把占位符里的
attachmentId一并传给子代理(占位符自带 id,主模型按提示传递即可)。
没有视觉子代理时,占位符会进入对话,但无人能读图——主模型会告知你这一情况。