[announcements]

Introducing Moni: Control Your Local AI Agents from Anywhere

Moni bridges the gap between local AI agents and cloud accessibility. Learn how our zero-knowledge gateway architecture enables secure, real-time control of your AI agents from any device.

Nadir Altun||2 min read|425 words
#moni#ai-agents#launch#zero-knowledge

##The Problem with Local AI Agents

Running AI agents locally gives you full control over your data, your models, and your compute. But it comes with a trade-off: you can only interact with them when you're at your machine.

What if you could control your local AI agents from your phone, your tablet, or any browser — without ever exposing your data to a third party?

That's exactly what Moni does.

##How Moni Works

Moni creates an encrypted bridge between your local AI agents and the cloud. Here's the architecture:

┌─────────────┐     WebSocket      ┌─────────────┐     HTTPS      ┌─────────────┐
│  Your Local  │ ◄──────────────► │    Moni      │ ◄────────────► │  Your Phone  │
│  AI Agent    │   E2E Encrypted   │   Gateway    │   Dashboard    │  or Browser  │
└─────────────┘                    └─────────────┘                 └─────────────┘

Every message is encrypted end-to-end using Ed25519 key exchange and AES-256-GCM symmetric encryption. Moni's servers never see your data — they just relay encrypted packets.

##Zero-Knowledge Architecture

We built Moni with a simple principle: we should never be able to read your messages.

Here's how we achieve this:

  1. -Key generation happens locally — Your browser generates an Ed25519 key pair. The private key never leaves your device.
  2. -Shared secret via ECDH — Your browser and your gateway derive a shared AES-256-GCM key through Diffie-Hellman exchange.
  3. -Server is a relay — Moni's server routes encrypted packets between your devices. It cannot decrypt them.
// Key exchange happens entirely on your device
const keyPair = await generateEd25519KeyPair();
const sharedSecret = await deriveSharedSecret(
  keyPair.privateKey,
  gatewayPublicKey
);

// Messages are encrypted before they leave your browser
const encrypted = await encrypt(message, sharedSecret);
ws.send(encrypted); // Server only sees ciphertext

##Built on Open Standards

Moni is built on the Model Context Protocol (MCP) standard. This means any MCP-compatible AI agent can connect to Moni without any modification.

###Supported Agents

AgentStatusNotes
Claude DesktopSupportedVia MCP gateway
Custom MCP serversSupportedAny MCP-compatible server
OpenAI-compatibleComing soonAdapter in development

##Getting Started

Getting started with Moni takes less than 2 minutes:

  1. -Sign up at moni.run
  2. -Create a gateway in your dashboard
  3. -Connect your agent using the gateway token
  4. -Start chatting from any device

The free tier includes 100 messages per month, 2 sessions, and 1 gateway — enough to try everything out.

##What's Next

We're just getting started. Here's what's on the roadmap:

  • -Agent DNA — Save and share agent configurations
  • -Split View — Monitor multiple agents simultaneously
  • -Team tier — SSO, shared gateways, audit logs
  • -Mobile app — Native iOS and Android apps

We're building Moni in public and would love your feedback. Follow our journey on Twitter/X or check out our GitHub.


Moni is currently in early access. Sign up at moni.run to get started.

share:Xin
NA
Nadir Altun
Founder & CEO