Guide

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:

macOS: iCloud Keychain
Windows: Credential Manager
Linux: Secret Service

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:

1
Action proposed — You send a message like "Open Firefox". The LLM interprets it and proposes a tool call.
2
Risk assessed — Low-risk actions (read volume, list files) execute immediately. Medium/high-risk actions go to a pending queue.
3
Approve in GUI — Open the desktop app's Chat tab. A pending actions panel shows the action with Approve / Reject buttons.
4
Result sent — Action executes. The result is logged in the undo journal and sent back to you via WhatsApp.

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:

Professional 💼
Casual 😊
Friendly 🤗
Witty 😏
Formal 🎩
Minimal ▪️
Empathetic 💛
Enthusiastic 🎉
Technical ⚙️

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)