dsh-image-subagent:讓純文本主模型也能接收圖片附件

前言

在 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 工具門禁仍會拒絕主模型路由 inputModalitiesundefined 的情況,因此委託流保持不變:視覺子代理通過 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、主模型基於該描述作答。

驗證安裝

向狀態端點發送 methodstatusclient-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 對應 dsh 0.1.0-rc.x
  • @deepseek-ai/dsh >=0.1.1-rc.2peerDependencies 中爲 optional
  • 插件會在當前 dsh 進程權限下參與會話處理,安裝前應檢查源碼與許可證
  • 許可證爲 MIT
  • DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不應將其理解成官方應用商店

結尾

dsh-image-subagent 的價值在於:主模型保持純文本路由,圖片附件通過顯式佔位符進入上下文,讀取工作交給視覺子代理。如果你的 DSH 配置中已有可用的視覺子代理,並希望避免把圖片直接發給純文本端點,可以按上面的步驟安裝並驗證。

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

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

小夜