Channels
Resonant supports multiple communication channels. Your companion is the same entity across all of them — same memory, same identity, same conversation history.
Web UI
The default interface. Runs at http://localhost:3002 after starting Resonant.
Features:
- Real-time streaming with tool call visualisation
- Thread management (daily rotation + named threads)
- Keyword search (Ctrl+K) and semantic search
- Canvas editor (markdown, code, text, HTML)
- Message reactions and reply-to
- Voice recording with transcription
- Text-to-speech responses
- File sharing and image preview
- Themeable via CSS variables
- PWA support — installable on mobile
Password Protection
Set a password in resonant.yaml or via Settings > Preferences:
auth:
password: "your-password"
Discord
Full Discord bot integration with per-server configuration.
Setup
- Create a bot at discord.com/developers
- Enable the Message Content Intent under Bot settings
- Generate an invite URL with
botandapplications.commandsscopes - Add the bot to your server
- Configure in
resonant.yaml:
channels:
discord:
enabled: true
token: "your-bot-token"
- Restart Resonant — the bot comes online automatically
How It Works
- Responds to DMs and @mentions in configured channels
- Per-server and per-channel rules (set via Settings or chat commands)
- Pairing system — link your Discord identity to your Resonant identity
- Full message formatting with embeds
- File and image sharing
Managing Discord
Through the Settings page or chat:
- Enable/disable per channel
- Set response rules (always respond, mentions only, off)
- Manage pairings between Discord users and companion identities
Telegram
Direct messaging through a Telegram bot.
Setup
- Chat with @BotFather on Telegram
- Run
/newbotand follow the prompts to create your bot - Copy the token BotFather gives you
- Configure in
resonant.yaml:
channels:
telegram:
enabled: true
token: "your-telegram-token"
- Restart Resonant
How It Works
- Responds to private messages and group mentions
- Media sharing (images, voice notes, files)
- Voice notes are automatically transcribed
Voice
Resonant supports both voice input and voice output.
Voice Input (Speech-to-Text)
Record voice messages in the web UI. They’re transcribed using Groq Whisper and sent as text messages to your companion.
Configure in resonant.yaml:
voice:
stt:
provider: groq
apiKey: "your-groq-key"
Voice Output (Text-to-Speech)
Your companion can speak its responses using ElevenLabs.
voice:
tts:
provider: elevenlabs
apiKey: "your-elevenlabs-key"
voiceId: "your-voice-id"
Prosody Analysis (Optional)
With Hume AI, Resonant can analyse the emotional tone of voice messages — not just what was said, but how it was said.
voice:
prosody:
provider: hume
apiKey: "your-hume-key"
Push Notifications
Web push notifications via VAPID. Your companion can notify you even when the browser tab is closed.
Managed through Settings > Devices in the web UI. Each browser/device registers separately.
All Channels, One Companion
The key principle: every channel connects to the same backend. A message sent on Discord and a message sent in the web UI are part of the same conversation history. Your companion remembers everything across all channels.
This means your companion can reference a Discord conversation while chatting on the web, or follow up on a Telegram message during a scheduled autonomous session.