CLI tools

Рецепты: агент и ваша переписка

This page is in Russian.

Как поручить Claude Code или Codex регулярную работу с MAX: сводку непрочитанного, отчёт по чату, список долгов и обещаний, напоминания о неотвеченном, присмотр за группой, которую вы ведёте. В каждом рецепте — запрос агенту, что ему разрешено и как запускать по расписанию.

Сначала — один раз

  1. max установлен, вход выполнен: installation.md, sessions.md.

  2. Агент знает, как работать с max, — поставьте ему навык:

    max skill install

    Навык ляжет в папки Claude Code, Codex и Gemini CLI.

  3. Сохраните запросы из рецептов в файлы, например в ~/max-recipes/. Команды расписания ниже читают запрос из файла.

В Claude Desktop, Cursor и других клиентах без терминала навык не нужен: подключите MCP-сервер (max mcp config печатает запись для их настроек) и зовите готовые команды — /catch-up, /review, /reply, /find (mcp.md).

Что агенту можно

Агент по расписанию работает без вас, поэтому ограничения задаются в настройках, а не в запросе. Фразу «ничего не отправляй» агент может понять неправильно, запрет в настройках — нет.

Запрет на уровне агента. Claude Code в режиме -p запускает только команды из --allowedTools. Если max messages send в списке нет, агент не может её вызвать:

claude -p "$(cat ~/max-recipes/morning.md)" --allowedTools "Bash(max inbox:*)"

У Codex такого списка нет. Его песочница по умолчанию закрывает сеть и запись файлов, а max нужно и то и другое: подключиться к MAX и сохранить прочитанное в свою копию. Поэтому Codex запускается с --sandbox danger-full-access, а отправку ограничивают настройки max.

Запрет на уровне max действует на любого агента:

max config set readOnly true           # профиль ничего не отправит
max config set sendsPerHour 5          # или: не больше пяти сообщений в час
max recipients add "Иван Петров"       # и писать только в эти чаты

readOnly запрещает отправку и вам тоже, пока вы его не выключите: max config unset readOnly. Все попытки отправки, в том числе отклонённые, — max sends list.

Чтение не выдаёт вас. Ни одна команда в рецептах ниже не ставит отметку «прочитано»: собеседник не видит, что агент открыл чат.

Как запускать по расписанию

  • Claude Desktop — запланированные задачи. Задача запускается на вашем компьютере, поэтому ей доступен max и ваш вход. Пропущенный запуск (компьютер спал) выполняется один раз после пробуждения. Как настроить — документация Claude.

  • cron и claude -p. Без приложения, на любом компьютере, который включён в это время:

    30 8 * * * claude -p "$(cat ~/max-recipes/morning.md)" --allowedTools "Bash(max inbox:*)" >> ~/max-recipes/morning.log 2>&1

    Задачи cron запускаются в почти пустом окружении, и в Linux это ломает max дважды:

    • node: not found, код 127. Node, поставленный через nvm, fnm или volta, лежит не в системном PATH, а cron знает только системный.
    • no token found for profile "default", although it has logged in on this machine, код 4. max не может достучаться до хранилища паролей и не видит токен. Не входите заново — дело не во входе, а в окружении.

    Обе строки — в начало crontab -e, со своими значениями: папка — из dirname "$(which node)", число — из id -u:

    PATH=/home/ivan/.nvm/versions/node/v24.19.0/bin:/home/ivan/.local/bin:/usr/local/bin:/usr/bin:/bin
    XDG_RUNTIME_DIR=/run/user/1000

    Хранилище паролей доступно, пока вы вошли в систему. Первый запуск проверьте руками и посмотрите в журнал. Про режим -p — документация Claude.

  • cron и codex exec. То же для Codex:

    30 8 * * * codex exec --sandbox danger-full-access "$(cat ~/max-recipes/morning.md)" >> ~/max-recipes/morning.log 2>&1

    Про режим без диалога — документация Codex.

  • Внутри открытой сессии Claude Code — /loop или «напомни в 15:00». Работает, пока сессия открыта (документация Claude).

Облачные задачи Claude (routines) не подходят: они выполняются не на вашем компьютере, и max с вашим входом там нет.

Утренняя сводка

Пишет в MAX: нет. Разрешить: Bash(max inbox:*).

Выполни max inbox --new --json. Сгруппируй сообщения по чатам. Для каждого чата — одна строка: кто пишет и чего хочет. Сверху — то, на что нужно ответить сегодня. Рекламу и уведомления сервисов сведи в одну строку в конце.

--new показывает каждое сообщение один раз: max запоминает, где остановился, и следующий запуск начинает с этого места. Самый первый запуск смотрит на последние 24 часа.

Недельный отчёт по рабочему чату

Пишет в MAX: нет. Разрешить: Bash(max messages list:*).

Прочитай сообщения в чате «Проект Альфа» за последние 7 дней: max messages list "Проект Альфа" --after-time 7d --limit 200 --json. Если в ответе "hasMore": true, читай дальше. Составь отчёт: что решили, кто что взял на себя и к какому сроку, какие вопросы остались без ответа. У каждого пункта — дата и автор.

Кто кому должен

Пишет в MAX: нет. Разрешить: Bash(max review:*), Bash(max messages context:*), Bash(max messages search:*).

Выполни max review --since <конец прошлого обзора> --transcribe --json (без --since — за 3 дня). Разложи на три списка: что должен я, чего я жду от других, что нужно уточнить. У каждого пункта — чат, дата и id сообщений, на которых он основан; срок — только если он назван. Прежде чем назвать что-то просроченным, проверь, не сделано ли это позже или в рабочих группах. Если "complete": false, скажи, чего не хватает. В конце напиши, с какого --since начать следующий обзор, и незакрытые пункты.

Следующий обзор — та же просьба, плюс незакрытые пункты прошлого: агент проверит их первыми. В Claude Desktop и других клиентах MCP это команда /review (mcp.md).

Кому вы не ответили

Короче всего — max review --since 7d --unanswered --json: вопросы, на которые никто не ответил, — в личных чатах вам, в группах вам или админам. Рецепт ниже шире: он ловит и просьбы без вопросительного знака.

Пишет в MAX: нет. Разрешить: Bash(max chats list:*), Bash(max messages list:*).

Выполни max chats list --kind dialog --limit 30 --json. Для каждого чата, где последнее сообщение было за последние 7 дней, прочитай max messages list <id чата> --limit 5 --json. Покажи чаты, где последнее сообщение не от меня и в нём вопрос или просьба: с кем, о чём и сколько дней прошло.

Черновик ответа

Пишет в MAX: только после вашего «да». Это рецепт для разговора с агентом, не для расписания.

Прочитай последние 20 сообщений в чате с Иваном Петровым и предложи ответ на его последний вопрос. Не отправляй — покажи мне текст.

Когда вы согласны, агент отправляет сам: max messages send "Иван Петров" "…". Агент без терминала подключается через max mcp --allow-send --confirm-send: перед каждой отправкой вы видите чат и текст и отвечаете «да» или «нет» (mcp.md).

Группа, которую вы ведёте

Пишет в MAX: только если разрешено правилами группы. Разрешить: Bash(max review:*), Bash(max chats events:*), Bash(max chats members list:*), Bash(max chats check:*).

Выполни max review --chat "Поход" --unanswered 4 --json и max chats check "Поход" --dry-run --json. Коротко: какие вопросы ждут ответа и от кого; что проверка нашла по правилам и что предлагает сделать. Ничего не удаляй сам — перечисли команды, которые сделают это, если я соглашусь.

Все сценарии и правила — groups.md.

Похожие сборники

Для MAX готовых рецептов пока нет. Для Telegram есть:

  • Telegram MCP: полное руководство — утренний разбор входящих, черновики ответов, сводка по каналу, поиск по нескольким чатам. Запросы подходят и для max, если заменить инструменты на команды.
  • pioh/tg — Claude Code и Codex с личным аккаунтом Telegram: сводка раз в N минут, «напомни, если я не ответил маме за 15 минут», наблюдение за людьми и чатами.
  • Gorgias MCP cookbook — рецепты для службы поддержки, но хорошо устроены: у каждого сказано, пишет ли он что-то, и что поправить под себя.

On this page