Features
Complete feature overview of Whatszara — from multi-LLM support to the permission system to the undo journal.
WhatsApp-Powered Control
Control your desktop from any phone via WhatsApp. No app to install — it works where you already chat. Send a message, and the LLM interprets it, validates it against policy, and executes it on your desktop.
6 LLM Providers
Ollama (local, offline), Claude, Groq, Grok (xAI), Gemini, and Vercel AI SDK. All implemented as a unified ProviderRegistry trait in Rust. Switch providers at runtime from the GUI. Live model list fetching for Ollama.
Per-Tool Permissions
Each tool category — Shell, File Access, Media Control, App Launching, WhatsApp — is independently toggleable. Shell is DISABLED by default. You must explicitly enable it. Configure from the Permissions tab in the GUI.
Structured Actions
No free-form shell execution. Actions are typed: open_app, set_volume, play_media, get_volume, list_images, send_file. Each action carries its params for logging, undo, and audit trails.
Undo Journal
Every action is logged with a reverse action. Undo volume changes, pause music, revert file operations. Per-contact undo support — only the user who performed an action can undo it.
Contact Modes
Four modes per contact: Assistant (full control), Chat (text only), Summarize (2-3 sentence summary), Blocked (rejected). Default mode is Summarize for non-configured contacts.
WhatsApp Allowlist
Only approved WhatsApp numbers can control the assistant. Default: only 'self' is allowed. Add contacts via the GUI. Non-allowed contacts get summarized or blocked.
Zero Python
100% Rust + Go. No interpreters, no virtualenvs, no pip, no requirements.txt. One-click setup.sh installs everything — just Go, Node.js, and Rust. CI builds multi-platform binaries.
Contacts GUI with Search
Searchable contacts table in the Permissions tab. Toggle allowlist membership and set per-contact modes (Assistant/Chat/Summarize/Blocked) directly from the GUI. No more manual JID entry.
Permanent WhatsApp Auth
WhatsApp session is automatically saved to the macOS/iCloud Keychain on first connect. On subsequent launches, the session is restored from Keychain — no QR scan needed. Logout button on the Dashboard to clear the saved session.
Built-in Chat View
Full chat interface with searchable contact list, message history display (incoming/outgoing bubbles with timestamps), and a pending actions panel for reviewing and approving/rejecting high-risk operations.