dsh-image-bridge:爲純文本主模型補上獨立視覺子智能體識圖

前言

在 DeepSeek Harness(DSH)裏,主對話模型往往是你已經配好路由的那一檔:有的支持多模態,有的運行時會把圖片塊投影成佔位文本再發出請求。後者在對話裏仍然可以「提到」圖片路徑或附件,但主模型本身看不到像素。常見做法是換一條 vision 路由當主模型,或在應用層自己接 OCR / 識圖 API;dsh-image-bridge 的做法是在 Harness 內註冊一個面向模型的工具,由單獨配置的子智能體去讀圖並把答案以純文本交回主模型。

下面介紹該插件的定位、能力與配置方式。事實以 GitHub README 爲準。

這是什麼

  • 名稱:dsh-image-bridge(社區目錄:caipanjin/dsh-image-bridge,分類:模型推理)
  • 維護者:caipanjin
  • npm 包名:dsh-image-bridge(當前資料中的版本爲 0.2.6,許可證 MIT)
  • 一句話:通過獨立的 vision 子智能體識別圖片;子智能體使用的 provider / model 與主智能體無關。

核心功能

插件在啓用後主要做以下幾件事(均來自 README 說明):

  1. 註冊模型側工具
    默認工具名爲 recognize_image(可通過配置改名爲其他名稱)。

  2. 解析並託管圖片
    調用時根據模型傳入的參數解析圖片:文件路徑(絕對或相對於工作區)、圖片附件 id,或未傳參時使用會話中最近一張圖片;經 Harness 附件服務存儲後交給子智能體。

  3. 啓動視覺子智能體
    在 ctx.subagents 下創建子智能體,使用本插件配置中的 provider 與 model,不使用父智能體的路由。子智能體帶着圖片與調用方的問題作答,返回純文本供主模型繼續推理。

  4. 子智能體運行約束
    - maxDepth: 1:子智能體不能再派生下一層 agent。
    - delivery: 'caller':完成通知不會泄露到主對話。
    - 每次調用回答一個問題後即銷燬。
    - 默認單次超時 180000 ms。

  5. 提示主模型使用該工具
    在 guideline 爲真(默認)時,會在系統提示中加入簡短說明,讓在運行時剝離圖片的主模型知道應通過該工具處理圖像。

  6. 啓動前校驗
    provider 與 model 未配置時插件拒絕運行;發起調用時若仍爲空會給出明確錯誤。啓動子智能體前會檢查所配模型的 inputModalities,若路由不接受圖片則提前失敗,避免把佔位文本誤發給純文本模型。

安裝與啓用

包發佈在 npm,作爲 DSH profile bundle 安裝,無需額外構建步驟(入口爲 lib/index.js)。官方安裝命令如下:

dsh plugin --profile <profile> add dsh-image-bridge

也可在 DSH 插件中心 / 插件管理器按包名 dsh-image-bridge 安裝。運行時依賴 @deepseek-ai/cordis、@deepseek-ai/dsh-tools、@deepseek-ai/dsh-subagent 等 peer dependency,由 Harness 安裝提供,插件包本身不附帶這些模塊的 node_modules。

package.json 中聲明的引擎約束包括 Node ^22.19.0 || >=24.0.0,以及 DSH >=0.2.0 <0.3.0-0;安裝前請對照你本地的 Harness 與 Node 版本。

配置

在 profile 的 cordis.patch.yml 中配置鍵 vision-bridge;帶 * 的字段可在 Settings UI 中 live 編輯。

字段 默認值 含義
provider (必填) 子模型 provider,如 openai、anthropic、deepseek。
model (必填) 該 provider 上的視覺模型 id,如 gpt-4o-mini、qwen-vl-max。
reasoningEffort* '' 子路由推理力度;空則走模型默認。
maxTokens* 4096 單次子調用輸出上限。
subagentProvider spawn ctx.subagents 後端;spawn 隨 dsh base 提供。
subagentLabel vision 子智能體標籤前綴,後會追加問題摘要。
labelQuestionChars 40 追加到標籤的問題字符數;0 則僅保留前綴。
toolName recognize_image 暴露給主模型的工具名。
maxDepth 1 委託深度上限。
timeoutMs 180000 單次調用超時(毫秒)。
systemPrompt* '' 覆蓋子智能體內建分析指令。
guideline* true 是否向主模型添加「有圖時調用此工具」的提示行。

隨包自帶的 cordis.patch.yml 故意將 provider / model 留空,需要你在 profile 裏填入一條接受圖片輸入的路由;二者未設置前插件不會正常工作。

工具參數與典型用法

工具參數(README 定義):

  • question(必填):希望從圖片中得到什麼答案。
  • images(可選):一個或多個圖片路徑或圖片附件 id;省略則使用會話中最近一張圖。

典型流程是:主模型在無法直接讀像素的環境下,對用戶關於截圖、照片、圖表的問題調用 recognize_image,傳入 question 與可選的 images;子智能體用你配置的視覺模型作答,主模型再把返回的文本融入回覆。具體觸發方式取決於主模型與 DSH 工具調用行爲,README 未給出固定對話示例,此處不臆造樣例對話。

開發側可對無外部依賴的 lib/pure.js 跑單元測試:

npm test

(node --test,無需完整 Harness 運行時。)

適用場景與注意

更適合:主路由是純文本或多模態被運行時剝成佔位文本,但仍需在對話裏處理用戶上傳的圖片、工作區內的圖像文件或附件;希望 vision 能力與主模型解耦(例如主模型用 DeepSeek 文本檔,識圖用另一家 gpt-4o-mini / qwen-vl-max 等)。

需要注意:

  • 子智能體每次調用消耗所配視覺模型的配額與時延,並受 timeoutMs、maxTokens 限制。
  • 插件在 DSH 進程權限下運行,能訪問你配置的路徑與附件;安裝前應閱讀源碼與 MIT 許可證,確認路由與密鑰配置符合你的安全策略。
  • DSH 社區插件目錄(如 skillhub.cn 上的條目)爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係;星標等元數據以各站點當時展示爲準(資料中 GitHub 星標爲 0)。

結尾

dsh-image-bridge 用一條可配置的路由和一層深度爲 1 的視覺子智能體,把「看圖」從主模型運行時裏拆出來,讓文本優先的主 agent 仍可通過 recognize_image 獲得像素級答案。安裝命令爲 dsh plugin --profile <profile> add dsh-image-bridge,配置核心在 vision-bridge 的 provider 與 model。

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

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

小夜