Releases: xbirimensah/whatsapp-bridge
Releases · xbirimensah/whatsapp-bridge
Release list
v0.2.1 - redesigned web UI, status filtering, hardening
Polish release: redesigned web UI plus fixes.
- Redesigned web UI (Beeper-inspired dark inbox): sidebar with search + All/Unread/Groups filter chips, compact WhatsApp-style bubbles with inline timestamps, refined group receipts and reactions
- Demo mode: open
/?demo=1to preview the full inbox with mock data - no pairing, no token - Statuses fixed:
status@broadcastand broadcast lists no longer appear as conversations, and the autoreply sidecar never drafts or auto-replies to them - Bug fixes: stale-response race when switching chats/sessions, media blob memory leak, reaction picker event handling
- Hardening:
nosniff+Referrer-Policyon all responses,Cache-Control: no-storeon API JSON
v0.2.0 - bring your own LLM + history-grounded drafts
The autoreply sidecar no longer assumes Claude Code or an external notes source. Bring any LLM, and drafts ground themselves in your own WhatsApp history out of the box.
Bring your own LLM
AUTOREPLY_LLM_PROVIDER selects the backend for draft generation:
claude-cli(default) - the localclaudeCLI, no API key neededanthropic- Anthropic Messages API via the official SDK (AUTOREPLY_LLM_API_KEYorANTHROPIC_API_KEY)openai- ANY OpenAI-compatible chat-completions endpoint: OpenAI, OpenRouter, Groq, Mistral, and local runtimes like Ollama or LM Studio (AUTOREPLY_LLM_BASE_URL+AUTOREPLY_LLM_MODEL; key optional for local endpoints)
Drafts grounded in your own message history
- Reference context from WhatsApp history: each draft now sees the recent conversation with that chat plus keyword matches across all stored messages - no external "second brain" required
- Style corpus auto-build: if no style corpus exists when the first draft is generated, one is built automatically from your own sent messages
npm run autoreply:build-corpusno longer fails without a notes source - it falls back to a WhatsApp-only corpus
Config
# example: OpenRouter
AUTOREPLY_LLM_PROVIDER=openai
AUTOREPLY_LLM_BASE_URL=https://openrouter.ai/api/v1
AUTOREPLY_LLM_API_KEY=sk-or-...
AUTOREPLY_LLM_MODEL=anthropic/claude-sonnet-4.6Full reference: docs/autoreply.md
v0.1.0 - notification channels + guided setup
Self-hosted WhatsApp bridge for AI agents: one paired number exposed via REST, MCP, and a web UI, built on Baileys with a single SQLite file for storage.
Highlights
- REST API (
127.0.0.1:8080/v1) - conversations, messages, send, aliases, webhook test - MCP server (stdio) - ~20 tools for Claude Code, Codex, or any MCP-capable agent, with a safety contract in
AGENTS.md - Web UI - single-page inbox with bearer-token login
- Inbound webhook - every received message POSTed to a URL of your choice, with retries
- Full history backfill on first pair, LID/phone alias merging, display-name resolution
- Autoreply sidecar (optional) - drafts replies in your own voice via Claude, delivers them for review, and can auto-send under strict safety gates (confidence threshold, sensitive-topic blocks, cooldowns, group protection)
New in this release
- Selectable notification channels: draft notifications can now go to Telegram, Slack, your own WhatsApp number (self-chat or a second number, sent through the bridge itself), or a generic webhook - pick one with
AUTOREPLY_NOTIFY_CHANNEL - Guided setup wizard:
npm run autoreply:setup-notifywalks you through credentials per channel, writes.env, and sends a test notification - Loop protection: the WhatsApp notify chat is excluded from autoreply processing, so notifications can never generate drafts about themselves
- SOPs: step-by-step setup guides for humans (
docs/sop-notifications-human.md) and AI agents (docs/sop-notifications-agent.md) - Expanded README: full explanation of the autoreply pipeline, how the confidence threshold and safety gates work, and the notification channels
- Cross-platform guide:
docs/cross-platform.mddocuments the exact patch list for Linux and Windows (WSL2 recommended)
Install
git clone https://github.com/obirimensah05/whatsapp-bridge.git
cd whatsapp-bridge
npm install
npm run pair -- main <countrycode+digits>Requires Node 20+. See the README for pairing, service setup, and the full API table.