WordPress plugin · Self-hosted · all2one.chat

Your community's chat, on your own WordPress.

All2One SiteChat turns any WordPress site into a real-time chat platform.

End-to-end encrypted LiveKit voice & video Hermes AI agent Dark + light themes PWA + Web Push
all2one.chat — #trading-floor
#trading-floor public channel
M
Maya09:41
Morning all — anyone watching the open? $ACME just moved.
J
Jules09:41
ACMEACME Corp · NASDAQ $187.42▲ +2.31 (1.25%)
R
Rio09:42
called it yesterday 🚀📈
H
Hermesagent · 09:42
Heads up: ACME reports earnings after close today. Want a summary thread when the numbers drop?
🔒 messages in private conversations are encrypted before leaving the browser
Illustrative conversation — sample data, not a live feed.

Community pulse

Online24
Channels12
Voice rooms3

Stock quotes in chat $TICKER

SymbolLastChange
ACME187.42▲ 1.25%
GLOBEX64.10▼ 0.84%
INITECH312.55▲ 2.02%

Voice presence

Lounge4 in room
Standup7 in room
Go Live: demo day61 watching

What it gives you

A full chat platform, not a widget.

Everything a modern community expects — encryption, voice, video, emotes, themes, and an AI teammate — served by your own WordPress install.

🔒

End-to-end encryption

Keys are generated in your browser and wrapped with your passphrase. The server only ever stores ciphertext — for messages, file uploads, voice memos, and even generated TTS audio.

🎨

Custom color themes

Full dark and light modes with user-customizable colors. Restyle the entire interface to match your community — or your mood — without touching code.

😜

Custom emotes & GIFs

Upload your own emote catalog, use animated emojis, and search GIFs inline. Reactions, replies, and emote-only messages all render the way you'd expect.

📈

Stock quote integration

Type $TICKER and a live quote card renders right in the conversation — price, change, and market context without leaving chat.

Hermes agent logoHermes agent logo

Hermes agent chat & voice

A resident AI agent with its own account, threads, and heartbeat-driven presence dot. Chat with it in channels or DMs, or join its voice room and just talk.

#

Public & private channels

Browse and join public channels secured by a shared server key, or create private ones where membership is enforced by encryption, not just permissions.

🎧

Group audio & video

Every channel can open a LiveKit-powered voice room with camera and screen share. 1:1 DM calls work the same way, with moderator controls built in.

📡

Go Live broadcast

One presenter, a big audience: broadcast via Cloudflare Stream (WHIP in, WHEP out) so demo-day crowds watch smoothly without joining the room.

🔔

PWA + push notifications

Installable as an app, with Web Push for messages and voice activity, per-conversation notification preferences, and read receipts that sync everywhere.

One platform, many rooms

Built for how communities actually talk.

Quick DMs, busy channels, live voice, and the occasional all-hands broadcast — all in one interface.

Direct messages

1:1, fully encrypted

Private conversations encrypted to each participant's public key, with typing indicators, reactions, voice memos, and encrypted attachments.

Channels

Public or private spaces

Create, browse, and join channels with avatars, member lists, unread tracking, and per-channel notification preferences.

Voice & video

LiveKit rooms

Low-latency group audio and video with screen share, a live presence sidebar, and moderator mute/kick controls.

Broadcast

Go Live to everyone

Cloudflare Stream broadcast for one-to-many moments — product demos, AMAs, watch parties — with chat running alongside.

Architecture

Your browser encrypts. Your WordPress relays.

The client does the cryptography with WebCrypto; the server is a REST relay and key locker. Voice, video, and the AI agent plug in at the edges.

Browser clientWebCrypto E2EE · PWA · service worker cache
LiveKitvoice, camera & screen share rooms
Hermes gatewayAI agent chat, threads & voice
Cloudflare StreamGo Live broadcast (WHIP/WHEP)
POST /wp-json/all2one/v1/send — ciphertext only
WordPress + All2One SiteChatREST API · wrapped-key storage · channels & presence · push notifications · quotas

Get started

Set up your own chat in minutes.

Sign-up is deliberately simple for members and deliberately controlled for admins: accounts are real WordPress users, and every new member generates their encryption keys on first sign-in — in their own browser.

Get your account

An admin invites you from the chat roster (or standard WordPress registration). You receive the usual WordPress welcome email with a link to set your password.

Create your chat passphrase

On first sign-in, your browser generates your encryption keypair and wraps the private key with a passphrase only you know. The server stores the wrapped blob — it can never read your messages.

Add a passkey (optional)

Register a WebAuthn passkey so future unlocks are one touch — no passphrase typing on your own devices.

Join in

Browse public channels, start DMs, hop into a voice room, pick your theme colors, and say hi to Hermes.

Admins: invite from the APIrest
POST /wp-json/all2one/v1/create-user
{ "username": "maya", "email": "maya@example.com" }

# role is always subscriber; WordPress emails
# the new member their password-setup link

Security note

Encrypted by default. Keys stay with you.

Private keys are generated client-side and stored only in passphrase-wrapped form. Attachments, voice memos, and TTS audio upload as encrypted .enc blobs and decrypt in the recipient's browser. Public channels use a shared server key so new members can read history; private conversations are readable only by their participants. Passkeys (WebAuthn) unlock your keys without ever exposing them.

Ciphertext at rest

Your server. Your people. Your keys.

Stop renting your community's conversations.

If you already run WordPress, you already run everything All2One SiteChat needs. Create your account, set your passphrase, and your community has an encrypted home in minutes.