dsh-vision-subagent:为 DeepSeek Harness 文本智能体接入视觉能力

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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜