核心用法
node-transfer 是专为 OpenClaw 节点间文件传输设计的高性能工具,采用原生 HTTP 流式传输替代传统的 Base64 编码方案。核心工作流分为三步:
1. 安装检查:通过 ensure-installed.js 在双节点执行快速版本校验(<100ms),首次部署后永久复用
2. 启动发送端:send.js 生成随机端口和 256-bit 安全令牌,建立 HTTP 服务端流式传输
3. 启动接收端:receive.js 连接发送端 URL,将文件流直接写入磁盘
API 设计简洁,支持命令行与程序化调用,输出结构化 JSON 便于集成。
显著优点
| 维度 | 表现 |
|------|------|
| **传输速度** | 1GB文件从15-30分钟降至约8秒,提升约150倍 |
| **内存效率** | 流式传输内存占用<10MB,较Base64方案降低99% |
| **部署效率** | "一次安装,多次运行"模式,后续传输<1秒完成校验 |
| **安全设计** | 单次使用令牌、自动关闭服务器、256位随机熵 |
| **网络友好** | 原始二进制传输,无Base64 33%体积膨胀 |
潜在局限
- 首次部署开销:首次安装需约30秒传输脚本文件
- 网络依赖:要求节点间TCP直连,防火墙需开放临时端口(1024-65535)
- 单次连接限制:每个令牌仅支持单次下载,失败需重新初始化
- 无断点续传:连接中断需完整重传,大文件传输需注意网络稳定性
- 版本锁定:需手动管理脚本版本更新,无自动升级机制
适合人群
- OpenClaw 多节点环境下的 DevOps 工程师
- 需要频繁传输大型文件(>100MB)的自动化工作流
- 对内存敏感、无法承受 Base64 编码开销的边缘计算场景
- 追求传输性能极致优化的系统管理员
常规风险
| 风险类型 | 描述 | 缓解措施 |
|----------|------|----------|
| **网络安全** | 临时端口暴露窗口期(默认5分钟超时) | 令牌机制+自动关闭,建议结合防火墙白名单 |
| **数据完整性** | 网络中断导致部分写入 | 自动清理不完整文件,SIZE_MISMATCH 错误提示 |
| **权限问题** | 脚本目录或目标路径无读写权限 | 提前验证路径,使用绝对路径 |
| **版本漂移** | 节点间脚本版本不一致 | 强制 `ensure-installed.js` 检查前置 |
| **资源耗尽** | 并发大量传输可能耗尽 ephemeral 端口 | 合理控制并发,或使用 `--port` 指定固定端口池 |