/install ftp-client
FTP Client
Full-featured FTP/FTPS client skill for OpenClaw. Connect to remote FTP servers and manage files directly.
Environment Variable
Set FTP_CONNECTION in the OpenClaw skill management panel. Format (comma-separated, last 3 fields optional):
host:port,username,password,active/passive,ftp/ftps,explicit/implicit
Examples:
ftp.example.com:21,myuser,mypassword
ftp.example.com:21,myuser,mypassword,passive
ftp.example.com:990,myuser,mypassword,passive,ftps,implicit
Field definitions:
- Field 1 (required):
host:port— FTP server address and port - Field 2 (required):
username— FTP login username - Field 3 (required):
password— FTP login password - Field 4 (optional):
activeorpassive— connection mode (default:passive) - Field 5 (optional):
ftporftps— protocol (default:ftp) - Field 6 (optional):
explicitorimplicit— TLS mode for FTPS (default: not used; only meaningful when field 5 isftps)
Note: If your password contains commas, replace them with
%2C(URL-encoded). The parser will decode it.
List directory
node {baseDir}/scripts/list.mjs
node {baseDir}/scripts/list.mjs "/remote/path"
node {baseDir}/scripts/list.mjs "/" --long
Options:
--longor-l: Show detailed file info (size, date, permissions)
Download file
node {baseDir}/scripts/download.mjs "/remote/file.txt"
node {baseDir}/scripts/download.mjs "/remote/file.txt" --out "/local/path/file.txt"
node {baseDir}/scripts/download.mjs "/remote/dir" --dir
Options:
--out \x3Cpath>or-o \x3Cpath>: Local destination path (default: temp directory)--diror-d: Download entire directory recursively
Upload file
node {baseDir}/scripts/upload.mjs "/local/file.txt"
node {baseDir}/scripts/upload.mjs "/local/file.txt" --to "/remote/path/file.txt"
node {baseDir}/scripts/upload.mjs "/local/dir" --dir --to "/remote/dir"
Options:
--to \x3Cpath>or-t \x3Cpath>: Remote destination path (default: FTP root/)--diror-d: Upload entire directory recursively
Delete file or directory
node {baseDir}/scripts/delete.mjs "/remote/file.txt"
node {baseDir}/scripts/delete.mjs "/remote/dir" --dir
Options:
--diror-d: Remove directory recursively (including all contents)
Move / Rename
node {baseDir}/scripts/move.mjs "/remote/old-name.txt" "/remote/new-name.txt"
node {baseDir}/scripts/move.mjs "/remote/file.txt" "/remote/subdir/file.txt"
Copy file
node {baseDir}/scripts/copy.mjs "/remote/source.txt" "/remote/dest.txt"
FTP protocol does not natively support copy. This downloads the file to a temp location and re-uploads it.
Create directory
node {baseDir}/scripts/mkdir.mjs "/remote/new-dir"
node {baseDir}/scripts/mkdir.mjs "/remote/path/to/deep/dir"
Creates the directory and all intermediate directories as needed.
Read file content
node {baseDir}/scripts/read.mjs "/remote/file.txt"
node {baseDir}/scripts/read.mjs "/remote/file.txt" --encoding utf8
Options:
--encoding \x3Cenc>: File encoding (default:utf8). Supports:utf8,ascii,latin1,base64
File info (size, date)
node {baseDir}/scripts/info.mjs "/remote/file.txt"
Returns file size and last modification date.
Notes
- Requires
nodeand uses thebasic-ftpnpm package (auto-installed via package.json). - Set
FTP_CONNECTIONenv var before use. - Passive mode is recommended for most NAT/firewall scenarios.
- For FTPS, the skill supports both explicit (port 21 typical) and implicit (port 990 typical) TLS.
- Large file transfers show progress output.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install ftp-client - 安装完成后,直接呼叫该 Skill 的名称或使用
/ftp-client触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Ftp Client 是什么?
FTP/FTPS client skill. Connect to FTP servers and perform file operations (list, upload, download, delete, move, copy, mkdir, read). Supports FTP and FTPS (e... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 318 次。
如何安装 Ftp Client?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install ftp-client」即可一键安装,无需额外配置。
Ftp Client 是免费的吗?
是的,Ftp Client 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Ftp Client 支持哪些平台?
Ftp Client 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Ftp Client?
由 erayai(@erayai)开发并维护,当前版本 v0.1.0。