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

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

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

小夜