在 DeepSeek Harness (DSH) Web GUI 的日常使用中,將本地文件(如截圖、報告或配置)傳遞給智能體通常需要手動輸入文件路徑。直接複製粘貼文本會丟失格式,且容易出錯。dsh-screenshot-paste 插件提供了截圖與文件粘貼板功能,旨在解決這一操作痛點。
這是什麼¶
該插件爲 DSH Web GUI 提供截圖與文件粘貼板功能。它支持通過 Ctrl+V 粘貼、拖拽或點擊瀏覽來上傳文件,並將文件以引用芯片的形式顯示在輸入框上方。發送消息時,插件會自動將文件路徑附加在消息內容中。
- 維護者:PdxGame
- 定位:純外部插件,不修改 DSH 源碼,僅使用官方擴展點(UI 插槽、API 路由、
agent/pre-step事件)。 - 許可證:MIT
核心功能¶
- 多方式上傳:支持 Ctrl+V 粘貼、拖拽文件、點擊瀏覽上傳(支持多文件)。
- 文件類型豐富:支持圖片、PDF、Office 文檔、壓縮包、音視頻及文本文件。
- 引用芯片:上傳的文件以芯片形式顯示在輸入框上方,圖片可點擊預覽。
- 自動附帶路徑:發送消息時,消息內容會自動包含文件路徑。
- 原生目錄選擇:支持使用系統原生的
directoryPicker服務選擇保存目錄。 - 自動遷移:更換保存目錄時,舊目錄的文件會自動遷移到新目錄(同名文件自動添加後綴,絕不覆蓋)。
- 引用自動清理:源文件被刪除後,對應的引用芯片會自動消失,不會附帶失效路徑。
- 零輸入框污染與零常駐開銷:不向輸入框插入任何內容,不註冊工具或貢獻提示詞,無引用時對模型請求無任何影響。
- 安全限制:所有 API 僅限本機迴環訪問,文件名經過校驗以防止路徑穿越。
安裝與啓用¶
前置條件:已安裝 DeepSeek Harness 及其 dsh 命令行工具,目標 profile 爲 web。
安裝命令:
dsh plugin --profile web add github:PdxGame/dsh-screenshot-paste@v0.1.1
安裝完成後,需要重啓 dsh web 並強制刷新瀏覽器(Ctrl+F5),客戶端資源纔會重新加載。
配置¶
插件開箱即用,但支持通過配置項指定保存目錄。配置優先級如下:
- 設置項
dsh-screenshot-paste.dir(在 DSH 設置頁或~/.dsh/settings.yaml中配置) - 環境變量
DSH_SCREENSHOT_DIR - 默認值(插件目錄下的
screenshots/,回退至~/.dsh/screenshots)
YAML 配置示例:
# ~/.dsh/settings.yaml
dsh-screenshot-paste:
dir: "D:\\dsh-screenshots"
環境變量配置示例:
set DSH_SCREENSHOT_DIR=D:\dsh-screenshots
典型用法¶
- 打開任意會話,點擊輸入框工具區的 📎 按鈕。
- 在打開的粘貼板面板中,通過 Ctrl+V 粘貼、拖拽文件或點擊瀏覽上傳文件。
- 文件保存後,輸入框上方會顯示引用芯片(圖片芯片可點擊預覽)。
- 輸入消息併發送,消息內容會自動附加文件路徑,例如:
[附件引用]
<插件目錄>\screenshots\shot-142314.png
- 點擊面板底部「更改」按鈕,使用原生文件夾選擇框更換保存目錄。更換後,舊目錄文件會自動遷移,已添加的引用路徑會同步更新。
注意事項¶
- 視覺能力:插件不包含視覺模型,需自行配置識圖能力(如安裝
claude-vision-skill)。 - 權限與安全:所有 API 僅限本機迴環訪問。
- 目錄清空:重裝或更新插件會清空默認保存目錄。
- 文件校驗:文件名經過校驗,防止路徑穿越攻擊。
- 許可證:MIT。
總結¶
dsh-screenshot-paste 通過零輸入框污染和自動路徑管理,解決了本地文件與智能體交互的繁瑣問題。它適合需要在 DSH Web GUI 中頻繁處理本地文件的場景。