前言¶
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 倉庫。