OmniWire
Infrastructure layer for AI agent swarms — 88 MCP tools for mesh control, A2A protocol, OmniMesh VPN, CyberSync, web scraping, firewall management, browser automation, and more. ~80ms execution.
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install clawskills:voidchecksum~omniwirecURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Avoidchecksum~omniwire/file -o omniwire.mdGit 仓库获取源码
git clone https://github.com/openclaw/skills/commit/3d02e3e909c78e5c22a1be55e01118bcdbd651f8# OmniWire v3.5.0 — Mesh Control for AI Agent Swarms
> **88 MCP tools. 12 categories. Every machine, one agent, zero friction.**
OmniWire is the infrastructure layer for AI agent swarms. It connects your entire mesh (VPS, laptops, Raspberry Pis, Docker hosts) into a single controllable surface with 88 tools spanning execution, A2A protocol, OmniMesh VPN, CyberSync, web scraping, firewall management, CDP browser automation, and more.
```
You: check disk and container status on all servers
Agent: [omniwire_broadcast + omniwire_docker — parallel across all nodes]
contabo | 10.0.0.1 | ONLINE | 78ms | disk=16% | containers: 12 running
kali | 10.0.0.2 | ONLINE | 91ms | disk=34% | containers: 4 running
rpi | 10.0.0.3 | ONLINE | 112ms | disk=20% | containers: 2 running
```
---
## What It Does
| Category | Tools | What your agent can do |
|----------|-------|----------------------|
| **Execution** | 6 | Run commands, scripts, pipelines, background jobs on any node |
| **Agentic / A2A** | 13 | Agent tasks, messaging, blackboard, workflows, semaphores, registries |
| **Files** | 6 | Read, write, list, find, transfer, deploy files across nodes |
| **Monitoring** | 4 | Mesh health, live metrics, benchmarks, node info |
| **System / DevOps** | 14 | Processes, disks, packages, services, Docker, kernel, cron, git, logs |
| **Network / VPN** | 7 | VPN switching, port forwarding, browser, shell, streams, proxy, scraping |
| **Security** | 6 | Firewall, certs, audit, 2FA/TOTP, cookies, user management |
| **CyberSync** | 9 | Bi-directional config sync for 6 AI tools + knowledge/memory |
| **Knowledge** | 2 | Store and search unified knowledge base (pgvector) |
| **OmniMesh** | 3 | WireGuard mesh manager, expose services, gateway routing |
| **Events** | 1 | Webhook + WebSocket + SSE event bus |
| **CDP Browser** | 1 | 18 browser actions via persistent Docker Chrome |
| **Utilities** | 10+ | Alerts, aliases, backups, snippets, DNS, diagnostics, scheduling |
---
## Setup — 3 Steps
### Step 1: Install OmniWire
> **AGENT: Run this via exec. User just clicks Approve.**
```bash
npm install -g omniwire@latest
```
Works on: Linux (x64, ARM64, ARMv7), macOS (Intel + Apple Silicon), Windows (x64).
### Step 2: Configure Your Mesh
Create the mesh config. Ask the user for their server details:
> **AGENT: Ask the user:**
> "What servers do you want to control? For each one I need:
> - A name (e.g., `contabo`, `kali`, `rpi`)
> - IP address or hostname
> - SSH user (usually `root`)
> - SSH key filename in ~/.ssh/ (e.g., `id_ed25519`)
> - Role: `storage`, `compute`, `gpu+browser`, or leave blank"
Then create the config:
```bash
mkdir -p ~/.omniwire
cat > ~/.omniwire/mesh.json << 'EOF'
{
"nodes": [
{
"id": "contabo",
"host": "10.0.0.1",
"user": "root",
"identityFile": "id_ed25519",
"role": "storage",
"tags": ["vps", "docker"]
},
{
"id": "kali",
"host": "10.0.0.2",
"user": "root",
"identityFile": "id_ed25519",
"role": "compute",
"tags": ["kali", "pentest"]
}
],
"cyberbase": {
"host": "10.10.0.1",
"port": 5432,
"database": "cyberbase",
"user": "cyberbase"
}
}
EOF
```
### Step 3: Verify
```bash
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}' \
| omniwire --stdio --no-sync 2>/dev/null | head -1
```
Should respond with `omniwire v3.5.0`. Done.
**Transport options:**
| Transport | Command | Port |
|-----------|---------|------|
| stdio (MCP default) | `omniwire --stdio` | — |
| SSE (HTTP streaming) | `omniwire --sse` | 3200 |
| REST (HTTP JSON) | `omniwire --rest` | 3201 |
| Events (WebSocket) | `omniwire --events` | 3202 |
---
## Usage Examples
### Execute commands anywhere
```
You: restart nginx on contabo
Agent: [omniwire_exec node=contabo command="systemctl restart nginx"]
OK — nginx restarted (0ms)
You: run uptime on every server
Agent: [omniwire_broadcast command="uptime"]
contabo | up 42 days, 3:21
kali | up 7 days, 11:04
rpi | up 2 days, 0:15
```
### Transfer files between nodes
```
You: copy the pentest report from kali to contabo
Agent: [omniwire_transfer_file src_node=kali dest_node=contabo src=/root/report.pdf dest=/var/reports/]
Transferred 2.4MB — LZ4 compressed — 83ms
```
Transfer modes (auto-selected):
- **SFTP** for files under 10MB
- **netcat + LZ4** for 10MB–1GB
- **aria2c** for files over 1GB (16 parallel connections)
### Docker management
```
You: what containers are running on contabo?
Agent: [omniwire_docker node=contabo action=ps]
12 running — neo4j, postgres, omnibus-hub, kali-htb, omniwire-events...
You: pull and start the latest omniwire-events image
Agent: [omniwire_container node=contabo action=pull image=omniwire-events:latest]
Pulled. Starting...
✓ omniwire-events running (healthy)
```
### Monitor mesh health
```
You: how are all my servers doing?
Agent: [omniwire_mesh_status]
contabo | 10.0.0.1 | ONLINE | 78ms | load=1.2 | mem=31% | disk=16%
kali | 10.0.0.2 | ONLINE | 91ms | load=0.4 | mem=19% | disk=34%
rpi | 10.0.0.3 | ONLINE | 112ms | load=0.7 | mem=22% | disk=20%
```
### VPN switching
```
You: switch to Mullvad on the kali node
Agent: [omniwire_vpn node=kali action=connect provider=mullvad country=nl]
Connected — Netherlands exit — mesh routes preserved
New IP: 185.65.134.x
```
Supported providers: Mullvad, OpenVPN, WireGuard, Tailscale. OmniMesh routes are protected during VPN switches.
### Web scraping with Cloudflare bypass
```
You: scrape the pricing table from example.com
Agent: [omniwire_scrape node=contabo url=https://example.com/pricing selector=".pricing-table"]
Scraped 4.2KB — Scrapling engine — Cloudflare bypassed
[returns structured data]
```
### A2A agent messaging
```
You: send a task to the pentest agent on kali
Agent: [omniwire_agent_task node=kali agent_id=pentest-agent task={type:"scan", target:"192.168.1.0/24"}]
Task queued — ID: task_abc123
Agent: [omniwire_blackboard action=watch key=task_abc123/result]
Result ready: {hosts: 12, open_ports: [...]}
```
### COC — Unified CyberBase + Obsidian + Canvas sync
```
You: COC save — OmniWire v3.5.0 deployed with 88 tools
Agent: [omniwire_coc action=save note="OmniWire v3.5.0 deployed with 88 tools"]
Saved to CyberBase (knowledge table)
Mirrored to Obsidian vault: CyberBase/omniwire-v350.md
Canvas node updated: CyberBase MindMap.canvas
✓ All 3 sync targets confirmed
```
---
## Full Tool Reference
<details>
<summary><strong>Execution (6 tools)</strong></summary>
| Tool | Description |
|------|-------------|
| `omniwire_exec` | Execute a command on a specific node. Args: `node`, `command`, `timeout`, `background` |
| `omniwire_run` | Run a named script or predefined task. Args: `node`, `script`, `args` |
| `omniwire_batch` | Execute multiple commands across multiple nodes in one call. Args: `commands[]` |
| `omniwire_broadcast` | Execute command on ALL nodes simultaneously. Args: `command`, `tags` (filter by tag) |
| `omniwire_pipeline` | Chain commands where output of one feeds into next. Args: `node`, `steps[]` |
| `omniwire_bg` | Background task manager — dispatch, poll, get result. Args: `action`, `task_id` |
</details>
<details>
<summary><strong>Agentic / A2A Protocol (13 tools)</strong></summary>
| Tool | Description |
|------|-------------|
| `omniwire_store` | Key-value store for agents. Actions: get, set, delete, list. Args: `key`, `value`, `ttl` |
| `omniwire_watch` | Watch a key for changes (long-poll). Args: `key`, `timeout` |
| `omniwire_healthcheck` | Check agent health status across nodes. Args: `agent_id`, `node` |
| `omniwire_agent_task` | Dispatch a structured task to a named agent. Args: `node`, `agent_id`, `task` |
| `omniwire_a2a_message` | Send an A2A protocol message between agents. Args: `to`, `from`, `message`