Quickstart¶
This walkthrough gets you from install to a live WhatsApp feed in about five minutes.
1. Run the setup wizard¶
The interactive wizard configures your WhatsApp connection, media storage, database, dashboard
theme, logging, and (optionally) AI providers. Everything is saved to ~/.pywacli/config.json.
You can re-run it any time, or open it again with pywacli config.
See Configuration for every option in detail.
2. Connect WhatsApp¶
In a terminal you'll keep open, start the connection:
A QR code prints in the terminal. On your phone:
- Open WhatsApp → Settings → Linked Devices → Link a Device
- Scan the QR code shown in the terminal
Once linked, you'll see Connected as …. This terminal now owns the single WhatsApp socket:
it streams events, saves them to the database, and hosts a small local command server so other
commands (like Send) can reach the same connection.
Keep this terminal open
connect holds the live WhatsApp session. The dashboard, send, and automate flows talk to it.
Press Ctrl+C to disconnect cleanly.
3. Watch it live¶
In a second terminal:
The Rich dashboard shows a real-time message feed and database statistics, refreshed on the interval you configured. Send yourself a WhatsApp message and watch it appear.
4. Send a message¶
Pick a recent contact (or type a number), choose a quick message or type your own, and it's
delivered through the live connect session. See the Send guide.
5. Let AI reply for you (optional)¶
Pick a contact, a skill (sales, support, translator, conversation clone, …), and a provider (Ollama, OpenAI, Gemini, Claude, GLM). PyWacli watches for new messages and replies automatically. See the AI Automate guide.
The interactive menu¶
Prefer a menu? Just run:
P Y W A C L I M E N U
1 Dashboard Launch the WhatsApp dashboard
2 Config Open configuration menu
3 Connect Connect WhatsApp (QR) — keep this terminal open
4 Send Send a WhatsApp message
5 Automate AI-powered automated chat
6 Media Browse stored media
7 Init Install Node.js (Baileys) dependencies
0 Exit Exit the application
The menu shows a live indicator for whether a connect session is running in another terminal.