前言¶
DeepSeek Harness(簡稱 DSH 或 dsh)是 DeepSeek AI 開源的 Agent 運行時,核心設計是「一切皆插件」:模型適配、工具、會話、界面都可以用插件增刪。官方倉庫目前仍處於開發者預覽,迭代很快。社區裏有獨立的插件目錄站點,用來檢索和對照安裝命令;它和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。
日常用 dsh web 時,一個很具體的摩擦是:截圖、本地圖片、一整個文件夾,往往已經在剪貼板或資源管理器裏,但瀏覽器頁面拿不到可靠的本地絕對路徑,模型也就讀不到文件。把路徑手打進輸入框可以,複製到工作區再 @ 也可以,步驟都偏繞。
dsh-paste-input 做的就是這一段:在 WebUI 裏用 Ctrl+V、全頁面拖拽或回形針選文件,把內容收成附件;發送時複製進當前會話工作區的臨時目錄,再把絕對路徑寫進消息給模型。本文按社區目錄頁、GitHub 倉庫 README / package.json / LICENSE,以及 DeepSeek Harness 官方倉庫交叉覈對後整理。
這是什麼¶
dsh-paste-input 是一款面向 DSH WebUI 的界面增強插件,維護者是 lhh010,npm 包名爲 @dsh-community/dsh-paste-input,當前版本 0.1.3。倉庫 README 寫明:它派生自 dsh-external/dsh-multimedia-webui-input(MIT),在拖拽和選擇文件的基礎上,增加了剪貼板粘貼、首次告知彈窗,以及消息氣泡裏的附件摺疊。
它解決的問題可以收成一句話:讓文件先進入會話工作區,再以路徑的形式出現在對話裏,而不是指望瀏覽器把本地路徑直接交給網頁。
截至 2026-08-17,社區目錄頁與 GitHub 倉庫均顯示 8 顆星;目錄分類爲「界面增強」。倉庫 LICENSE 與 package.json 均寫明 MIT,並保留對上游插件的派生聲明。GitHub 未能按 SPDX 自動識別該許可證,因此倉庫頁和目錄頁會顯示 NOASSERTION;以倉庫內 LICENSE 文本爲準。
核心功能¶
倉庫 README 列出的能力如下。
1、Ctrl+V 粘貼。截圖、複製的圖片,以及瀏覽器 paste 事件能提供的文件,會作爲附件進入輸入框。第一次粘貼會彈出告知彈窗,可勾選「不再提示」,選擇寫在瀏覽器 localStorage。
2、全頁面拖拽。文件或文件夾拖到頁面任意位置(聊天區、空白處、輸入框)都會加入附件。拖文本或鏈接時,仍走瀏覽器默認行爲,不會被插件搶走。
3、回形針選擇。輸入框左側有回形針按鈕,可選擇文件或選擇文件夾。
4、發送時落入工作區。文件會複製到當前會話工作區下的 .dsh/tmp/attachments/ 目錄(按會話再分子目錄),絕對路徑隨消息前置給模型。宿主側源碼裏,會話附件根目錄由工作區路徑、.dsh/tmp/attachments 和會話目錄名拼出。清單文件名爲 .dsh-paste-input.json。
5、氣泡摺疊爲文件 chip。發送後,消息裏帶 ==== DSH_PASTE_INPUT_V1 ==== 標記的附件文本塊會折成 📎 文件 chip。chip 前後你自己輸入的文字按原順序穿插保留;懸停可看完整路徑、清單和文件列表,點擊 chip 會複製完整路徑。歷史消息如果沒有這套標記,不會被摺疊。
6、設置面板。提供附件用量統計,以及按會話 / 工作區清理。清理帶所有權標記保護,並需要二次確認。
附件塊對模型可見,格式在 README 裏寫死爲:
==== DSH_PASTE_INPUT_V1 ====
<附件根目錄絕對路徑>
Files: N
Manifest: .dsh-paste-input.json
Attached files (paths are relative to the root above):
- "file.txt" (2.0 KiB)
==== END DSH_PASTE_INPUT ====
標記前後各空一行,避免和用戶輸入擠在同一行。
倉庫還寫了與 dsh-external/dsh-vision 的配合方式:本插件只負責「文件進對話」,dsh-vision 註冊 view_image 工具負責看圖,兩者通過工作區附件路徑銜接,沒有硬編碼耦合。需要識圖時再單獨裝後者即可,不是本插件的依賴。
安裝與啓用¶
社區目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端中運行:
dsh plugin add github:lhh010/dsh-paste-input
如需可復現安裝,目錄頁建議固定 commit 哈希。當前倉庫 main 最新提交爲 7cf0698af7bf7b5e20a3af040047664b92412f92(2026-08-13),可以寫成:
dsh plugin add github:lhh010/dsh-paste-input#7cf0698af7bf7b5e20a3af040047664b92412f92
官方文檔裏,從 GitHub 安裝走的是 profile 機制,完整寫法是 dsh plugin --profile <profile> add github:owner/repo。若當前終端已經處在目標 profile 下,目錄頁這條短命令即可;否則應顯式帶上 --profile,WebUI 場景一般是 web。
倉庫 README 另給了本地 link 安裝示例(路徑按本機修改):
dsh plugin --profile web add link:E:\deepseek-harness\dsh-paste-input
並在 ~/.dsh/profiles/web/cordis.patch.yml 追加:
- insert:
- id: dsh-paste-input
name: '@dsh-community/dsh-paste-input'
改完後重啓 dsh web 生效。
目錄頁和官方安裝文檔都提醒過同一件事:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。GitHub 安裝拉的是源碼,pnpm 還可能要求給 prepare 等構建腳本授權,這些腳本不在 Agent 沙箱裏。安裝前應自己檢查源代碼和許可證,不要只憑目錄收錄做信任判斷。
典型用法¶
下面幾條都來自倉庫 README,可以按環境復現。
粘貼截圖
- 用系統截圖(例如 Windows 的 Win+Shift+S)得到圖片。
- 回到 DSH WebUI,在輸入框 Ctrl+V。首次會看到告知彈窗。
- 附件出現在輸入區後,按需補一句說明,發送。
- 文件被複制進工作區臨時附件目錄,消息裏帶上絕對路徑;氣泡中的附件塊折成 chip。
拖拽文件夾
把文件夾拖到頁面任意位置,即可整樹加入附件。單文件不超過 1 GiB,單次總量不超過 2 GiB,文件數不超過 10000,目錄深度不超過 64 層。這些上限在 README 和宿主源碼 DEFAULT_LIMITS 裏一致。
需要保留原始路徑時
不要依賴「在文件管理器裏複製文件再 Ctrl+V」。Chrome / Edge 的 paste 事件通常只提供圖片等媒體和文本 / HTML,從資源管理器複製文件後粘貼往往沒有文件項;Firefox 可以粘貼文件,但同樣不會給出絕對路徑。瀏覽器出於安全不會把本地路徑暴露給網頁,粘貼結果一律按文件名作爲相對路徑存儲。需要原路徑時,用拖拽或回形針選擇。
配合識圖(可選)
README 中的流程是:截圖 → 粘貼或拖入 → 發送後文件落在工作區 → 模型看到路徑後調用 view_image。前提是已經安裝並啓用 dsh-vision 這類看圖插件;本插件本身不內置視覺模型。
兼容性與邊界¶
README 聲明兼容 DSH snapshot0808 到 snapshot0812(含 snapshots/20260812T172954Z-final),以及 npm 發版 @deepseek-ai/dsh@0.0.1-rc.5(並保持對 0.0.1-rc.2 的兼容)。package.json 使用嵌套的 dsh.client 聲明,平臺爲 web,注入 @deepseek-ai/dsh-client-runtime、dsh-client-ui-input-trigger、dsh-client-ui-conversation、dsh-client-ui-settings。v0.1.3 已跟隨最終快照,把客戶端服務名從 slash 遷到 inputTriggers,宿主側從 httpServer 遷到 webServer。
這是 WebUI 插件,不是終端 TUI 插件。它不把文件變成模型原生的多模態附件,而是把文件放到工作區,讓 Agent 按路徑去讀。能讀什麼,取決於你裝了哪些工具插件,而不是本插件單獨保證。
DeepSeek Harness 仍在快速改接口。README 裏用了不少篇幅記錄 0809~0812 的加載機制和元數據字段變更;升級 DSH 之後如果插件從 boot 清單裏消失,應回到倉庫覈對當前 dsh.client 聲明,而不是假定舊快照上的行爲仍然成立。
適用場景與注意事項¶
比較適合這些用法:
- 把報錯截圖、UI 截圖貼進當前會話,讓模型按工作區路徑繼續處理
- 拖入日誌、補丁、小型項目目錄,避免手工拷路徑
- 需要在氣泡裏把冗長附件塊收成 chip,同時保留前後說明文字
使用前建議先看這幾條限制:
- 插件和
dsh同權運行,能讀寫當前工作區。安裝前打開 GitHub 倉庫看源碼和 LICENSE。 - 社區目錄只是檢索入口,收錄不等於安全審計。
- Chrome / Edge 下「複製文件再粘貼」往往無效,優先拖拽或選擇文件。
- 附件會佔用工作區磁盤;不需要的會話可以用設置裏的清理功能,注意二次確認。
- 體積和數量有硬上限,超大倉庫或上萬文件的目錄不適合走這條輸入路徑。
小結¶
dsh-paste-input 把 WebUI 裏最常見的三種文件入口——粘貼、拖拽、選擇——接到會話工作區,再把絕對路徑交給模型。它不替代視覺插件,也不擴展模型原生附件類型,只把「文件怎麼進對話」這一段補完整。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-paste-input/
GitHub:https://github.com/lhh010/dsh-paste-input