前言¶
在 DSH 裏使用純文本模型處理包含圖片的會話時,常見的問題是:聊天上傳的圖片需要落盤,原生 read_image 可能把圖片塊帶入純文本端點請求,而後續識別又需要調用視覺模型。xiaoxianyu-office/dsh-image-tools 是一個 DSH 插件包,用來讓 deepseek-v4-pro / deepseek-v4-flash 這類純文本模型在會話中具備識圖能力:聊天發圖自動落盤、動態禁用原生 read_image,並提供對話式 image_recognize 工具委派視覺子 agent,如 xiaomi/mimo-v2.5。
下面介紹它的定位、核心能力、安裝步驟和注意事項。
這是什麼¶
xiaoxianyu-office/dsh-image-tools 由 xiaoxianyu-office 維護,許可證爲 MIT。它掛載在宿主層,覆蓋 standard / code / minimal / cordis preset 會話,並按會話當前模型的能力聲明動態判定是否攔截或橋接。
核心功能¶
- 聊天發圖自動落盤到
<工作區>/uploads/,消息中顯示[圖片] 文件名。 - 橋接模型調用原生
read_image時會被禁用,改用image_recognize。 image_recognize以對話方式執行識圖任務,並可委派視覺子 agent,如xiaomi/mimo-v2.5。- 宿主層全局生效,
standard/code/minimal/cordispreset 會話通用。 - 按會話當前模型能力聲明動態判定是否攔截 / 橋接。
- 提供首次安裝嚮導與故障自動自檢。
- 識圖輸出有嚴格規範:位置使用像素座標或明確方位,顏色使用
#RRGGBB色值;圖中沒有的內容回答“圖中未出現”,不確定時回答“無法從圖中確認”並說明原因。
安裝與啓用¶
先確認前置條件:需要 pnpm,且模型路由需要在設置層已存在。插件只掛載插件行,不會替你創建路由。
npm i -g pnpm
先安裝 pnpm,後續插件安裝使用。
在 ~/.dsh/settings.yaml 中預置模型路由。橋接聲明只用於放行上傳准入;例如爲 deepseek-v4-pro / deepseek-v4-flash 的 input 覆寫加入 image。
# ~/.dsh/settings.yaml
# 橋接聲明:僅用於放行上傳准入
deepseek-v4-pro:
input: [ text, image ]
deepseek-v4-flash:
input: [ text, image ]
這一步隻影響上傳准入和插件是否橋接該模型。真多模態模型不要手寫 input 聲明;移除 input 聲明即關閉該模型橋接。
在 ~/.dsh/.credentials.yaml 中配置識圖模型 token。
# ~/.dsh/.credentials.yaml
XIAOMI_API_KEY: <your-key>
這裏填寫 XIAOMI_API_KEY,供識圖子 agent 使用。
執行官方安裝命令:
dsh plugin --profile web add -w github:xiaoxianyu-office/dsh-image-tools#v0.3.7
執行後重啓 dsh web 服務,使插件代碼在進程內生效。
典型用法¶
經過上面的步驟後,在橋接模型會話中上傳圖片,圖片會自動落盤到 <工作區>/uploads/,消息中顯示 [圖片] 文件名。
橋接模型不要調用原生 read_image。調用後會被禁用,應改用 image_recognize。image_recognize 需要傳針對性讀取任務,即說明想從圖中獲得什麼。
同一圖片路徑再次調用 image_recognize 時,會自動銜接此前的問答,可持續追問。
如果舊會話歷史裏已殘留含圖片消息並導致 400,新開會話。
配置與升級¶
cordis.patch.yml 中 config 字段支持以下配置項:
uploadsDir: uploads
provider: xiaomi
model: mimo-v2.5
其中 uploadsDir 爲圖片落盤目錄,相對工作區;provider 爲識圖子 agent 模型路由;model 爲識圖子 agent 模型。
升級時重複執行 add 並指定最新 tag,不要用 update 選擇 Git 引用:
dsh plugin --profile web add -w github:xiaoxianyu-office/dsh-image-tools#v0.3.7
示例使用已覈實的 v0.3.7;實際升級時按倉庫 Releases 中的最新 tag 替換。
卸載後插件層無殘留,但 settings.yaml 的路由與默認模型需要手動還原。~/.dsh/image-tools-state.json 爲可選清理項。
適用場景與注意¶
適合需要在 DSH web 會話中讓 deepseek-v4-pro / deepseek-v4-flash 處理圖片,同時保留原生多模態模型鏈路的開發者。
注意以下幾點:
- 需要
pnpm;Node engines 爲^22.19.0 || >=24.0.0。 - peerDependencies 包括
@deepseek-ai/cordis ^4.0.1、@deepseek-ai/schemastery ^3.18.1、@deepseek-ai/dsh-tools ^0.1.0-rc.6。 - 插件以當前
dsh進程權限運行,安裝前應檢查源碼與MIT許可證。 - host 接口使用迴環地址 +
Host精確校驗 + 隨機頁面令牌,並限制請求方法:GET只讀,POST才執行。 - 橋接聲明只用於放行上傳准入;刪除橋接模型
input覆寫後上傳會被准入拒絕。 - DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
鏈接¶
GitHub:https://github.com/xiaoxianyu-office/dsh-image-tools
目錄頁:已覈實資料未提供可覈實目錄頁 URL,本文不列出具體鏈接,以 DSH 社區目錄實際展示爲準。