โ† All skills
Tencent SkillHub ยท Communication & Collaboration

AgentMesh

Provides end-to-end encrypted, authenticated, and forward-secret messaging between AI agents with cryptographic identities and tamper-proof delivery.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Provides end-to-end encrypted, authenticated, and forward-secret messaging between AI agents with cryptographic identities and tamper-proof delivery.

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
README.md, SKILL.md, examples/01_simple_chat.py, examples/02_multi_agent.py, examples/03_persistent_keys.py, examples/04_llm_agents.py

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
0.1.1

Documentation

ClawHub primary doc Primary doc: SKILL.md 33 sections Open source page

AgentMesh SKILL.md

WhatsApp-style end-to-end encrypted messaging for AI agents. GitHub: https://github.com/cerbug45/AgentMesh | Author: cerbug45

What Is AgentMesh?

AgentMesh gives every AI agent a cryptographic identity and lets agents exchange messages that are: PropertyMechanismEncryptedAES-256-GCM authenticated encryptionAuthenticatedEd25519 digital signatures (per message)Forward-secretX25519 ECDH ephemeral session keysTamper-proofAEAD authentication tagReplay-proofNonce + counter deduplicationPrivateThe Hub (broker) never sees message contents No TLS certificates. No servers required for local use. One pip install.

Requirements

Python 3.10 or newer pip

Option 1 โ€“ Install from GitHub (recommended)

pip install git+https://github.com/cerbug45/AgentMesh.git

Option 2 โ€“ Clone and install locally

git clone https://github.com/cerbug45/AgentMesh.git cd AgentMesh pip install .

Option 3 โ€“ Development install (editable, with tests)

git clone https://github.com/cerbug45/AgentMesh.git cd AgentMesh pip install -e ".[dev]" pytest # run all tests

Verify installation

python -c "import agentmesh; print(agentmesh.__version__)" # โ†’ 1.0.0

Quick Start (5 minutes)

from agentmesh import Agent, LocalHub hub = LocalHub() # in-process broker alice = Agent("alice", hub=hub) # keys generated automatically bob = Agent("bob", hub=hub) @bob.on_message def handle(msg): print(f"[{msg.recipient}] โ† {msg.sender}: {msg.text}") alice.send("bob", text="Hello, Bob! This is end-to-end encrypted.") Output: [bob] โ† alice: Hello, Bob! This is end-to-end encrypted.

Agent

An Agent is an AI agent with a cryptographic identity (two key pairs): Ed25519 identity key โ€“ signs every outgoing message X25519 exchange key โ€“ used for ECDH session establishment from agentmesh import Agent, LocalHub hub = LocalHub() alice = Agent("alice", hub=hub) # See the agent's fingerprint (share out-of-band to verify identity) print(alice.fingerprint) # โ†’ a1b2:c3d4:e5f6:g7h8:i9j0:k1l2:m3n4:o5p6

Hub

A Hub is the message router. It stores public key bundles (for discovery) and routes encrypted envelopes. It cannot decrypt messages. HubUse caseLocalHubSingle Python process (demos, tests, notebooks)NetworkHubMulti-process / multi-machine (production)

Message

@bob.on_message def handle(msg): msg.sender # str โ€“ sender agent_id msg.recipient # str โ€“ recipient agent_id msg.text # str โ€“ shortcut for msg.payload["text"] msg.type # str โ€“ shortcut for msg.payload["type"] (default: "message") msg.payload # dict โ€“ full decrypted payload msg.timestamp # int โ€“ milliseconds since epoch

Sending messages with extra data

alice.send( "bob", text = "Run this task", task_id = 42, priority = "high", data = {"key": "value"}, ) All keyword arguments beyond text are included in msg.payload.

Chaining handlers

# Handler as decorator @alice.on_message def handler_one(msg): ... # Handler as lambda alice.on_message(lambda msg: print(msg.text)) # Multiple handlers โ€“ all called in registration order alice.on_message(log_handler) alice.on_message(process_handler)

Persistent keys

Save keys to disk so an agent has the same identity across restarts: alice = Agent("alice", hub=hub, keypair_path=".keys/alice.json") File is created on first run (new keys). File is loaded on subsequent runs (same keys = same fingerprint). Store this file securely โ€“ it contains the private key.

Peer discovery

# List all agents registered on the hub peers = alice.list_peers() # โ†’ ["bob", "carol", "dave"] # Check agent status print(alice.status()) # { # "agent_id": "alice", # "fingerprint": "a1b2:โ€ฆ", # "active_sessions": ["bob"], # "known_peers": ["bob"], # "handlers": 2 # }

1. Start the hub server

On the broker machine (or in its own terminal): # Option A โ€“ module python -m agentmesh.hub_server --host 0.0.0.0 --port 7700 # Option B โ€“ entry-point (after pip install) agentmesh-hub --host 0.0.0.0 --port 7700

2. Agents connect from anywhere

# Machine A from agentmesh import Agent, NetworkHub hub = NetworkHub(host="192.168.1.10", port=7700) alice = Agent("alice", hub=hub) # Machine B (different process / different computer) from agentmesh import Agent, NetworkHub hub = NetworkHub(host="192.168.1.10", port=7700) bob = Agent("bob", hub=hub) bob.on_message(lambda m: print(m.text)) alice.send("bob", text="Cross-machine encrypted message!")

Network hub architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ NetworkHubServer โ”‚ โ”‚ Stores public bundles. Routes encrypted envelopes. โ”‚ โ”‚ Cannot read message contents. โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ TCP (newline-delimited JSON) โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Agent A Agent B Agent C (encrypted) (encrypted) (encrypted)

Cryptographic stack

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ Application layer (dict payload) โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ Ed25519 signature (sender authentication) โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ AES-256-GCM (confidentiality + integrity) โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ HKDF-SHA256 key derivation (directional keys) โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ X25519 ECDH (shared secret / forward secrecy) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Security properties

AttackDefenceEavesdroppingAES-256-GCM encryptionMessage tamperingAES-GCM authentication tag (AEAD)ImpersonationEd25519 signature on every messageReplay attackNonce + monotonic counter deduplicationKey compromiseX25519 ephemeral sessions (forward secrecy)Hub compromiseHub stores only public keys; cannot decrypt

What the Hub can see

โœ… Agent IDs (to route messages) โœ… Public key bundles (required for discovery) โœ… Metadata: sender, recipient, timestamp, message counter โŒ Message contents (always encrypted) โŒ Payload data (always encrypted)

Examples

FileWhat it showsexamples/01_simple_chat.pyTwo agents, basic send/receiveexamples/02_multi_agent.pyCoordinator + 4 workers, task distributionexamples/03_persistent_keys.pyKeys saved to disk, identity survives restartexamples/04_llm_agents.pyLLM agents (OpenAI / any API) in a pipeline Run any example: python examples/01_simple_chat.py

Agent(agent_id, hub=None, keypair_path=None, log_level=WARNING)

MethodDescriptionsend(recipient_id, text="", **kwargs)Send encrypted messagesend_payload(recipient_id, payload: dict)Low-level sendon_message(handler)Register message handler (decorator or call)connect(peer_id)Pre-establish session (optional, auto-connects)connect_with_bundle(bundle)P2P: connect using public bundle directlylist_peers()List all peer IDs on the hubstatus()Dict with agent statefingerprintHuman-readable hex identity fingerprintpublic_bundleDict with public keys (share with peers)

LocalHub()

MethodDescriptionregister(agent)Register an agent (called automatically)deliver(envelope)Route an encrypted envelopeget_bundle(agent_id)Get a peer's public bundlelist_agents()List all registered agent IDsmessage_count()Number of messages routed

NetworkHub(host, port=7700)

Same interface as LocalHub, but communicates with a NetworkHubServer over TCP.

NetworkHubServer(host="0.0.0.0", port=7700)

MethodDescriptionstart(block=True)Start listening (block=False for background thread)

Low-level crypto (advanced)

from agentmesh.crypto import ( AgentKeyPair, # key generation, serialisation, fingerprint CryptoSession, # encrypt / decrypt perform_key_exchange,# X25519 ECDH โ†’ CryptoSession seal, # sign + encrypt (high-level) unseal, # decrypt + verify (high-level) CryptoError, # raised on any crypto failure )

CryptoError: Replay attack detected

You are sending the same encrypted envelope twice. Each call to send() produces a fresh envelope โ€“ do not re-use envelopes.

CryptoError: Authentication tag mismatch

The envelope was modified in transit. Check that your transport does not corrupt binary data (use JSON-safe base64).

ValueError: Peer 'xxx' not found on hub

The recipient has not registered with the hub yet. Ensure both agents are created with the same hub instance (LocalHub) or connected to the same hub server (NetworkHub).

RuntimeError: No hub configured

You created Agent("name") without a hub. Pass hub=LocalHub() or hub=NetworkHub(...) to the constructor.

Contributing

git clone https://github.com/cerbug45/AgentMesh.git cd AgentMesh pip install -e ".[dev]" pytest -v Issues and PRs welcome at https://github.com/cerbug45/AgentMesh/issues

License

MIT ยฉ cerbug45 โ€“ see LICENSE

Category context

Messaging, meetings, inboxes, CRM, and teammate communication surfaces.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
4 Scripts2 Docs
  • SKILL.md Primary doc
  • README.md Docs
  • examples/01_simple_chat.py Scripts
  • examples/02_multi_agent.py Scripts
  • examples/03_persistent_keys.py Scripts
  • examples/04_llm_agents.py Scripts