dsh-file-bridge:DeepSeek Harness 文件雙向交換橋

DeepSeek Harness (DSH) 採用插件化架構。在對話場景中實現文件傳輸是常見需求。dsh-file-bridge 插件提供了這一能力,支持通過附件按鈕上傳、工具下發以及路徑跳轉三種方式實現雙向文件交換。

核心功能

  • 用戶上傳:通過輸入框附件按鈕上傳文件,圖片自動壓縮至 1600px 並支持原生預覽,非圖片文件生成訪問鏈接。
  • Agent 下發:Agent 調用 send_files 工具,圖片渲染爲可點擊預覽,其他文件提供下載鏈接。
  • Explorer 跳轉:在回覆正文中使用反引號包裹源文件的絕對路徑(如 /root/proj/a.md),點擊可喚起側邊欄文件管理器。
  • 靜態服務:提供 /dsh-files/* 只讀靜態服務,具備防路徑穿越能力和中文文件名 RFC 5987 編碼支持。

安裝與配置

使用官方命令安裝插件:

dsh plugin --profile web add 'github:fengs2021/dsh-file-bridge'

安裝後需重啓 Web 服務:

systemctl restart dsh-web

插件通過 cordis.patch.yml 配置文件進行初始化,需設置以下參數:

- insert:
    - id: file-bridge
      name: dsh-file-bridge
      config:
        publicBase: "http://你的公網地址:端口"   # 生成文件 URL 的基礎地址,必須配置
        filesDir: "/root/.dsh/files"             # 共享文件目錄(默認 ~/.dsh/files)

使用方法

  1. 用戶上傳:用戶點擊輸入框附件按鈕選擇文件,系統自動處理圖片壓縮或生成鏈接。
  2. Agent 下發與跳轉:Agent 調用 send_files 工具後,在回覆中使用反引號包裹工具調用的源文件絕對路徑。該路徑必須與回覆在同輪對話中,且必須是工具調用的源路徑。

注意事項

  • Android WebView:App 端需實現 WebChromeClient.onShowFileChooser 方法以支持文件選擇。
  • Nginx 配置:部署環境需配置 Nginx 的 client_max_body_size,建議設置爲 25m(默認 1m 會導致 413 錯誤)。
  • 依賴鏈接:插件目錄需鏈接 node_modules/@deepseek-ai/dsh-tools,否則會報錯。
  • 路徑生效規則:反引號路徑必須是工具調用的源路徑且與回覆同輪生效。

結語

該插件通過附件按鈕、工具調用和路徑跳轉三種方式,爲 DSH 對話場景提供了基礎的文件交互能力。開發者可根據需求在 cordis.patch.yml 中配置文件存儲路徑和公網地址。更多細節見項目主頁:GitHub

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜