搜索

PythonReactSEOPDF
OpenClaw

Node Transfer

node transfer

eisonme0 来源安装数☆ 0 仓库 Stars

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

SkillHub CLI

skillhub install eisonme/node-transfer

打开来源仓库,查看说明和兼容环境后,按来源提供的命令或步骤安装。

将来源链接提供给你的 Agent,让它先读取说明、核对依赖,并向你说明将执行的安装步骤。

查看来源 ↗使用指南

技能说明

node-transfer

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

📋 Table of Contents


🎯 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)│
└──────────────┘                      └──────────────┘
       │...

来源信息

Source
github
Repository
openclaw/skills
Path
skills/eisonme/node-transfer
Version
—
Commit
51e5cb80d3dd31175cf5ab3ae90ef1499bd03157
分类来源
rules
状态
active
可见性
public

这些信息来自收录时的来源分析,可能滞后;使用前请核对最新来源文件。

README

node-transfer

High-speed, memory-efficient file transfer for OpenClaw nodes

Version Node.js License


🚀 Quick Start

1. Deploy to a Node (One-Time)
node deploy.js E3V3
2. Transfer a File
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


🔧 Requirements

  • Node.js 14.0.0 or higher
  • Network connectivity between nodes
  • Sufficient disk space on destination

🤝 Co...

来源内容

SKILL.md
# 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)│
└──────────────┘                      └──────────────┘
       │...
README
# node-transfer

**High-speed, memory-efficient file transfer for OpenClaw nodes**

[![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](./version.js)
[![Node.js](https://img.shields.io/badge/node-%3E%3D14.0.0-brightgreen.svg)](https://nodejs.org/)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](./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...

相关技能

OpenClaw

agent-pack-n-go

aicodelion

🚀 Clone your OpenClaw AI Agent to a new device in ~25 minutes — configs, memory, skills, everything.

OpenClaw

cacheforge-skills

cacheforge-ai

⚡ SOTA agent skills for OpenClaw — observability, security, code quality, incident response, and more. Built by Anvil AI.

OpenClaw

restart-guard

zjianru

OpenClaw Skill: Safely restart the Gateway with context preservation, guardian watchdog, and multi-channel notification