122 lines
5.0 KiB
Markdown
122 lines
5.0 KiB
Markdown
# ComfyUI Wireless Transmission Nodes
|
||
|
||
**English** | [中文](#中文)
|
||
|
||
A clean, lightweight ComfyUI plugin to transmit data wirelessly between nodes using a global key-value store. This helps clean up messy "spaghetti" workflows by removing long connecting wires.
|
||
|
||
## Features
|
||
- **Zero Latency**: Uses internal Python dictionary storage.
|
||
- **Strict Typing**: Separate nodes for `Any`, `Image`, and `Latent` to ensure compatibility with ComfyUI's visual cues.
|
||
- **Pass-through**: Set nodes pass the value through, allowing linear workflow continuation.
|
||
|
||
## Tips
|
||
- We know it’s easy to accidentally copy a stray space when pasting your key. That’s why we’ve added an auto-trim feature—it automatically removes spaces at the beginning and end, making sure your key works perfectly every time.
|
||
|
||
## Nodes Included
|
||
1. **Universal**: `Set Wireless (Any)` / `Get Wireless (Any)`
|
||
- Accepts **ALL** data types (Wildcard `*`).
|
||
- Supports complex types: `Model`, `VAE`, `CLIP`, `Conditioning`, `Mask`.
|
||
- Supports primitive types: `INT` (steps, width, height), `FLOAT` (fps), `STRING` (prompts).
|
||
2. **Image**: `Set Wireless (Image)` / `Get Wireless (Image)` - Blue connections.
|
||
3. **Latent**: `Set Wireless (Latent)` / `Get Wireless (Latent)` - Orange connections.
|
||
|
||
## Installation
|
||
|
||
### Method 1: Git Clone (Recommended)
|
||
1. Navigate to your ComfyUI `custom_nodes` directory:
|
||
```bash
|
||
cd ComfyUI/custom_nodes/
|
||
```
|
||
2. Clone this repository:
|
||
```bash
|
||
git clone https://github.com/your-username/ComfyUI-Wireless.git
|
||
```
|
||
3. Restart ComfyUI.
|
||
|
||
### Method 2: Manual Installation
|
||
1. Download the ZIP file of this repository.
|
||
2. Extract it into your `ComfyUI/custom_nodes/` folder.
|
||
3. Ensure the folder is named `ComfyUI-Wireless`.
|
||
4. Restart ComfyUI.
|
||
|
||
## Usage
|
||
|
||
### Basic Linking
|
||
1. Add a **Set Wireless** node. Connect your data and give it a unique Key (e.g., `face_image`).
|
||
2. Place a **Get Wireless** node anywhere else. Enter the same Key (`face_image`).
|
||
3. The data is now wirelessly transferred!
|
||
|
||
### Multiple Channels (Example)
|
||
You can create multiple independent channels by using different keys:
|
||
- **Channel 1**: Set Node (Key: `1`) ➔ Get Node (Key: `1`)
|
||
- **Channel 2**: Set Node (Key: `2`) ➔ Get Node (Key: `2`)
|
||
- **Channel A**: Set Node (Key: `model_base`) ➔ Get Node (Key: `model_base`)
|
||
|
||
Make sure the **Key** strings match exactly between the Set and Get nodes you want to pair.
|
||
|
||
## License
|
||
This project is licensed under the MIT License.
|
||
|
||
---
|
||
|
||
# 中文 (Chinese)
|
||
|
||
# ComfyUI 无线传输节点
|
||
|
||
**中文** | [English](#english)
|
||
|
||
一个简洁、轻量级的 ComfyUI 插件,用于通过全局键值对在节点之间无线传输数据。通过移除长距离的连线,帮助你清理混乱的“面条式”工作流。
|
||
|
||
## 特性
|
||
- **零延迟**: 使用 Python 内部字典存储,速度极快。
|
||
- **严格类型**: 提供 `Any` (通用)、`Image` (图像) 和 `Latent` (潜空间) 的专用节点,完美适配 ComfyUI 的端口颜色系统。
|
||
- **透传设计**: Set 节点支持数据透传,不打断原有的线性工作流。
|
||
|
||
## 包含的节点
|
||
1. **通用型**: `Set Wireless (Any)` / `Get Wireless (Any)`
|
||
- 接受 **所有** 数据类型 (通配符 `*`)。
|
||
- 支持复杂类型:`Model` (模型), `VAE`, `CLIP`, `Conditioning` (条件), `Mask` (遮罩)。
|
||
- 支持基础类型:`INT` (步数, 宽, 高), `FLOAT` (帧率), `STRING` (文本)。
|
||
2. **图像型**: `Set Wireless (Image)` / `Get Wireless (Image)` - 对应蓝色端口。
|
||
3. **潜空间型**: `Set Wireless (Latent)` / `Get Wireless (Latent)` - 对应橙色端口。
|
||
|
||
## 提示
|
||
为了彻底防止因手误(多打空格)导致的问题,我设置了代码自动帮你去除 Key 前后的空格(Trim),这样无论你是否不小心加了空格,只要字符匹配就能成功传输。
|
||
|
||
## 安装方法
|
||
|
||
### 方法 1: Git Clone (推荐)
|
||
1. 进入你的 ComfyUI `custom_nodes` 目录:
|
||
```bash
|
||
cd ComfyUI/custom_nodes/
|
||
```
|
||
2. 克隆本仓库(请将下方链接替换为实际仓库地址):
|
||
```bash
|
||
git clone https://github.com/your-username/ComfyUI-Wireless.git
|
||
```
|
||
3. 重启 ComfyUI。
|
||
|
||
### 方法 2: 手动安装
|
||
1. 下载本仓库的 ZIP 压缩包。
|
||
2. 将其解压到 `ComfyUI/custom_nodes/` 目录下。
|
||
3. 确保文件夹名称为 `ComfyUI-Wireless`。
|
||
4. 重启 ComfyUI。
|
||
|
||
## 使用说明
|
||
|
||
### 基础连接
|
||
1. 添加一个 **Set Wireless** 节点。连接你的数据并给它起一个唯一的 Key(例如 `face_image`)。
|
||
2. 在工作流的任何其他位置放置一个 **Get Wireless** 节点。输入相同的 Key(`face_image`)。
|
||
3. 数据即可无线传输!
|
||
|
||
### 多通道示例
|
||
你可以通过不同的 Key 创建多个独立的通道,最简单的“Set 1 对应 Get 1”:
|
||
- **通道 1**: Set 节点 (Key: `1`) ➔ Get 节点 (Key: `1`)
|
||
- **通道 2**: Set 节点 (Key: `2`) ➔ Get 节点 (Key: `2`)
|
||
- **通道 A**: Set 节点 (Key: `model_base`) ➔ Get 节点 (Key: `model_base`)
|
||
|
||
**注意**:Set 和 Get 节点之间的 **Key** 必须完全一致才能成功配对。
|
||
|
||
## 许可证
|
||
本项目采用 MIT 许可证授权。
|