WhatsApp CLI
Go-утилита с JSON-ответами: агент читает чаты WhatsApp, ищет сообщения и контакты и отправляет тексты от вашего номера
- 206 ★ репозитория
- Последний коммит
Широкий доступ
Почему такой уровень
- Дает агенту чтение всей переписки и отправку сообщений от вашего имени, включая группы
- Файл `store/whatsapp.db` хранит данные входа в аккаунт, а неофициальный протокол может привести к блокировке номера
Установка
- Работает в
Ручная установка
brew install vicentereig/tap/whatsapp-cliРекомендуемый способ. Альтернативы: готовые бинарники из релизов, `go install github.com/vicentereig/whatsapp-cli@latest`, сборка из исходников (Go 1.24 и новее).
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Дает агенту чтение всей переписки и отправку сообщений от вашего имени, включая группы
- Файл `store/whatsapp.db` хранит данные входа в аккаунт, а неофициальный протокол может привести к блокировке номера
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
WhatsApp CLI — одиночный бинарник на Go для личного аккаунта WhatsApp. Он подключается к мультиустройственному протоколу WhatsApp Web через библиотеку `whatsmeow`, а каждая команда возвращает ответ в JSON. Благодаря этому Claude Code, Codex и обычные скрипты читают чаты, ищут сообщения и контакты, выгружают медиа и отправляют текст в личные и групповые диалоги. Вход выполняется один раз по QR-коду командой `whatsapp-cli auth`, дальше сессия живет около 20 дней. Команда `whatsapp-cli sync` складывает сообщения в локальную базу SQLite, поэтому поиск `whatsapp-cli messages search` не ходит в сеть. Ключи сессии лежат в `store/whatsapp.db`, а история переписки в `store/messages.db`.
Для кого. Разработчикам и операторам, которые хотят дать агенту или скрипту доступ к собственному WhatsApp: напоминания, отчеты по cron, выгрузка переписки.
Подходит, если
- Скрипт по расписанию отправляет вам или команде утренний отчет в WhatsApp
- Агент должен найти в переписке договоренность по ключевому слову и показать нужные сообщения
- Историю чата надо выгрузить в JSON и разобрать через jq или Python
- Бот следит за входящими сообщениями и реагирует на ключевые фразы, пока вы заняты
Не подходит, если
- Нужен официальный WhatsApp Business API для рассылок клиентам: утилита работает как связанное устройство личного аккаунта
- Блокировка номера недопустима: используется неофициальный протокол WhatsApp Web
- Машина общая, а доступ к `store/whatsapp.db` нельзя защитить: файл дает вход в аккаунт
- Сообщения требуется отправлять с нескольких номеров сразу: утилита рассчитана на один аккаунт
Пример запроса к агенту
Найди в моем WhatsApp сообщения со словом «договор» за последнюю неделю и покажи, кто и когда их писалОграничения
- Утилита неофициальная и построена на протоколе WhatsApp Web. Автор считает вероятность блокировки низкой, но гарантий не дает.
- Файл `store/whatsapp.db` хранит данные входа в аккаунт, его защищают как пароль и не коммитят в git.
- Сессия живет около 20 дней, потом нужен новый вход по QR-коду. WhatsApp разрешает до пяти связанных устройств.
- После обновлений WhatsApp библиотека может отвечать ошибкой `Client outdated (405)` и закрывать соединение, и тогда требуется обновить зависимость `whatsmeow`.
Как отключить. В приложении WhatsApp откройте «Связанные устройства» и удалите устройство утилиты. Затем сотрите папку `store/` (там сессия и история), а сам бинарник удалите менеджером пакетов Homebrew или вручную.
Частые вопросы
Как поставить WhatsApp CLI?
Проще всего через Homebrew: `brew install vicentereig/tap/whatsapp-cli`. Есть готовые бинарники для Linux, macOS и Windows на странице релизов, сборка из исходников и `go install github.com/vicentereig/whatsapp-cli@latest`.
Как войти в аккаунт?
Выполните `whatsapp-cli auth`: в терминале появится QR-код, который сканируют в приложении WhatsApp через связанные устройства. Затем `whatsapp-cli sync` загружает сообщения в локальную базу.
Как отправить сообщение?
Командой `whatsapp-cli send --to 1234567890 --message "Привет"`. В поле `--to` можно указать номер, JID личного чата или JID группы с суффиксом `@g.us`.
Куда уходят мои сообщения?
По словам автора, данные остаются на вашей машине: переписка хранится в локальном SQLite, облачной синхронизации нет, трафик идет по зашифрованному протоколу WhatsApp Web.
Можно ли отключить агента от аккаунта?
Да. Удалите устройство в разделе связанных устройств WhatsApp на телефоне, и сессия станет недействительной. Файлы в `store/` после этого можно стереть.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыMCP-сервер к личному аккаунту WhatsApp: поиск и чтение переписки, контакты, отправка сообщений и файлов через агента
WhatsApp MCP от Very Good Plugins
WhatsApp MCP by Very Good Plugins
MCP-сервер к личному WhatsApp: чтение и поиск переписки, отправка текста и файлов, реакции, голосовые и расшифровка
MCP-сервер читает историю вашего WhatsApp через связанное устройство, чтобы агент находил сообщения и готовил сводки.
Telegram MCP от chaindead
Telegram MCP
MCP-сервер на Go для вашего Telegram: агент читает диалоги и непрочитанное, отмечает прочитанным, ответы кладет в черновики
WeCom CLI
wecom-cli
Официальный CLI WeCom и 15 навыков для агентов: сообщения, документы, календарь, встречи, почта и диск из терминала
Claude-to-IM
claude-to-im
Мост между Claude Code или Codex и мессенджерами: общайтесь с агентом из Telegram, Discord, Feishu, QQ или WeChat
Коротко о README
README задуман как полный справочник для людей и языковых моделей. Он начинается с обзора и четырех способов установки, затем идут быстрый старт, описание каждой команды с флагами и примерами, формат JSON-ответов, примеры сценариев с cron и выгрузкой чатов и фрагменты для Python и Node.js. Заканчивается справочник моделью данных, хранением, разделом безопасности, архитектурой и поиском неполадок.