How It Works
Each mesh node runs a ProviderHostActor that exposes its local LLM providers to the network. Remote nodes route chat requests via MeshChatProvider. Only chat messages and responses traverse the network — API keys never leave the host machine.
Security Model
Host Machine
ProviderHostActor (runs LLM)🔒 API Key stays here
Invite: ed25519 signed grant
↔ ChatMessage
Guest Machine
MeshChatProvider (proxies)❌ No API key needed
Token verified offline
Getting Started
# Host: generate invite qmtcode --mesh --mesh-invite="Team" --invite-uses=5 --invite-ttl=7d # Guest: join mesh qmtcode --mesh-join=qmt://mesh/join/BASE64TOKEN # Guest's agent auto-discovers providers via DHT # Routes transparently — no config needed
Key Properties
- No credential exposure: API keys never leave the host. Guests send chat messages, not credentials.
- Signed invite tokens: ed25519-signed grants. Verified offline. No network call to a central server.
- Usage limits: Each invite has a max use count and TTL. Expire automatically.
- Per-invite revocation: Delete an invite_id from the host's InviteStore to revoke immediately.
- QR codes: Invite tokens encode as QR codes for easy sharing in person.
- DHT discovery: Guests discover providers via Kademlia DHT. No manual endpoint config.
See It In Action
Check out the Credentialless GPU Sharing showcase for a complete walkthrough.