在 DeepSeek Harness 的使用場景中,Web UI 界面通常對文件交互支持有限。當需要讓智能體讀取特定文件內容時,直接引用路徑往往不直觀,或者需要用戶手動上傳下載。dsh-any-attachment 插件通過擴展 Web UI 的交互方式,解決了文件附加與引用的問題。
插件簡介¶
這是一個由 Zenjibad 維護的 DeepSeek Harness 插件包。它允許 Web UI 用戶附加任意類型的文件,並將其作爲無路徑的 @-mentions 插入消息草稿。代理在接收到消息後,會通過自身的工具直接讀取文件,無需用戶手動下載或提取。文件被存儲在私有目錄,不會污染工作區環境。
核心功能¶
- 無路徑 @-mentions:支持任意類型文件作爲無路徑的
@-mentions。 - 文件瀏覽:在編輯器中輸入
@,通過@-list瀏覽工作區文件。 - 上傳方式:支持拖放本地文件或點擊
+按鈕上傳。 - 圖像處理:保留內置圖像管道處理圖片,視覺模型可直接讀取。
- 存儲位置:文件存儲在私有目錄(
$DSH_HOME/attachments-any/),而非工作區。 - 直接讀取:代理通過工具直接讀取文件,無特殊發送流程。
安裝與啓用¶
通過官方命令安裝插件:
dsh plugin --profile web add https://github.com/Zenjibad/dsh-any-attachment
安裝完成後,重啓 dsh web 服務並刷新頁面即可生效。
典型用法¶
- 瀏覽工作區文件:在消息輸入框中輸入
@,界面會列出當前會話工作區的文件(遞歸深度限制爲 4 層)。輸入更多字符可進行過濾,選擇文件後,一個無路徑的@name標籤會被插入到草稿中。 - 上傳本地文件:將本地文件拖入輸入框,或點擊輸入框中的
+按鈕。文件會被存儲在私有目錄,消息草稿中會出現@<stored-name>標籤。 - 發送與讀取:發送消息後,代理會根據標籤解析出文件的精確路徑(包含絕對路徑),並使用工具直接讀取文件內容。
適用場景與注意¶
- 適用場景:需要讓智能體直接訪問本地文件或工作區文件,且希望避免路徑暴露或手動下載的用戶。
- 限制說明:
- 單文件最大 25MB。
@-list最多顯示 500 個條目,且按/分隔的相對路徑排序。- 排除隱藏文件(以
.開頭)和node_modules。 - 文件名僅允許 basename,不允許分隔符或驅動器字母。
- 無下載 UI,無特殊的發送流程。
總結¶
該插件通過在 Web UI 層面提供文件附加能力,讓智能體能夠直接獲取文件上下文。它不依賴複雜的外部上傳流程,也不將文件寫入工作區,保持了環境的整潔。