DeepSeek Harness 的智能体默认只处理文本。当需要分析截图或多图对比时,直接把图片塞进主会话会迅速填满上下文窗口,导致推理质量下降或 Token 浪费。dsh-vision-subagent 插件通过将图片阅读委托给一个独立的子智能体来解决这个问题。这个子智能体运行在配置好的视觉路由(如 MiniMax 或 Kimi)上,仅返回最终文本结果,从而将图片字节流和中间上下文隔离在主会话之外。
核心能力¶
这是一个为 DSH 文本智能体提供视觉能力的插件。它允许智能体通过 vision_agent 工具调用一个一次性子智能体来分析图片。
- 上下文隔离:图片数据流和视觉模型的中间推理过程不会进入主会话窗口,只有最终的分析文本返回,避免主窗口被截图信息污染。
- 多轮视觉推理:子智能体可以在回答前多次调用
read_image读取工作区内的文件,实现更复杂的视觉分析。 - 成本与路由分离:视觉调用走 MiniMax/Kimi 路由计费,主模型仅负责推理,无需在同一个路由上消耗昂贵的大模型 Token。
- Web 端粘贴支持:在 Web 聊天框中粘贴或拖入图片时,会自动触发一次视觉分析,气泡界面保持整洁。
- 工具化还原:提供
vision_image_fetch工具,可将分析后的图片高保真还原到工作区进行后续编辑。
安装与配置¶
插件通过安装包方式提供。在安装前,请确保已准备好源码路径。执行以下命令将插件添加到当前 Web 配置文件中:
dsh plugin --profile web add /path/to/dsh-vision-subagent
安装后需要配置视觉路由。编辑 ~/.dsh/profiles/web/cordis.patch.yml 文件,添加如下配置段:
- insert:
- id: vision-subagent
name: 'dsh-vision-subagent'
config:
provider: kimi-coding # 或 minimax-cn / 自定义路由
model: k3 # 或 MiniMax-M3 / MiniMax-VL-01
配置完成后,重启 dsh web 服务并开启新会话即可使用。
使用示例¶
在 Web 界面或工具调用中,智能体可以直接要求查看本地图片。例如:
“Look at ~/Desktop/error.png — what is the error?”
智能体会自动调用子智能体分析图片,并仅在主会话中返回关于错误的文字描述。
安全与限制¶
使用时需注意以下几点:
- 密钥管理:插件的密钥不直接管理,而是通过配置的视觉路由的凭证引用获取。插件本身不接触明文密钥。
- 图片来源:当前版本不支持远程图片 URL(
allowRemoteUrls: false),图片必须位于会话工作区内(allowOutsideWorkspace: false)。本地符号链接会被拒绝。 - 安全限制:子智能体运行时被限制深度为 1(
maxDepth: 1),禁止其进一步委托其他智能体或修改文件系统,仅允许读取图片。 - 路由要求:必须手动配置
provider和model字段,否则插件处于休眠状态。
总结¶
dsh-vision-subagent 通过子智能体机制,为文本型 DSH 智能体提供了轻量级的视觉分析能力,解决了上下文溢出和成本分摊的问题。该项目由 ruby1304 维护,采用 MIT 许可证。源码位于 GitHub。