前言¶
用 DeepSeek Harness 的 Web 界面跟 agent 對話時,如果你想讓它讀一份 PDF、一段代碼或一個壓縮包,會遇到一個限制:官方 Web 界面目前只支持圖片粘貼/拖拽,非圖片文件會提示「只能粘貼圖片」。文件進不了會話工作區,agent 自然讀不到內容。
社區插件 dsh-web-file-upload 補的就是這塊。下面介紹它的功能、安裝方式和實現原理。
這是什麼¶
dsh-web-file-upload 是爲 DeepSeek Harness Web 界面提供的文件上傳插件:通過按鈕、粘貼、拖拽三種方式上傳任意文件(PDF、文檔、代碼、壓縮包等),文件保存到會話工作區的 uploads 目錄,並自動把文件引用帶入消息,讓 agent 直接讀取。
- GitHub 倉庫:
rrvvvnnn/dsh-web-file-upload - npm 包名:
@iamroven/dsh-web-file-upload,版本 0.1.0 - 許可證:MIT(README 與 package.json 均聲明)
- peerDependencies:
@deepseek-ai/cordis ^4.0.1
核心功能¶
- 輸入框內的文件夾按鈕(位於模型選擇器左側),點擊選擇文件,支持多選
- 粘貼文件:在聊天框 Ctrl+V(從資源管理器複製的文件)自動上傳
- 拖拽文件進聊天框自動上傳
- 上傳的文件以卡片形式顯示在輸入框內;應用可選補丁後可與圖片縮略圖同區並列
- 圖片與文件互斥,不能同時添加,避免佈局衝突
- 文件落地到會話工作區
uploads目錄,agent 可直接讀取 - 消息發出後,輸入框裏的文件卡片自動清空,不殘留到下次對話
- 已發送文件在聊天記錄中以圓角卡片顯示,點擊可直接打開
安裝與啓用¶
一條命令完成下載和註冊:
dsh plugin --profile web add @iamroven/dsh-web-file-upload
插件聲明瞭 dsh.bundle.patch,所以 dsh plugin add 會自動把本包追加爲 profile 的 bundle 層,不需要手動往 cordis.patch.yml 里加行。
安裝後重啓 web 服務:關掉「DSH Web Server」窗口,再雙擊快捷方式,然後硬刷新瀏覽器即可。
關於補丁,分兩種情況:
1、不應用補丁也能正常使用,上傳、粘貼、拖拽、agent 讀取都正常,文件卡片顯示在輸入框底部。
2、可選補丁(倉庫內 CORE-PATCH.md)帶來更優體驗:文件卡片與圖片縮略圖同區並列、聊天記錄裏顯示可點擊的文件卡片。
使用流程¶
1、啓動 web 界面後,輸入框右側(模型選擇器左邊)出現文件夾按鈕。
2、點擊選文件,或直接把文件拖進聊天框 / Ctrl+V 粘貼。
3、文件以卡片出現在輸入框內,輸入框會附帶一行「附件: 文件名」。
4、補上你的問題,發送。agent 會去 uploads 目錄讀取文件內容。
5、發送後輸入框卡片自動清空;聊天記錄中你發出的消息裏會顯示文件卡片,點擊可直接打開文件。
實現原理¶
這是一個單包雙面(Dual-face)插件,服務端和瀏覽器端各佔一半。
宿主半邊是 lib/index.js,註冊兩個 webServer 路由:
POST /dsh-upload/put 接收 base64 文件載荷,寫入會話工作區的 uploads 目錄
GET /dsh-upload/file 按文件名返回文件內容,供聊天記錄卡片點擊打開
客戶端半邊是 lib/client.js,一個 cordis 客戶端插件:在輸入框插槽註冊文件夾按鈕與文件卡片,監聽 document 級 paste / drag 事件,通過 fetch 調宿主路由完成上傳。
包內目錄結構如下:
package.json
LICENSE
README.md
CORE-PATCH.md
lib/index.js 宿主半邊(服務端路由)
lib/client.js 客戶端半邊(瀏覽器 bundle)
適用場景與注意¶
適合的場景很明確:你在用 DSH 的 Web 界面,希望讓 agent 直接讀本地文件——讓 agent 分析 PDF、審閱代碼、查看壓縮包內容——而不需要自己先把文件複製進工作區。
使用時有幾點要留意:
1、圖片與文件互斥,不能同時添加,這是刻意的佈局約束。
2、插件以當前 dsh 進程權限運行,具備寫會話工作區的能力。安裝前建議閱讀源碼並確認許可證;本包爲 MIT。
3、GitHub 倉庫歸屬爲 rrvvvnnn,而 npm 包名前綴與 package.json 的 author 字段爲 @iamroven / iamroven,兩者不一致。維護者身份請在安裝前自行覈實。
結尾¶
dsh-web-file-upload 用一條安裝命令,把 DSH Web 界面缺失的任意文件上傳能力補齊,文件直達會話工作區,agent 開箱即讀。對經常需要讓 agent 處理本地文檔和代碼的人來說,是一個小而實用的補充。
- 社區目錄頁:https://www.skillhub.cn/plugins/rrvvvnnn/dsh-web-file-upload
- GitHub 倉庫:https://github.com/rrvvvnnn/dsh-web-file-upload