Wa Llm
БесплатноНе проверенA WhatsApp bot that can participate in group conversations, powered by AI. The bot monitors group messages and responds when mentioned.
Описание
A WhatsApp bot that can participate in group conversations, powered by AI. The bot monitors group messages and responds when mentioned.
README
AI-powered WhatsApp bot that joins any group, tracks conversations, and generates intelligent summaries.
Features
- 🤖 Automated group chat responses (when mentioned)
- 📝 Smart LLM-based conversation summaries
- 📚 Knowledge base integration for context-aware answers
- 📂 Persistent message history with PostgreSQL +
pgvector - 🔗 Support for multiple message types (text, media, links)
- 👥 Group management & customizable settings
- 🔕 Opt-out feature: Users can opt-out of being tagged in summaries/answers via DM.
- ⚡ REST API with Swagger docs (
localhost:8000/docs)
🐳 Docker Compose Configurations
This project includes multiple Docker Compose files for different environments:
| File | Purpose | Usage |
|---|---|---|
docker-compose.yml |
Default/Development. Builds the application from source code. | docker compose up -d |
docker-compose.prod.yml |
Production. Uses pre-built images from GHCR. Recommended for deployment. | docker compose -f docker-compose.prod.yml up -d |
docker-compose.local-run.yml |
Local Execution. For running the app on host while services run in Docker. | docker compose -f docker-compose.local-run.yml up -d |
docker-compose.base.yml |
Base Configuration. Contains shared service definitions. | ❌ Do not use directly |
📋 Prerequisites
- 🐳 Docker and Docker Compose
- 🐍 Python 3.13+
- 🗄️ PostgreSQL with
pgvectorextension - 🔑 Voyage AI API key
- 📲 WhatsApp account for the bot
Quick Start
1. Clone & Configure
git clone https://github.com/YOUR_USER/wa_llm.git cd wa_llm
2. Create .env file
- Copy
.env.exampleto.envand fill in required values.
cp .env.example .env
Environment Variables
| Variable | Description | Default |
|---|---|---|
WHATSAPP_HOST |
WhatsApp Web API URL | http://localhost:3000 |
WHATSAPP_BASIC_AUTH_USER |
WhatsApp API user | admin |
WHATSAPP_BASIC_AUTH_PASSWORD |
WhatsApp API password | admin |
VOYAGE_API_KEY |
Voyage AI key | – |
DB_URI |
PostgreSQL URI | postgresql+asyncpg://user:password@localhost:5432/postgres |
LOG_LEVEL |
Log level (DEBUG, INFO, ERROR) |
INFO |
ANTHROPIC_API_KEY |
Anthropic API key. You need to have a real anthropic key here, starts with sk-.... | – |
LOGFIRE_TOKEN |
Logfire monitoring key, You need to have a real logfire key here | – |
DM_AUTOREPLY_ENABLED |
Enable auto-reply for direct messages | False |
DM_AUTOREPLY_MESSAGE |
Message to send as auto-reply | Hello, I am not designed to answer to personal messages. |
3. Starting the Services
Option A: Development (Build from source)
docker compose up -d
Option B: Production (Use pre-built images)
docker compose -f docker-compose.prod.yml up -d
4. Connect your device
- Open http://localhost:3000
- Scan the QR code with your WhatsApp mobile app.
- Invite the bot device to any target groups you want to summarize.
- Restart service:
docker compose restart wa_llm-web-server
5. Activating the Bot for a Group
open pgAdmin or any other posgreSQL admin tool
connect using
Parameter Value Host localhost Port 5432 Database postgres Username user Password password run the following update statement:
UPDATE public."group" SET managed = true WHERE group_name = 'Your Group Name';Restart the service:
docker compose restart wa_llm-web-server
6. API usage
Swagger docs available at: http://localhost:8000/docs
Key Endpoints
- /load_new_kbtopic (POST) Loads a new knowledge base topic, prepares content for summarization.
- /trigger_summarize_and_send_to_groups (POST) Generates & dispatches summaries, Sends summaries to all managed groups
7. Opt-Out Feature
Users can control whether they are tagged in bot-generated messages (summaries, answers) by sending Direct Messages (DMs) to the bot:
| Command | Description |
|---|---|
opt-out |
Opt-out of being tagged. Your name will be displayed as text instead of a mention. |
opt-in |
Opt-in to being tagged (default). |
status |
Check your current opt-out status. |
Note: This only affects messages generated by the bot. It does not prevent other users from tagging you manually.
🚀 Production Deployment
To deploy in a production environment using the optimized configuration:
Create Production Environment File: Copy
.env.exampleto.env.prodand configure your production secrets.cp .env.example .env.prodStart Services:
docker compose -f docker-compose.prod.yml up -d
This configuration includes:
- Automatic restart policies (
restart: always)
Developing
Setup
Install dependencies using uv:
uv sync --all-extras --dev
Development Commands
The project uses Poe the Poet for task automation with parallel execution:
# Run all checks (format, then parallel lint/typecheck/test)
uv run poe check
# Individual tasks
uv run poe format # Format code with ruff
uv run poe lint # Lint code with ruff
uv run poe typecheck # Type check with pyright
uv run poe test # Run tests with pytest
# List all available tasks
uv run poe
The check command runs formatting first, then executes linting, type checking, and testing in parallel for faster execution.
Key Files
- Main application:
app/main.py - WhatsApp client:
src/whatsapp/client.py - Message handler:
src/handler/__init__.py - Database models:
src/models/
Architecture
The project consists of several key components:
- FastAPI backend for webhook handling
- WhatsApp Web API client for message interaction
- PostgreSQL database with vector storage for knowledge base
- AI-powered message processing and response generation
Contributing
- Fork the repository
- Create a feature branch
- Submit a pull request
License
Установка Wa Llm
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/ilanbenb/wa_llmFAQ
Wa Llm MCP бесплатный?
Да, Wa Llm MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Wa Llm?
Нет, Wa Llm работает без API-ключей и переменных окружения.
Wa Llm — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Wa Llm в Claude Desktop, Claude Code или Cursor?
Открой Wa Llm на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Wa Llm with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
