agent-pack-n-go
🚀 Clone your OpenClaw AI Agent to a new device in ~25 minutes — configs, memory, skills, everything.
node transfer
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install eisonme/node-transferInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
High-speed, memory-efficient file transfer between OpenClaw nodes using native Node.js streams.
When transferring large files between OpenClaw nodes using the standard nodes.invoke mechanism, we encountered several critical issues:
| Issue | Impact |
|---|---|
| Base64 Encoding Overhead | 33% larger payload, slower transfers |
| Memory Exhaustion (OOM) | Loading multi-GB files into memory crashes the process |
| Transfer Latency | JSON serialization/deserialization adds significant delay |
| 9-Minute Deployments | Re-deploying scripts on every transfer |
node-transfer uses native HTTP streaming with Node.js streams, providing:
| Metric | Base64 Transfer | node-transfer | Improvement |
|---|---|---|---|
| 1GB file transfer time | ~15-30 min | ~8 sec | ~150x faster |
| Memory usage | 1GB+ | <10MB | 99% reduction |
| First transfer overhead | N/A | ~30 sec (one-time install) | - |
| Subsequent transfers | ~15-30 min | <1 sec check + ~8 sec transfer | ~200x faster |
┌──────────────┐ HTTP Stream ┌──────────────┐
│ send.js │ ◄──────────────────► │ receive.js │
│ (Source) │ (Token-protected) │ (Destination)│
└──────────────┘ └──────────────┘
│...
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
High-speed, memory-efficient file transfer for OpenClaw nodes
node deploy.js E3V3
const INSTALL_DIR = 'C:/openclaw/skills/node-transfer/scripts';
// Start sender
const send = await nodes.invoke({
node: 'E3V3',
command: ['node', `${INSTALL_DIR}/send.js`, 'C:/data/file.zip']
});
const { url, token } = JSON.parse(send.output);
// Start receiver
await nodes.invoke({
node: 'E3V3-Docker',
command: ['node', `${INSTALL_DIR}/receive.js`, url, token, '/incoming/file.zip']
});
| File | Description |
|---|---|
send.js |
HTTP server that streams files |
receive.js |
HTTP client that downloads files |
ensure-installed.js |
Fast installation checker |
version.js |
Version manifest |
deploy.js |
Deployment script generator |
example.js |
Complete usage example |
SKILL.md |
Full documentation |
CONTRIBUTING_PROPOSAL.md |
Core integration proposal |
| Metric | Base64 Transfer | node-transfer | Speedup |
|---|---|---|---|
| 1GB file | 15-30 min | ~8 sec | ~150x |
| Memory usage | 1GB+ | <10MB | 99% less |
| First check | - | <100ms | N/A |
# node-transfer
High-speed, memory-efficient file transfer between OpenClaw nodes using native Node.js streams.
## 📋 Table of Contents
- [Problem Solved](#problem-solved)
- [Architecture](#architecture)
- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [API Reference](#api-reference)
- [Troubleshooting](#troubleshooting)
---
## 🎯 Problem Solved
### The Original Problem
When transferring large files between OpenClaw nodes using the standard `nodes.invoke` mechanism, we encountered several critical issues:
| Issue | Impact |
|-------|--------|
| **Base64 Encoding Overhead** | 33% larger payload, slower transfers |
| **Memory Exhaustion (OOM)** | Loading multi-GB files into memory crashes the process |
| **Transfer Latency** | JSON serialization/deserialization adds significant delay |
| **9-Minute Deployments** | Re-deploying scripts on every transfer |
### The Solution
`node-transfer` uses **native HTTP streaming** with Node.js streams, providing:
- ✅ **Zero memory overhead** - Files stream directly from disk to network
- ✅ **No Base64 encoding** - Raw binary transfer
- ✅ **Speed** - Line-speed limited only by network bandwidth
- ✅ **Install Once, Run Many** - Scripts persist on nodes after first deployment
### Performance Comparison
| Metric | Base64 Transfer | node-transfer | Improvement |
|--------|----------------|---------------|-------------|
| 1GB file transfer time | ~15-30 min | ~8 sec | **~150x faster** |
| Memory usage | 1GB+ | <10MB | **99% reduction** |
| First transfer overhead | N/A | ~30 sec (one-time install) | - |
| Subsequent transfers | ~15-30 min | **<1 sec** check + ~8 sec transfer | **~200x faster** |
---
## 🏗️ Architecture
### How It Works
```
┌──────────────┐ HTTP Stream ┌──────────────┐
│ send.js │ ◄──────────────────► │ receive.js │
│ (Source) │ (Token-protected) │ (Destination)│
└──────────────┘ └──────────────┘
│...# node-transfer
**High-speed, memory-efficient file transfer for OpenClaw nodes**
[](./version.js)
[](https://nodejs.org/)
[](./package.json)
---
## 🚀 Quick Start
### 1. Deploy to a Node (One-Time)
```bash
node deploy.js E3V3
```
### 2. Transfer a File
```javascript
const INSTALL_DIR = 'C:/openclaw/skills/node-transfer/scripts';
// Start sender
const send = await nodes.invoke({
node: 'E3V3',
command: ['node', `${INSTALL_DIR}/send.js`, 'C:/data/file.zip']
});
const { url, token } = JSON.parse(send.output);
// Start receiver
await nodes.invoke({
node: 'E3V3-Docker',
command: ['node', `${INSTALL_DIR}/receive.js`, url, token, '/incoming/file.zip']
});
```
---
## 📦 Package Contents
| File | Description |
|------|-------------|
| `send.js` | HTTP server that streams files |
| `receive.js` | HTTP client that downloads files |
| `ensure-installed.js` | Fast installation checker |
| `version.js` | Version manifest |
| `deploy.js` | Deployment script generator |
| `example.js` | Complete usage example |
| `SKILL.md` | Full documentation |
| `CONTRIBUTING_PROPOSAL.md` | Core integration proposal |
---
## 📊 Performance
| Metric | Base64 Transfer | node-transfer | Speedup |
|--------|-----------------|---------------|---------|
| 1GB file | 15-30 min | ~8 sec | **~150x** |
| Memory usage | 1GB+ | <10MB | **99% less** |
| First check | - | <100ms | N/A |
---
## 📖 Documentation
- **[SKILL.md](./SKILL.md)** - Complete usage guide, API reference, troubleshooting
- **[CONTRIBUTING_PROPOSAL.md](./CONTRIBUTING_PROPOSAL.md)** - Proposal for core integration
- **[example.js](./example.js)** - Working code example
---
## 🔧 Requirements
- Node.js 14.0.0 or higher
- Network connectivity between nodes
- Sufficient disk space on destination
---
## 🤝 Co...🚀 Clone your OpenClaw AI Agent to a new device in ~25 minutes — configs, memory, skills, everything.
⚡ SOTA agent skills for OpenClaw — observability, security, code quality, incident response, and more. Built by Anvil AI.
OpenClaw Skill: Safely restart the Gateway with context preservation, guardian watchdog, and multi-channel notification
OpenClaw Skill for stock data analysis