Задачи для агента
Поручайте агенту задачи WhatsApp: обзор переписки, вопросы, контекст и локальные проверки по расписанию.
Используйте эту страницу, если вы хотите, чтобы ваш AI-агент (например, Claude Code, Codex, Cursor или Gemini CLI) выполнял регулярную работу с вашим WhatsApp: утреннюю сводку, отчет по чату, кто что должен, на что вы не ответили. Каждый рецепт дает вам запрос на копирование, команды, которые может выполнять агент, и пишет ли он что-нибудь в WhatsApp. В конце концов, вы можете запускать агент по расписанию, с ограничениями, которые он не может обойти.
Условия на этой странице:
- Агент — программа искусственного интеллекта, которая выполняет за вас команды на вашем компьютере.
- Skill — файл, который сообщает агенту, как использовать
wa.wa skill installпомещает его туда, где его ищет агент. - Клиент MCP — приложение ИИ без терминала, например Claude Desktop. Он достигает
waчерез сервер MCP.wa personal mcpвместо запуска команд. - Безголовый режим — агент принимает один запрос, выполняет его и выходит без разговора. Claude Код называет это
режим
-p; Кодекс называет егоcodex exec. - cron — планировщик, встроенный в Linux и macOS. Он запускает команду в установленное время.
Что делают рецепты
Каждый приведенный ниже рецепт считывает локальное хранилище, которую wa personal serve сохраняет с вашего телефона. Чтения никогда не подключаются к WhatsApp, поэтому они выполняются рядом с serve.
| Рецепт | Пишет в WhatsApp | Соответствует графику |
|---|---|---|
| Утреннее резюме | нет | да |
| Еженедельный отчет по чату | нет | да |
| Кто что должен | нет | да |
| На что вы не ответили | нет | да |
| Найдите то, что было сказано | нет | да |
| Проект ответа | только после твоего «да» | нет |
Однажды, сначала
-
Установите
waи свяжите его: см. установка и связывание. -
Оставьте локальное хранилище заполненной:
wa personal server install, затемwa personal server start.wa personal server statusговорит, работает ли он. -
Дайте агенту навык:
wa skill installНавык находится в папках Claude Code (
~/.claude/skills/whatsapp-cli/) и Codex и Gemini CLI (~/.agents/skills/whatsapp-cli/).wa skill showпечатает тот же текст, если ваш агент хранит навыки где-то еще. -
Сохраните приведенные ниже запросы в файлы, например в
~/wa-recipes/. Команды расписания читают запрос из файла.
Клиенту MCP не нужны навыки. Подключите сервер MCP (wa personal mcp config распечатает запись его настроек); см. сервер MCP.
Что может делать агент
Агент по расписанию работает без вас, поэтому лимиты ставьте в настройках, а не в запросе. Агент может неправильно прочитать фразу «ничего не отправлять». Он не может обойти настройку, которую нельзя изменить.
Ограничить возможности запуска агента. Это настройка агента. Например, Claude Code в режиме -p выполняет только команды из --allowedTools. Если в списке нет wa personal messages send, агент не сможет его вызвать:
claude -p "$(cat ~/wa-recipes/morning.md)" --allowedTools "Bash(wa personal inbox:*)"Ограничьте возможности профиля. Это работает для каждого агента:
wa personal config set permissions.messages readonly
wa personal config set permissions.reactions readonly
wa personal config set permissions.polls readonly
wa personal config set permissions.chats readonly
wa personal config show # check the permissions in force
wa personal config set sends_per_hour 5 # or: at most five sends an hour
wa personal recipients add 100000000000001@lid # and only to the chats on this listreadonly на одном ресурсе не распространяется на остальные: messages сам по себе позволяет агенту реагировать или отмечать чат как прочитанный. recipients add просматривает чат в WhatsApp и подключается; пока serve работает, он работает внутри serve при его подключении. permissions также ограничивает ваши собственные команды, пока вы не измените их обратно: wa personal config unset permissions.messages. Чтобы ограничить только агента, дайте ему собственный профиль. Все попытки отправки, включая отклоненные, записываются в wa personal sends list. См. разрешения.
Никогда массово и никогда незнакомцам. WhatsApp блокирует учетные записи, которые отправляют сообщения множеству людей одновременно или на номера, которые им никогда не писали. Ни один рецепт здесь не отправляется сам по себе.
Чтение ничего не дает. Ни одна команда в рецептах ниже не отмечает прочитанное: никто не увидит, что агент открыл чат. Только chats mark-read отправляет уведомление о прочтении.
Работа по расписанию
-
Запланированные задачи Claude Desktop. Задача запускается на вашем компьютере, поэтому у нее есть
waи ваш хранилище. См. Запланированные задачи Claudeа. -
cron и
claude -p. Приложение не требуется, на любом компьютере, который включен в данный момент:30 8 * * * claude -p "$(cat ~/wa-recipes/morning.md)" --allowedTools "Bash(wa personal inbox:*)" >> ~/wa-recipes/morning.log 2>&1cron запускает задания с почти пустой средой. Если узел создан из nvm, fnm или Volta, его нет в cron
PATH, и задание завершается с ошибкойnode: not found, код выхода 127. Поместите папкуwhich nodeвверхуcrontab -e:PATH=/home/you/.nvm/versions/node/v24.0.0/bin:/usr/local/bin:/usr/bin:/binЗапустите первое задание вручную и прочитайте журнал. См. Безголовый режим Claudeа.
-
cron и
codex exec. То же самое для Кодекса. Его песочница по умолчанию закрывает записи файлов, аwaзаписывает свои записи выполнения и сохраненную точку--new:30 8 * * * codex exec --sandbox danger-full-access "$(cat ~/wa-recipes/morning.md)" >> ~/wa-recipes/morning.log 2>&1 -
Внутри открытого сеанса Claude Code:
/loopили «Напомни мне в 15:00». Это работает, пока сессия открыта.
Облачные процедуры Claudeа не подходят: они запускаются на другом компьютере, где нет ни wa, ни вашего хранилища.
Утренний обзор
Меняет данные в WhatsApp: нет. Разрешить: Bash(wa personal inbox:*).
Запустите
wa personal inbox --new --json. Группируйте сообщения по чату. Для каждого чата одна строка: кто и что пишет хочу. Поставьте на первое место то, что требует ответа сегодня.
--new показывает каждое сообщение один раз. wa запоминает, где он остановился в каждом чате, и следующий запуск начинается там.
С каких пор это "новое"
wa personal inbox— непрочитанные сообщения других людей.wa personal inbox --new— с момента последнего запуска--new. Толькоwaзнает эту точку; никто больше этого не видит.wa personal inbox 'date>2d'— последние два дня; сохраненная точка остается там, где она была.
Никто из них не отмечает ничего прочитанным. kind:dialog поддерживает индивидуальные чаты, kind:group группы.
Еженедельный отчет по чату
Пишет в WhatsApp: нет. Разрешить: Bash(wa personal messages list:*).
Читайте последние 7 дней группы
[email protected]:wa personal messages list [email protected] "date>7d" --limit 200 --json. Если в ответе естьpage.nextшаг, следуй за ним. Напишите отчет: что решено, кто, что и когда взял на себя, какие вопросы еще открыты. Укажите каждому пункту дату и автора.
В хранилище хранится то, что телефон отправил, когда подключился wa, и то, что serve получил с тех пор. Более старой версии нет, пока wa personal messages sync [email protected] не запросит ее у телефона (старая история).
Кто что должен
Пишет в WhatsApp: нет. Разрешить: Bash(wa personal review:*), Bash(wa personal messages context:*), Bash(wa personal search messages:*).
Запуск
wa personal review --new --json(первый раз, последние 3 дня; затем с последнего--new, по баллу за каждый чат). Разложите его на три списка: что я должен, чего жду от других, что требует уточнения. Дайте каждому баллу это чат, дата и идентификаторы сообщений, на которых он основан. Если в ответе написано"complete": false, скажите мне, чего не хватает.
review и serve также хранят список задач: wa personal tasks list state:open показывает, что вас ждет (группы).
Что ты не ответил
Пишет в WhatsApp: нет. Разрешить: Bash(wa personal review:*).
Запустите
wa personal review 'date>7d' --unanswered --json. Показать вопросы, на которые никто не ответил: кто задавал, в каких чат, и как давно.
Найдите то, что было сказано
Пишет в WhatsApp: нет. Разрешить: Bash(wa personal search messages:*), Bash(wa personal messages context:*).
Найдите «счет-фактуру» с помощью
wa personal search messages invoice --json. Для каждого попадания читайтеwa personal messages context <locator> --jsonи скажи мне, кто что сказал и когда.
Поиск читает только локальное хранилище. См. поиск.
Составьте ответ
Пишет в WhatsApp: только после вашего да. Это для разговора с агентом, а не для расписания.> Прочитайте последние 20 сообщений чата 100000000000001@lid и предложите ответ на свой последний вопрос. Не
отправь — покажи мне текст.
Как только вы согласитесь, агент отправит его: wa personal messages send 100000000000001@lid "…". Пока работает serve, отправка осуществляется через соединение serve (одно соединение на устройство); там он не может спрашивать, поэтому на уровне разрешений ask ему нужен --yes. Клиент MCP спрашивает вас перед каждой записью, если вы не оставите в нем wa_write неутвержденным.