Getting Started
Set up Whatszara in under a minute. No Python required. Just Go, Node.js, and Rust.
Prerequisites
- Go — for the WhatsApp bridge (whatsmeow)
- Node.js 20+ + Rust — for the Tauri desktop app
- FFmpeg — optional, for audio message support
Python is NOT required.
One-Click Setup
chmod +x setup.sh && ./setup.sh # Or using Make: make setup
This installs Go, Node.js, Rust, and all dependencies automatically.
Run Whatszara
You need two terminals:
1. Start WhatsApp Bridge
make bridge
Scan the QR code with your WhatsApp mobile app to link your account. The session is automatically saved to your platform-native credential store — on next launch, no QR scan is needed.
Optionally set API_KEY env var to require Bearer auth on the bridge REST API.
2. Start Desktop App
make desktop
The Tauri app opens with a dashboard showing provider status and action log.
WhatsApp Ban Warning
Whatszara uses the WhatsApp Web multidevice API via the Go bridge (whatsmeow). This is an unofficial client and may carry a risk of account bans if used aggressively.
Best Practices
- • Use a secondary WhatsApp number if possible
- • Avoid sending bulk messages at high frequency
- • Keep the bridge connected — frequent reconnects increase risk
- • Monitor the ban warning banner in the desktop app dashboard
- • Consider disabling the bridge when not in active use
The ban warning banner is enabled by default and will alert you if unusual activity is detected.
Configure Mesh API
Whatszara uses Mesh API (meshapi.ai) as its single LLM router — one API key gives access to 1000+ models including Claude, GPT, Gemini, Groq, and more.
Get a Key
Sign up at meshapi.ai to get your rsk_... API key.
Set Endpoint
Enter the endpoint URL (https://meshapi.ai) in the Settings tab and click Apply.
Per-Model API Keys (BYOK)
Some models require their own API key to be set via Mesh API headers:
x-mesh-openai-key: sk-... x-mesh-anthropic-key: sk-ant-... x-mesh-groq-key: gsk-...
Configure these in the Settings tab alongside your Mesh API key. They are persisted to the Keychain via Save Config.
The live model browser in the Settings tab fetches all available models from GET /v1/models — pick any model and it auto-selects as the active provider.
Persistent Configuration
Whatszara stores two things in the platform-native credential store for persistence across restarts:
WhatsApp Session
Auto-saved on first connect. Restored on startup — no QR scan needed on subsequent launches.
Policy Config
Allowlist, tool permissions, contact modes, and provider settings. Auto-saved on change. Restored on startup. Save/Load/Clear buttons in Settings tab.
Understanding the Approval Flow
When an AI action requires approval, here is what happens:
Choose a Chat Style
Before you start chatting, pick a personality for your AI. Open the Settings taband select a chat style from the dropdown:
You can also select Custom and write your own system prompt for full personality control.
Send Your First Command
Once everything is running, send a WhatsApp message to your linked number:
Example messages:
- "What is my current volume level?" — reads system volume (auto-executes)
- "Open Firefox" — launches the app (requires approval)
- "Set volume to 30%" — changes system volume (requires approval)
- "Show me my desktop images" — scans for images (auto-executes)