在 DeepSeek Harness (DSH) 的開發或調試場景中,經常需要將本地文件、代碼片段或完整的項目目錄引入對話上下文。傳統做法往往需要手動複製文件到工作區、粘貼路徑或進行繁瑣的文件管理操作。dsh-postman 旨在解決這一痛點,允許用戶直接將文件與文件夾“郵”進對話,無需額外的文件系統操作。
這是一個 DeepSeek Harness 的 Web 客戶端插件,由 zhousun55-byte 維護。它提供了一套文件上傳管線,支持圖片以消息塊形式呈現、文本內容以內聯代碼塊寫入輸入框,以及文件夾按目錄結構落盤。
核心功能¶
- 文件與圖片處理:支持多選上傳。圖片(PNG/JPG/WebP/GIF,大小 ≤5 MiB)走 DSH 原生附件管線,作爲消息塊顯示,模型側由視覺橋接(如 modlens)自動轉寫。HEIC 等不支持或超限的圖片會自動退回路徑上傳。文本文件的內容會以內聯代碼塊的形式直接寫入輸入框草稿,模型立即可見。
- 文件夾處理:利用 Chrome 的
webkitdirectory屬性支持整目錄上傳。文件會按目錄結構落盤到~/.dsh/uploads/<時間戳>-<文件夾名>/...。文件夾內的圖片(上限 12 張)同樣以圖片形式加入消息。二進制文件會注入路徑與大小,模型可用read工具讀取。 - 零依賴:插件純使用 Node 內置模塊 + DSH 原生管線,無構建步驟,克隆即用。
安裝與啓用¶
把本倉庫放進 Web profile 的依賴並聲明插件行,dsh 會按包名在 /plugins/dsh-postman/client.js 提供瀏覽器半區。操作步驟如下:
- 在
~/.dsh/profiles/web/package.json中增加依賴:
"dsh-postman": "link:/path/to/dsh-postman"
(發佈後可改用版本號依賴)
- 在
~/.dsh/profiles/web/cordis.patch.yml中增加插件行:
- insert:
- id: ui-upload
name: 'dsh-postman'
- 執行安裝並重啓客戶端:
pnpm --dir ~/.dsh/profiles/web install
# 重啓 dsh web(客戶端改動僅需刷新頁面)
典型用法¶
在輸入框工具行左側的 + 命令菜單裏使用 /upload,該命令提供兩個選項:上傳文件 / 上傳文件夾。工具行本身不額外佔用按鈕。
- 上傳文件:選擇本地文件後,文本文件內容會直接寫入輸入框草稿,模型立即可見;圖片會以消息塊形式出現在對話中。
- 上傳文件夾:選擇文件夾後,系統會按目錄結構將文件落盤,並在草稿中注入文件清單與文本文件內容預覽(合計約 2.4 萬字符封頂)。
注意事項¶
- 格式與大小限制:單文件上限 25 MiB。圖片僅支持 PNG/JPG/WebP/GIF(≤5 MiB),HEIC 等不支持的格式或超限圖片會自動退回路徑上傳。
- 文件夾圖片限制:文件夾內圖片上限 12 張。
- 權限與安全:目錄權限爲
0700,文件權限爲0600。插件以當前 dsh 進程權限運行,跨站 Origin 請求會被拒絕。 - 文件名衝突:落盤時若文件名衝突會自動添加
-2/-3後綴,永不覆蓋。
結語¶
dsh-postman 通過原生管線與零依賴設計,簡化了 DSH 環境下的文件交互流程。如果你需要在會話中頻繁引入代碼或文檔,可以直接使用 /upload 命令,無需再進行文件路徑的複製粘貼。