LaunchKit · 2026
Back to Skills

node-transfer

High-speed, memory-efficient file transfer between OpenClaw nodes using native Node.js streams.

0
784 downloads
by @eisonme

Setup & Installation

openclaw skills install @eisonme/node-transfer

Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:

npx clawhub install node-transfer

What This Skill Does

node-transfer moves files between OpenClaw nodes using native Node.js HTTP streams, bypassing the standard invoke mechanism. It avoids Base64 encoding and in-memory buffering, keeping memory usage under 10MB regardless of file size. Scripts deploy once per node and persist for subsequent transfers.

Streaming raw binary over HTTP instead of serializing through the standard invoke mechanism reduces a 1GB transfer from 15-30 minutes to roughly 8 seconds.

When to use it

  • Transferring multi-GB model weights between GPU nodes
  • Moving database dumps from production to staging nodes
  • Syncing build artifacts between CI and deployment nodes
  • Copying large log archives off a node for analysis
  • Migrating Docker image tarballs between cluster nodes

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: transfer C:/data/large-file.zip from node E3V3 to node E3V3-Docker

AGENT
  1. 1Check ensure-installed.js on both source and destination nodes in parallel
  2. 2Deploy scripts to any node where installed is false
  3. 3Invoke send.js on E3V3 with the source file path, receive url, token, and fileSize in output
  4. 4Invoke receive.js on E3V3-Docker with the url, token, and destination path
  5. 5Parse receive output and report bytesReceived, duration, and speedMBps
OUTPUT

Transfer complete: 1073741824 bytes in 8.42s at 121.5 MB/s