dsh-inbox-paste:在 DSH web 輸入框直接粘貼文件,落盤到 inbox 供智能體讀取

前言

用 DeepSeek Harness(DSH)的 web profile 做開發時,一個常見的卡點是文件入口:想把一張截圖、一段日誌交給會話裏的智能體,輸入框本身沒有粘貼文件的通道,只能手動複製路徑,或者退回終端操作。

dsh-inbox-paste 是一個 DSH web 插件,補的就是這一環:在輸入框粘貼或選擇文件,發送後自動寫入當前會話工作區的 inbox/ 目錄,智能體再用工具讀取。下面介紹它的功能、安裝和使用方式。

這是什麼

dsh-inbox-paste(倉庫地址爲 JarszmLovesAI/dsh_upload_file)是 JarszmLovesAI 維護的 DSH web bundle 插件,當前版本 0.1.0,MIT 許可證。它解決的問題是:讓 web 會話具備粘貼/選擇文件的入口,並把文件以約定路徑交給智能體。

需要說明的是,插件名和倉庫名不一致:README 與 package.json 中的插件名是 dsh-inbox-paste,GitHub 倉庫名是 dsh_upload_file,安裝命令用倉庫名,卸載命令用插件名。

核心功能

  • 在輸入框按 Ctrl+V / Cmd+V 粘貼,或點擊回形針選擇文件。
  • 發送前,輸入框上方顯示待發送縮略圖,可以用 × 移除;此時文件尚未寫盤。
  • 發送時,文件寫入 {session.cwd}/inbox/ 目錄。
  • 用戶消息氣泡可顯示縮略圖,由 customizeUserBubble 配置控制;設爲 false 時使用內置氣泡,可能顯示原始路徑。
  • 智能體通過 list_inbox / read_inbox 兩個工具讀取文本文件。
  • 內置一個可選的 image-reader 技能用於圖片理解,需要自行設置 ARK_API_KEY
  • 不使用 Harness 原生圖片附件(詳見下文「上傳 ≠ 多模態理解」)。

安裝與啓用

前置條件:帶 web profile 的 DeepSeek Harness、Node.js ≥ 22,以及 dsh CLI。

先安裝插件,再啓動 web 會話:

dsh plugin --profile web add github:JarszmLovesAI/dsh_upload_file
dsh web

如需卸載:

dsh plugin --profile web remove dsh-inbox-paste

典型用法

裝好插件後,日常流程如下:

  1. 在輸入框按 Ctrl+V / Cmd+V 粘貼文件,或點擊回形針選擇文件。
  2. 待發送縮略圖出現在輸入框上方;如果貼錯了,在發送前點 × 移除,此時不會寫盤。
  3. 發送後,文件落入會話工作區的 inbox/ 目錄,消息氣泡可顯示縮略圖。
  4. 智能體側:先用 list_inbox 列出收件箱內容,再用 read_inbox 讀取文本文件;圖片則使用內置的 image-reader 技能,或你自備的視覺工具。

配置

配置文件在 ~/.dsh/profiles/web/cordis.patch.yml(profile 名稱按實際情況調整),找到 id: inbox-paste 的一段:

- id: inbox-paste
  config:
    uploadMaxBytes: 26214400
    inboxDirName: inbox
    allowedExtensions: []
    customizeUserBubble: true   # false = 內置用戶氣泡(可能顯示原始路徑)

四個配置項的含義:uploadMaxBytes 限制單文件大小(默認約 25 MB);inboxDirName 指定落盤目錄名;allowedExtensions 爲空數組表示不按擴展名過濾;customizeUserBubble 控制是否使用自定義用戶氣泡顯示縮略圖。

修改配置後需要重啓 dsh web 纔會生效。

插件帶測試,可在倉庫內運行:

npm test

上傳 ≠ 多模態理解

這是使用前必須想清楚的一點:本插件不使用 Harness 原生圖片附件,主模型默認只收到路徑標記,並不會「看到」圖片內容。要讓智能體理解圖片,二選一:

  1. 安裝插件自帶的可選 image-reader 技能,並在 ~/.dsh/.env 中設置 ARK_API_KEY
  2. 自帶視覺能力,比如 vision MCP、視覺相關技能,或直接使用多模態模型。

如果你只需要智能體讀文本文件,不做任何額外配置即可,list_inbox / read_inbox 就夠用。

與 dsh-file-upload 的區別

社區裏還有另一個定位相近的插件 dsh-file-upload,兩者差異如下:

dsh-inbox-paste dsh-file-upload
粘貼 支持 不支持
存儲位置 {cwd}/inbox/ {cwd}/.dsh-uploads/
內置 PDF 處理

簡單說:需要粘貼、希望文件落在明確的 inbox 目錄,選本插件;需要內置 PDF 能力,可以考慮 dsh-file-upload。

適用場景與注意事項

適合的用戶:在 DSH web profile 下工作、需要把截圖、日誌、文本片段交給智能體處理的開發者;尤其是不想離開輸入框、習慣 Ctrl+V 的場景。

安裝前請注意兩點:

  1. 插件以當前 dsh 進程的權限運行,能訪問你進程能訪問的文件。安裝前建議先閱讀倉庫源碼和許可證,確認行爲符合預期。
  2. 涉及圖片理解時,提前規劃視覺方案(image-reader 技能加 ARK_API_KEY,或自備 vision 工具),否則主模型拿到的只有路徑標記。

另外,DSH 的理念是「一切皆插件」,插件生態由社區維護;本文提到的插件目錄是獨立的社區站點,與 DeepSeek、幻方沒有官方從屬關係。

小結

dsh-inbox-paste 用一個很小的切口解決了 web 會話的文件入口問題:粘貼即上傳、發送即落盤、list_inbox / read_inbox 即讀取,路徑約定清晰,文本場景開箱即用,圖片場景把選擇權留給使用者。

  • 目錄頁:https://www.skillhub.cn/plugins/JarszmLovesAI/dsh_upload_file
  • GitHub:https://github.com/JarszmLovesAI/dsh_upload_file
羽毛球分组比赛记分
小程序二维码

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

小夜