前言¶
在 DSH(DeepSeek Harness)對話中,常見訴求是把外部文件交給模型,或者把選中的文本作爲上下文加入消息。dsh-utility-tools 提供了一個 DSH 對話工具插件:拖拽任意文件進入對話區域,選中文本後在消息開頭生成引用塊。
這是什麼¶
dsh-utility-tools 是 DSH 對話工具插件,由 sharkymew 維護,許可證爲 MIT。
它解決兩個輸入側問題:
- 拖拽任意文件進入對話區域,並在發送前查看文件名、大小、逐個移除。
- 選中文本後,將選中內容以引用塊形式加入即將發送的消息。
插件支持兩種導入方式:靜態掛載(一行命令安裝)與動態加載(cordis_define,零依賴)。靜態版通過 HTTP 路由 /dsh-utility-tools/save 上傳附件字節。
核心功能¶
拖拽文件附件¶
把文件拖入對話區域後,文件會進入附件列表。發送前可以查看文件名和大小,也可以逐個移除。
發送消息時,附件隨消息一併提交:
- Electron 環境直接引用原路徑。
- 普通瀏覽器把文件暫存到系統臨時目錄。
選中文本引用¶
在對話中選中文字後,輸入框上方會顯示引用條。發送時,引用內容以 > 引用: 塊置於消息開頭。
導入方式¶
靜態掛載適合一行命令安裝,目標 profile 爲 web。
動態加載使用 cordis_define 創建插件並運行,零依賴。
安裝與啓用¶
靜態掛載¶
先安裝到 web profile:
dsh plugin --profile web add dsh-utility-tools
安裝後重啓 dsh web 生效。
動態加載¶
先克隆倉庫:
git clone https://github.com/sharkymew/dsh-utility-tools
然後把 dynamic/host.body.js 與 dynamic/client.body.js 的全文用於 cordis_define 創建插件,並執行 cordis_run 運行。動態插件是進程內加載,卸載即清理;運行時需要在 UI 中批准運行請求。
典型用法¶
1、靜態安裝後重啓。執行安裝命令:
dsh plugin --profile web add dsh-utility-tools
然後重啓 dsh web。
2、拖入文件。將任意文件拖入對話區域。發送前,展開附件膠囊管理菜單,查看文件名和大小,並移除不需要的文件。發送時,附件隨消息提交。
3、引用文本。在對話中選中要引用的文字,點擊選區上方引用菜單。發送時,引用塊會置於消息開頭。
4、動態加載。克隆倉庫,並將 dynamic/host.body.js 與 dynamic/client.body.js 的全文用於 cordis_define 創建插件,再執行 cordis_run 運行。
適用場景與注意¶
適合在 DSH web profile 對話中附帶文件、引用上下文,或在 Electron 環境中引用原文件路徑。
使用前需要注意:
- 普通瀏覽器無法獲取拖入文件的真實磁盤路徑,只能按名稱引用或暫存到系統臨時目錄;Electron 環境可直引原路徑。
- 單文件上限
8MB,超出僅提示不暫存。 - 暫存目錄在系統重啓後可能被清空。
- 純文本引用上限
2000字符。 - 靜態版 HTTP 路由
/dsh-utility-tools/save僅監聽迴環地址,且只寫系統臨時目錄。 - 動態插件是進程內加載,卸載即清理,且需要在 UI 中批准運行請求。
- 插件會以當前 dsh 進程權限運行。安裝前建議檢查源碼、許可證和來源倉庫。
結尾¶
dsh-utility-tools 將文件拖拽和文本引用合入 DSH 對話輸入流程,適合在對話中臨時補充文件附件或上下文引用。
目錄頁:https://www.skillhub.cn/plugins/sharkymew/dsh-utility-tools
GitHub:https://github.com/sharkymew/dsh-utility-tools