前言¶
在 DSH 的插件體系裏,擴展通常來自對路由聲明、佔位投影和工具門禁的適配。dsh-image-subagent 處理的是一個具體問題:主模型是純文本路由,但會話裏仍然需要接收圖片附件。插件會把圖片投影爲攜帶完整 attachmentId 的顯式文本佔位符,再由主模型委託視覺子代理讀取。
這是什麼¶
- 插件名:
yuqingsh/dsh-image-subagent - 維護者:
yuqingsh - 許可證:MIT
- 本文介紹版本:v0.2.0
- 兼容:
@deepseek-ai/dsh >=0.1.1-rc.2,該 peerDependency 爲 optional - 運行環境:
engines要求node >=20
一句話定位:讓純文本主模型(DeepSeek V4 等)也能接收圖片附件,同時保持主模型不直接讀圖,由視覺子代理通過 read_image 讀取附件對象。
核心功能¶
放行圖片准入門禁¶
v0.2.0 將舊版“補報 image 能力”改爲“抹除純文本路由的 inputModalities 聲明”。在 dsh 0.1.1 的圖片准入門禁下,聲明省略(undefined)會被視爲負能力直接放行,因此貼圖不再被顯式拒絕。
投影爲顯式文本佔位符¶
圖片進入會話後,會被投影爲攜帶完整 attachmentId 的顯式文本佔位符。主模型收到該佔位符後,可以據此把附件對象路徑傳給視覺子代理。
附件對象路徑規則爲:
~/.dsh/attachments/v1/objects/<id 前 2 位 hex>/<64 位 hex>
主模型委託視覺子代理讀取¶
主模型不能自己讀圖。read_image 工具門禁仍會拒絕主模型路由 inputModalities 爲 undefined 的情況,因此委託流保持不變:視覺子代理通過 read_image 工具讀取附件對象路徑,並返回像素級描述。
視覺路由原生直讀¶
如果路由本身就是視覺路由,例如 deepseek-v4-flash-vision-exp,且聲明包含 image,插件會旁路,保留原生直讀路徑。
提供狀態端點¶
插件提供 /image-subagent/status 狀態端點,用於驗證當前安裝與投影狀態。
安裝與啓用¶
安裝前需要 pnpm:
brew install pnpm
下面給出兩種安裝方式:本地 checkout,或按 git 標籤安裝。
本地 checkout:
dsh plugin --profile web add ./dsh-image-subagent
按 git 標籤安裝:
dsh plugin --profile web add github:yuqingsh/dsh-image-subagent#v0.2.0
安裝後,重啓 dsh web 並刷新頁面。
典型用法¶
前置條件¶
- 預設裏有一個視覺子代理,例如
subagent_observer - 該子代理的模型聲明
image輸入,例如deepseek-v4-flash-vision-exp - 該子代理的工具集包含
read_image
使用流程¶
1、在 DSH 會話中貼圖,並附上問題。
2、圖片准入門禁放行。
3、主模型收到富佔位符,其中包含完整 attachmentId 和附件對象路徑。
4、主模型委託 subagent_observer 使用 read_image 讀取該路徑。
5、subagent_observer 返回像素級描述。
6、主模型基於該描述作答。
驗證安裝¶
向狀態端點發送 method 爲 status 的 client-request:
curl -s -X POST http://127.0.0.1:3080/image-subagent/status \
-H 'content-type: application/json' \
-d '{"type":"client-request","rpcId":"s1","method":"status","payload":{}}'
v0.2.0 的預期結果是:
bridged爲"(omitted — paste gate passes)"real爲["text"]
舊版 v0.1.x 的預期是 bridged 含 "image"。
適用場景與注意¶
適合以下情況:
- 主模型是純文本路由,但會話中需要接收圖片附件
- 已有可聲明
image輸入的視覺子代理 - 希望主模型不直接讀圖,而是把圖片讀取委託給視覺子代理
- 想在 dsh 0.1.1 及更高 rc 版本中適配圖片附件進入流程
需要注意:
- v0.2.0 對應 dsh
>=0.1.1-rc.2;v0.1.x 對應 dsh0.1.0-rc.x @deepseek-ai/dsh >=0.1.1-rc.2在peerDependencies中爲 optional- 插件會在當前
dsh進程權限下參與會話處理,安裝前應檢查源碼與許可證 - 許可證爲 MIT
- DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應將其理解成官方應用商店
結尾¶
dsh-image-subagent 的價值在於:主模型保持純文本路由,圖片附件通過顯式佔位符進入上下文,讀取工作交給視覺子代理。如果你的 DSH 配置中已有可用的視覺子代理,並希望避免把圖片直接發給純文本端點,可以按上面的步驟安裝並驗證。