前言¶
在 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 說明):
-
註冊模型側工具
默認工具名爲recognize_image(可通過配置改名爲其他名稱)。 -
解析並託管圖片
調用時根據模型傳入的參數解析圖片:文件路徑(絕對或相對於工作區)、圖片附件 id,或未傳參時使用會話中最近一張圖片;經 Harness 附件服務存儲後交給子智能體。 -
啓動視覺子智能體
在ctx.subagents下創建子智能體,使用本插件配置中的provider與model,不使用父智能體的路由。子智能體帶着圖片與調用方的問題作答,返回純文本供主模型繼續推理。 -
子智能體運行約束
-maxDepth: 1:子智能體不能再派生下一層 agent。
-delivery: 'caller':完成通知不會泄露到主對話。
- 每次調用回答一個問題後即銷燬。
- 默認單次超時180000ms。 -
提示主模型使用該工具
在guideline爲真(默認)時,會在系統提示中加入簡短說明,讓在運行時剝離圖片的主模型知道應通過該工具處理圖像。 -
啓動前校驗
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。