Install
openclaw skills install @samajesteduroyaume/openclawmeshConnect OpenClaw to local and LAN P2P AI agent meshes (JarvisMesh & OpenClawMesh). Requires explicit user consent for mDNS, LAN/WAN network access, remote delegation, key-file access, and exposing local tools. Remote traffic may transmit prompts, files, memory, media, and tool results to selected peers.
openclaw skills install @samajesteduroyaume/openclawmeshpython3 uniquement.TrustStore uniquement si configurés par l'utilisateur.TrustStore.openclaw-mesh enables your OpenClaw agent to discover, collaborate with, and delegate tasks to other AI agent nodes on your local network. These operations are opt-in and may transmit prompts, files, images, audio, memory queries, and tool results to selected peers; verify peer identity and permissions before sending sensitive data.
Activate this skill when:
llm_stream).memory_search, memory_store, memory_recall, rag_query).transcribe_audio) or analyzing images with Vision models (vlm_analyze).discover).hardware).All commands can be executed via the unified Python CLI or standalone helper scripts located in scripts/.
Identify available GPU / NPU accelerators on the local machine:
python3 scripts/mesh_cli.py hardware
Find all online JarvisMesh & OpenClaw nodes, their addresses, latencies, and advertised skills:
python3 scripts/mesh_cli.py discover --inspect
Or structured JSON output:
python3 scripts/mesh_discover.py
Send a task request to the network. If --peer is omitted, OpenClawMesh automatically picks the best and least-loaded node:
# Auto-routed LLM prompt to the best available GPU/NPU node
python3 scripts/mesh_cli.py call --skill llm --payload '{"prompt": "Write a Python FastAPI health check endpoint."}'
# Target a specific peer node (e.g. NVIDIA GPU server or Intel Ultra laptop)
python3 scripts/mesh_cli.py call --peer gpu-server --skill memory_search --payload '{"query": "P2P protocol memory", "top_k": 3}'
Stream responses directly to stdout in real time:
python3 scripts/mesh_cli.py stream --skill llm_stream --payload '{"prompt": "Explain quantum computing in 3 bullet points."}'
Or via script:
python3 scripts/mesh_stream.py llm_stream '{"prompt": "Summarize today tasks."}'
Probe a specific peer node:
python3 scripts/mesh_cli.py ping --peer mac-m3
Expose local OpenClaw capabilities as a discoverable P2P service:
python3 scripts/mesh_cli.py serve --name openclaw-worker --port 8770
When interacting with a standard JarvisMesh / OpenClawMesh cluster, the following skills are commonly available:
| Skill Name | Parameters (Payload) | Description |
|---|---|---|
llm | {"prompt": str, "model": str, "temperature": float, "max_tokens": int} | Universal AI inference (NVIDIA CUDA, AMD ROCm, Intel NPU, Apple Silicon Metal, CPU) |
llm_stream | {"prompt": str, "model": str, "temperature": float} | Real-time streaming LLM token generation |
memory_store | {"content": str, "metadata": dict, "doc_id": str} | Stores a text chunk into persistent SQLite vector DB |
memory_search | {"query": str, "top_k": int} | Semantic cosine similarity search |
memory_recall | {"query": str, "top_k": int} | Recalls past conversational context |
transcribe_audio | {"audio_base64": str, "model_size": str} | Whisper Speech-to-Text audio transcription |
vlm_analyze | {"image_base64": str, "prompt": str} | Vision multimodal image reasoning |
rag_query | {"query": str, "k": int} | Hybrid BM25 / TF-IDF document retrieval |
_describe_skills | {} | Introspects full skill catalog and schemas |
_health | {} | Returns node status, active tasks, hardware & uptime |
OpenClawMesh supports two authentication modes:
Set --psk <shared_secret> on both server and client:
python3 scripts/mesh_cli.py call --skill llm --payload '{"prompt": "Hello"}' --psk "my_secret_token"
python3 scripts/mesh_cli.py keygen --out ~/.openclaw/identity.key
python3 scripts/mesh_cli.py call --skill llm --payload '{"prompt": "Hello"}' --keyfile ~/.openclaw/identity.key
When an E2EE session is enabled, payloads are encrypted with ChaCha20-Poly1305 AEAD over an X25519 ECDH session (HKDF-SHA256). For production, bind the session to trusted Ed25519 identities; X25519 alone does not prevent an active MITM. The WAN relay only forwards opaque E2EE blobs and never sees the plaintext.
from openclaw_mesh import E2EESession
alice = E2EESession()
bob = E2EESession()
alice.establish_with_peer(bob.public_key_bytes)
bob.establish_with_peer(alice.public_key_bytes)
pkg = alice.encrypt({"prompt": "secure task"})
bob.decrypt(pkg) # ✅ first reception
bob.decrypt(pkg) # ❌ ReplayError — captured packet re-injected
For authenticated E2EE, pass identity= and peer_identity_public_key= to both sessions. DHT RPCs can be authenticated with the shared OPENCLAW_PSK.
Each E2EESession enforces anti-replay by combining a timestamp freshness window (e2ee_max_drift_seconds, default 300s) and a bounded sliding-window nonce cache (e2ee_nonce_cache_size). Staler or duplicated packets are rejected with ReplayError.
WAN nodes are routed through a WebSocket relay (mesh_cli.py relay), and the Kademlia DHT (mesh_cli.py dht) provides global decentralized skill lookup over real UDP transport with iterative alpha-parallel lookups.
import asyncio
from openclaw_mesh import MeshClient
async def main():
# Initialize client
client = MeshClient(name="openclaw-agent")
await client.start()
# Discover peers
await asyncio.sleep(1.5)
print("Peers detected on LAN:", client.list_peers())
# Call remote GPU / NPU inference node
response = await client.delegate(
skill="llm",
payload={"prompt": "Explain quantum computing in one sentence."}
)
print("Result:", response.result)
await client.stop()
if __name__ == "__main__":
asyncio.run(main())