dsh-plugin-ftp-server:在 DeepSeek Harness 中運行 FTP 服務

在 DeepSeek Harness(DSH)環境中進行開發或調試時,有時需要在本地或網絡中共享文件目錄。除了使用外部 FTP 服務,也可以直接在 Harness 內部啓動一個 FTP 服務。dsh-plugin-ftp-server 插件正是爲此設計,它能在 Harness 進程內啓動一個純 Node.js 實現的 FTP 服務器,並通過瀏覽器設置面板進行管理。

安裝與啓用

  1. 在命令行中執行以下命令安裝插件:
dsh plugin --profile web add github:YinjiangCN/dsh-plugin-ftp-server
  1. 安裝完成後重啓 DeepSeek Harness。

  2. 在瀏覽器中打開設置頁面,找到「FTP 服務」選項卡,填寫配置並點擊「啓動服務」。

配置說明

插件啓動後,可以通過設置面板控制服務狀態。默認配置如下:

字段 默認值 說明
監聽地址 (host) 0.0.0.0 FTP 服務綁定的網絡地址
端口 (port) 2121 FTP 控制端口
共享根目錄 (root) workspace/ftp-root FTP 可訪問的根目錄
用戶名 (user) ftp 登錄用戶名(匿名模式忽略此項)
密碼 (pass) (空) 登錄密碼(匿名模式忽略此項)
允許匿名 (anonymous) off 是否允許匿名登錄

客戶端連接地址格式爲 ftp://<user>@<host>:<port>。密碼僅存儲在內存中,通過子進程參數傳遞,不會寫入磁盤。

核心功能

  • 零依賴核心:FTP 服務器核心完全基於 Node.js 內置模塊編寫,不依賴第三方庫。
  • 完整協議支持:支持標準 FTP 命令,包括 USER/PASS、PWD/CWD/CDUP、LIST/NLST/MLSD、RETR/STOR/APPE、DELE/MKD/RMD、RNFR/RNTO、SIZE/MDTM/REST、PASV/EPSV/PORT、FEAT/STAT/ABOR/NOOP。
  • 安全隔離:文件系統被 Chroot 到共享根目錄,阻止路徑逃逸(如 ..),且根目錄本身不可刪除或重命名。
  • 管理面板:提供瀏覽器界面,可查看運行狀態(PID、運行時間)、共享根目錄列表、實時日誌,以及啓停控制。
  • 進程管理:具備空閒超時(180秒)、崩潰檢測以及在插件停止時自動清理子進程的能力。

安全與注意事項

  • 明文傳輸:該插件基於純 FTP 協議,不提供 TLS 加密。憑據和數據以明文傳輸,僅建議在內部或可信網絡中使用。
  • 權限風險:服務器以 Harness 用戶的權限運行。如果將「共享根目錄」設置爲 /,任何持有憑證的用戶都可以讀寫整個文件系統。
  • 單實例限制:當前版本每個實例僅支持一個賬戶。如需多用戶訪問,請運行多個實例並使用不同端口。

總結

該插件爲 DeepSeek Harness 提供了一個輕量級、內嵌式的文件共享方案。通過瀏覽器即可管理 FTP 服務,適合在本地調試或內部網絡中臨時共享文件目錄。

GitHub 倉庫:YinjiangCN/dsh-plugin-ftp-server

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

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

小夜