dsh-client-paste-image:純文本模型粘貼圖片轉文件路徑

前言

DeepSeek Harness(DSH)的核心理念是「一切皆插件」。在智能體開發或日常調試中,開發者常使用純文本模型(如 DeepSeek、GLM 系列)處理代碼或文檔,但剪貼板中的圖片無法直接發送。系統通常會在 composer 中提示「該模型不支持視覺,請切換視覺模型」,打斷工作流。

本插件在捕獲階段攔截 composer 內的圖片粘貼操作,將圖片字節通過 dsh-drop-caret 的上傳路由落盤,並把文件路徑插入輸入框。這樣,純文本模型可以繼續使用,而圖片內容則通過路徑傳遞給後續的 workflow 或視覺工具處理。

插件定位

這是一個 DSH Web 客戶端插件,由 quei4r 維護,採用 MIT 許可證。它的核心作用是解決純文本模型無法接收圖片的問題:對於配置列表中的文本路由,它攔截粘貼並轉換爲路徑;對於視覺模型,它保持原生行爲不受干擾。

核心能力

  1. 粘貼攔截與轉換
    攔截 composer(textarea / contenteditable)內的圖片粘貼事件。圖片會被上傳至會話目錄並生成文件路徑,最終以文本形式插入輸入框。
  2. 原生管線保護
    僅對配置列出的 textOnlyRoutes 生效。視覺模型及其它非配置模型的原生縮略圖、草稿附件等行爲完全不受影響。
  3. 操作繞過
    支持 Alt+粘貼 快捷鍵,可繞過插件攔截,走產品原生行爲。
  4. 兼容性
    與 @deepseek-ai/dsh 0.1.0-rc.6 版本兼容。

安裝與啓用

該插件依賴宿主路由提供配置橋接與文件上傳服務。

  1. 複製插件文件
    將插件目錄複製到本地 DSH 安裝目錄。
    cp -r dsh-client-paste-image ~/.dsh/profiles/web/node_modules/
  1. 配置 Patch
    在 ~/.dsh/profiles/web/cordis.patch.yml 的 insert 列表中加入以下條目:
    - id: ui-paste-image
      name: dsh-client-paste-image
  1. 重啓服務
    由於宿主半註冊的路由只在啓動時生效,安裝後必須重啓 dsh web 才能加載配置。

典型用法

插件通過 textOnlyRoutes 配置項控制生效範圍。只有列表中的模型纔會觸發圖片轉路徑邏輯。

- id: ui-paste-image
  name: dsh-client-paste-image
  config:
    textOnlyRoutes:
      - zai-coding-cn/glm-5.3
      - "opencode-go/deepseek-*"   # 使用通配符匹配

配置後,在 composer 中粘貼圖片,系統會自動上傳文件並插入路徑文本。發送時,文本中包含的路徑會被序列化。

適用場景與注意

適用場景:
* 需要在純文本模型(如 DeepSeek-Coder)上下文中引用圖片。
* 使用 workflow 或 agent 機制,需將圖片路徑傳遞給後續的視覺模型或工具。

注意事項:
* 前置依賴:必須安裝並運行 dsh-drop-caret,它提供 POST /api/dsh-drop 上傳路由。
* 配置空列表:如果 textOnlyRoutes 列表爲空,插件處於 fail-safe 狀態,不會攔截任何粘貼操作。
* 文件落盤:圖片文件會落在 <會話cwd>/.dsh-drop/<sessionId>/ 目錄下。
* 會話 ID 獲取:插件依賴 conversation 插槽注入的 sessionId,確保與 DSH 版本兼容。

結語

dsh-client-paste-image 是解決 DSH Web 端純文本模型無法直接處理圖片的一個具體方案。它通過攔截與轉換,填補了工具鏈中的一處缺口,讓模型選擇與上下文傳遞更加靈活。更多細節可參考插件目錄或源碼倉庫。

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

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

小夜