WhatsApp uses a Node.js bridge that connects via WebSocket. You’ll need Node.js installed.
Setup
- Make sure Node.js is installed (
node --version) - Link your WhatsApp account:
kyber channels loginThis starts the bridge and shows a QR code. Scan it with WhatsApp on your phone (Settings → Linked Devices → Link a Device).
- Enable in config:
{
"channels": {
"whatsapp": {
"enabled": true,
"bridgeUrl": "ws://localhost:3001",
"allowFrom": ["+1234567890"]
}
}
}- Start the gateway:
kyber gatewayFields
| Field | Type | Default | Description |
|---|---|---|---|
enabled | bool | false | Enable the WhatsApp channel |
bridgeUrl | string | ws://localhost:3001 | WebSocket URL of the Node.js bridge |
allowFrom | array | [] | Phone numbers allowed to interact (with country code) |
How it works
The WhatsApp bridge runs as a separate Node.js process that maintains the WhatsApp Web session. Kyber connects to it over WebSocket. The bridge handles message sending/receiving while Kyber handles the AI responses.
Session persistence
The bridge stores session data locally. Once linked, you don’t need to scan the QR code again unless you unlink the device from your phone.
Security note
The WhatsApp session data in ~/.kyber/ gives full access to your WhatsApp account. Treat the ~/.kyber/ directory as sensitive.