dsh-view-image:讓純文本模型也能讀圖

前言

在 DeepSeek Harness (DSH) 的開發場景中,如果主對話模型不支持視覺模態,直接發送圖片字節會佔用大量上下文,或者直接導致請求失敗。dsh-view-image 插件通過引入獨立的 OpenAI 兼容視覺模型,解決了這個問題:主對話歷史只保留純文本描述,圖片字節不進上下文,從而讓純文本模型也能讀取圖片。

是什麼

dsh-view-image 是一個 DSH 插件,由 johnoooooo 維護。它允許用戶配置獨立的視覺模型來識別圖片,並將識別結果以純文本形式插入主對話歷史,使純文本模型具備讀圖能力。

核心功能

  1. 純文本模型也能讀圖:主對話歷史只保留「工具調用 + 純文本結果」,圖片字節不進模型上下文。
  2. Web 粘貼圖片即用:輸入框直接粘貼圖片即可,純文本路由下自動落庫爲持久附件並改寫爲文本標記。
  3. 聊天流內聯縮略圖:用戶消息內聯顯示粘貼圖(右對齊、240px、object-fit cover),支持點擊放大、懸停「複製」按鈕一鍵加入輸入框、拖拽回輸入框。
  4. 終端 / headless 讀圖:模型傳文件路徑即可讀圖,適合腳本化場景。
  5. 界面語言跟隨 dsh:按鈕和反饋文案隨 dsh 界面語言實時切換。
  6. 識別行爲可配置:默認提示詞、intent 後綴、主模型 intent 軟引導均可在 profile 配置層覆蓋。
  7. 附件持久化:內容尋址(sha256)、同圖去重、完整性校驗,會話可恢復。
  8. 視覺模型可插拔:支持 OpenAI 兼容端點(如 Ollama、vLLM、LiteLLM 等)。

安裝與啓用

克隆倉庫並安裝到目標 profile(把 web 換成你的 profile 名):

git clone https://github.com/johnoooooo/dsh-view-image.git
cd dsh-view-image
dsh plugin --profile web add file:$PWD

安裝完成後重啓 dsh 生效。

配置視覺模型

插件依賴獨立的視覺模型。配置文件爲 vision-model.json,默認位置爲 ~/.dsh/vision-model.json。

複製示例配置文件並編輯:

cp vision-model.example.opencode.json ~/.dsh/vision-model.json

在配置文件中填入 OpenAI 兼容端點的信息:

  • baseUrl:OpenAI 兼容端點地址(如 Ollama /v1、vLLM、阿里雲百鍊等)。
  • apiKey:端點 API Key。
  • model:視覺模型名稱。
  • api:協議類型,默認爲 openai-completions。
  • maxTokens:最大輸出 token。

配置缺失時插件正常加載但不註冊 view_image 工具,補齊後重啓或執行 /reload 生效。

使用方法

Web 界面

  1. 在輸入框直接粘貼圖片(Ctrl+V)。
  2. 純文本路由下,插件將圖片落庫爲持久附件,替換成文本標記發給模型——不再彈「當前模型不支持圖片」。
  3. 模型看到標記後自動調用 view_image,返回純文本描述。聊天流內會顯示圖片縮略圖,支持點擊放大、懸停複製、拖拽回輸入框等操作。

終端 / headless

模型會自動調用 view_image 工具讀取圖片:

dsh --profile headless "用 view_image 工具查看 /path/to/img.png 並描述內容"

附件存儲與注意

附件存儲在 ~/.dsh/attachments/v1/objects/。文件按 sha256 內容尋址,同圖去重。

注意:插件沒有自動垃圾回收(GC)機制。刪除會話不會清理附件,如需清空請手動刪除該目錄。

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

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

小夜