前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在实际的智能体开发中,如果主模型是文本模型,要为其增加视觉理解能力,通常需要修改 DSH 核心代码或进行复杂的系统级集成。dsh-bundle-vision 旨在解决这一痛点,它提供了一个 Profile Bundle 和 Plugin 的组合包,在不改动 DSH 核心代码的前提下,通过 Bundle patch 机制,为任意 Profile 提供视觉能力。
这是什么¶
dsh-bundle-vision 是一个由 skillre 维护的插件包,分类属于模型推理。它将视觉能力的实现封装为一个可安装的 NPM 包,核心功能是注册了一个面向模型的工具 describe_image,并将该插件挂载到任意 Profile 的 Bundle 层。
核心功能¶
该插件主要实现以下功能:
- 工具注册:注册
describe_image工具,供 LLM 调用。 - 本地读取:支持读取本地 PNG、JPEG、WebP、GIF 格式的图片文件。
- 字节提交:通过附件服务将图片字节提交。
- 路由请求:向命名多模态路由发起 LLM 请求。
- 零核心更改:所有逻辑均通过插件和 Bundle 实现,无需修改 DSH 核心代码。
- Bundle Patch 机制:利用 Cordis patch 机制进行集成。
安装与启用¶
在已安装 DSH 环境下,使用官方命令安装:
dsh plugin --profile <name> add dsh-bundle-vision
安装后,需要重启 dsh <name> 进程。工具会注册给所有 Agent(Profile-root 注册对所有预设作用域可见)。安装命令会自动处理 Bundle 层堆栈的依赖关系。
典型用法¶
主模型在对话中可以直接调用该工具。调用时需要提供文件路径、目标 Provider、模型名称和 Prompt。
Use describe_image with file_path '/path/to/photo.jpg', provider 'my-vision', model 'my-vision-model', and prompt "OCR the text in this image".
主模型在每次调用时自行指定 Provider 和 Model,从而实现灵活切换,无需修改 Profile 配置。如果请求失败,拒绝信息会明确指出失败原因(如不支持的扩展名、部署媒体类型不支持、路由未声明图片输入、文件不存在或类型不匹配等)。
适用场景与注意¶
使用该插件前需注意以下依赖和配置要求:
- 配置声明:必须在
llm-pi-ai设置中声明多模态模型的输入类型(例如在input字段中包含image)。 - 版本依赖:依赖的 peerDependencies 需要满足
>=0.1.0-rc.6。 - 会话内容:工具结果为纯文本,不会产生图片块进入会话,因此纯文本主模型可以直接使用。
- 运行时依赖:插件依赖
ctx.fs(文件系统能力)、ctx.attachments(附件服务)和ctx.llm(LLM 调用)。
短结尾¶
dsh-bundle-vision 通过工具注册和 Bundle patch 机制,为 DeepSeek Harness 带来了无需核心更改的视觉能力。它利用现有的 ctx 上下文和附件服务,让文本模型能够调用外部多模态路由处理图像。更多细节请参考 目录页 或 GitHub 仓库。