npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@wirecat/max-cli

v0.48.0

Published

MAX Messenger bots through the official Bot API, and a personal MAX account, from the terminal — built for agents and scripts

Readme

MAX CLI для людей, ботов и агентов

Ваш аккаунт и ваши боты MAX — в терминале и в ИИ-агентах. Читайте, ищите и отвечайте сами или поручите это Claude, Codex и Cursor — по вашим правилам.

Документация · Примеры · WireCat

npm CI Node Bun npm downloads License: Apache 2.0

Пример разговора с агентом (люди и чаты вымышленные):

Вы:     Что я кому обещал за последние три дня?
Агент:  (вызывает max review: 12 чатов, 3 голосовых расшифровано)
        Я должен
        · Алисе Пример — прислать счёт до пятницы. Личный чат, 24.09
        Жду от других
        · Борис Образцов — макет к 25.09. В группе «Дизайн» его пока нет
        Нужно уточнить
        · «Проект Альфа»: кто везёт образцы — договорились «потом решим», 25.09
Вы:     Напомни Борису про макет.
Агент:  Черновик: «Борис, привет! Как там макет?» Отправить?
Вы:     Да.

Быстрый старт

npm install -g @wirecat/max-cli
max setup --agent claude   # вход по QR-коду и навык для Claude Code
max inbox                  # непрочитанное во всех чатах, ничего не отмечая

max setup за пять минут проводит через вход: вы сканируете QR-код в приложении MAX, и max становится ещё одним вашим устройством. Вместо claude можно указать codex, cursor, gemini, all или none; войти можно и по SMS через web.max.ru — max setup --help.

Нужен Node 22.16+ (ветка 22.x) или 24+, либо Bun 1.3+; работает в Windows, macOS и Linux. Попробовать без установки — npx @wirecat/max-cli --help. Если max не находится, npx @wirecat/max-cli doctor скажет почему.

Подробнее: установка (wirecat.dev), вход и профили (wirecat.dev).

Что можно сделать

Разобрать, что пришло. «Используй max CLI: кто ждёт моего ответа и что срочно?»

max inbox

Найти что угодно. «Когда мы договорились о встрече с Алисой?» — ответ с датой и самим сообщением, по локальной копии и без запросов к MAX.

max search all "встреча Алиса"

Понять, кто кому что должен. «Что я обещал и чего жду от других?» — вся переписка с прошлого обзора, ваши сообщения и голосовые текстом.

max review --since-time 3d --transcribe

Ещё: сводки утром и вечером, итог недели по рабочему чату, кому вы обещали ответить, черновики ответов, которые отправляете вы или агент с вашего разрешения.

Подробнее: рецепты для агентов (wirecat.dev).

Для ИИ-агентов

Ваш агент. Ваш MAX. Ваши правила.

  • Агент с терминалом — Claude Code, Codex, Cursor, Gemini CLI. Он сам вызывает max, а навык (skill) — инструкция для агента — объясняет ему команды и ограничения. max setup ставит навык сам; отдельно — max skill install.
  • Приложение без терминала — Claude Desktop, Cursor и другие клиенты MCP. Подключите MCP-сервер max mcp; готовые просьбы /catch-up, /review, /reply и /find уже внутри.
  • ChatGPT или Claude в браузере — через HTTPS-туннель и вход по коду.
max mcp setup claude-code  # или codex
max mcp config             # запись для Claude Desktop, Cursor и других

С --json каждая команда отдаёт только данные, а ошибка приходит отдельно, с постоянным кодом завершения.

Подробнее: MCP-сервер (wirecat.dev), браузер (wirecat.dev), контракт для скриптов (wirecat.dev).

Почему max

  • Весь аккаунт, а не только бот. Чаты, история, группы, контакты, файлы и голосовые — как в приложении. И отдельно бот через официальный Bot API.
  • Своя копия переписки. Всё прочитанное хранится на вашем компьютере: быстрый поиск и чтение без интернета (--offline), выгрузка в JSONL или Markdown.
  • Сделан для агентов. Навык, MCP-сервер, одна форма JSON и коды ошибок, по которым скрипт решает, что делать дальше.
  • Безопасен по умолчанию. Чтение не ставит отметку «прочитано». Есть профиль только для чтения, список чатов для записи и лимит сообщений в час. Если имя подходит к двум чатам, max не выбирает сам. Если связь оборвалась при отправке, max так и скажет, а повтор не создаст второе сообщение.
  • Порядок в группах, которые вы ведёте. Вопросы без ответа, кто вступил, проверка по вашим правилам: спам, чужие ссылки, флуд. По умолчанию проверка только отмечает.

Чем отличается от других

Для MAX есть и другие хорошие проекты; PyMax — самая полная библиотека для личного аккаунта, и её код помог разобрать протокол. Коротко, для личного аккаунта:

| | max-cli | PyMax | max-mcp | |---|:-:|:-:|:-:| | что это | программа и MCP-сервер | библиотека на Python | MCP-сервер на PyMax | | готовые команды, навык и MCP для агентов | ✅ | — | MCP | | ограничения для агента: только чтение, список чатов, лимит в час | ✅ | — | — | | локальная копия с поиском без интернета | ✅ | — | — | | расшифровка голосовых на вашем компьютере | ✅ | — | — | | реакции, правка, пересылка, опросы, отложенная отправка | ✅ | ✅ | — | | для админа группы: вопросы без ответа, проверка по правилам | ✅ | — | — |

Подробнее: полная таблица (wirecat.dev).

Личный аккаунт

max без слова bot работает с вашим аккаунтом как ещё одно ваше устройство.

⚠️ Для личного аккаунта max-cli использует неофициальный внутренний API MAX. API может измениться без предупреждения, а использование инструмента может нарушать условия сервиса. Вы используете max-cli на свой риск; авторы и контрибьюторы не несут ответственности за блокировки аккаунтов, потерю данных или другие последствия. Бот работает через официальный API, и к нему это не относится.

  • Читать. Чаты, история, сообщение вместе с соседними, непрочитанное во всех чатах (max inbox), разбор «кто кому должен» (max review), новые сообщения по мере прихода (max watch), вложения, голосовые — текстом на вашем компьютере.
  • Писать. Текст и разметка, ответы, фото, видео, файлы и голосовые, правка, пересылка, закрепление, реакции, опросы, отложенная отправка, удаление — у себя или у всех.
  • Группы и каналы. Создать, вступить по ссылке, выйти, участники и админы, настройки, ссылка-приглашение, папки.
  • Контакты и аккаунт. Найти по номеру, добавить, переименовать, заблокировать, свои заметки о людях; профиль и фото; другие сеансы.
max inbox                                              # непрочитанное, ничего не отмечая
max messages list "Алиса Пример" --limit 20
max messages send "Алиса Пример" "Созвонимся в 15:00?" --reply-to <id>
max reactions add "Алиса Пример" <id> 👍
max messages send 0 "Позвонить Борису" --at-time 2h    # напоминание себе в «Избранное»
max chats mark-read "Алиса Пример"                     # отметить прочитанным, когда нужно

Подробнее: личный аккаунт (wirecat.dev), один человек (wirecat.dev), ответы (wirecat.dev).

Бот

max bot работает через официальный Bot API MAX по токену бота. Ботов может быть несколько: каждый хранится под именем, которое вы выбираете, и это имя — первое слово команды. Бота создают на business.max.ru; MAX выдаёт их подтверждённым организациям, ИП и самозанятым.

max sales bot auth set                                   # токен — в скрытом вводе, MAX его проверит
max sales bot recipients add "Команда продаж"            # писать только сюда
max sales bot messages send "Команда продаж" "**Сборка готова**" --md --file report.pdf
max sales bot messages pin "Команда продаж" <mid>        # id сообщения — из ответа на send
max sales bot watch --events                             # всё, что происходит в чатах бота
max sales bot chats moderate "Команда продаж" --dry-run  # что нарушает правила — без действий
max sales bot api get-updates --limit 10                 # любой метод Bot API
max bot list --check                                     # все боты на этом компьютере
  • Полный Bot API. Каждый метод официальной схемы — max <бот> bot api <операция>: параметры — флаги, тело — JSON, который сверяется со схемой до отправки.
  • Сообщения и чаты. Чат называют по номеру, по названию, если бот его видел, или человека как user:<номер>. Файлы, участники, комментарии, кнопки, меню команд, вебхуки.
  • Модерация. bot chats rules и bot chats moderate удаляют спам и людей по вашим правилам.
  • Копия переписки бота. bot contacts show, bot search messages --from, bot messages between — без запросов к MAX.
  • Бот не напишет лишнего. Свой список чатов для записи, журнал отправленного без текста, permissions и MCP-сервер max <бот> bot mcp. Токен — в системном хранилище паролей, отдельно от вашего.

Подробнее: бот MAX (wirecat.dev).

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

max review --chat "Поход" --unanswered            # вопросы, на которые сутки никто не ответил
max chats events "Поход"                          # кто вступил и вышел
max chats members list "Поход" --all              # все участники: когда заведён аккаунт
max chats rules set "Поход" invites delete        # приглашения в чужие чаты — удалять
max chats moderate "Поход" --dry-run              # что нарушает правила — без действий

Проверка сверяет новое в группе с вашими правилами: заблокированные люди, приглашения, ссылки, пересланное, флуд, совсем новые аккаунты. По умолчанию она только отмечает. Для каждого действия вы решаете сами: никогда, только с флагом, с вашим подтверждением или сразу. Не больше 10 действий за раз, и ничего не следит за группой в фоне.

Подробнее: группы (wirecat.dev), рейтинги (wirecat.dev).

Локальная копия и поиск

Всё прочитанное сохраняется на вашем компьютере. По копии работают поиск и чтение без интернета; историю чата можно скачать глубже и выгрузить.

max search all "договор"                             # сообщения, почта и заметки сразу
max search messages "договор" --chat "Проект Альфа"  # только один чат
max store fetch "Проект Альфа" --last 500            # последние 500 сообщений — в копию
max store export "Проект Альфа" --format markdown --output alfa.md
max chats list --offline                             # без подключения к MAX

Поиск понимает слова, людей, даты, файлы, ссылки и ваши метки; есть поиск по темам и сохранённые запросы. Текст из сохранённых вложений ищется через content:.

Подробнее: локальная копия (wirecat.dev), поиск (wirecat.dev), язык запросов (wirecat.dev), поиск по темам (wirecat.dev), вложения (wirecat.dev), голосовые (wirecat.dev).

Агенты: навык и MCP

Навык ставится одной командой и всегда той же версии, что и max: в ~/.claude/skills/max-cli/ для Claude Code и в ~/.agents/skills/max-cli/ для Codex, Gemini CLI и Cursor. После обновления max запустите установку ещё раз.

max skill show                  # прочитать до входа
max skill install --for all     # или --for claude, --for agents

MCP-сервер работает с тем же аккаунтом. Права профиля проверяются при каждом вызове; формы подтверждения на сервере нет — подтверждение вызовов настраивается в приложении агента. Навык доступен ресурсом max://skill.

max mcp doctor                                       # проверить локальный MCP
max mcp --http --public-url https://<имя>.ts.net     # для ChatGPT и Claude в браузере
max mcp --permission messages.send=ask               # временно изменить право

Подробнее: MCP-сервер (wirecat.dev), браузер (wirecat.dev), внешние модели (wirecat.dev).

Для скриптов

С --json команда печатает только данные; так же она работает, когда её вывод читает другая программа (max … | jq). Любой список приходит в одной форме:

{ "items": [ … ], "page": 1, "limit": 20, "hasMore": true }

Ошибка приходит одной строкой JSON в stderr, stdout остаётся пустым. Код завершения говорит, что случилось: 4 — нужно войти, 5 — права не разрешают, 6 — чат или сообщение не найдены, 8 — лимит, 9 — MAX не ответил вовремя, 14 — неизвестно, ушло ли сообщение (повторять только с тем же --send-id). Частичный результат может прийти с кодом 0: проверьте поле complete.

Подробнее: контракт (wirecat.dev), все команды и коды (wirecat.dev).

Вход и профили

max setup --agent codex       # QR-код в терминале и навык Codex
max setup --method qr-chrome  # QR через web.max.ru в браузере
max setup --method sms        # номер телефона — в браузере
max setup --method token      # готовый токен, скрытым вводом или через stdin
max session start qr          # повторный вход, когда сессия истекла

Несколько аккаунтов — несколько профилей; профиль называется первым словом: max personal chats list, или export MAX_PROFILE=personal на всю сессию оболочки.

Подробнее: вход и сессии (wirecat.dev), профили (wirecat.dev).

Настройки и права

У каждого профиля свои настройки и права; без файла настроек действуют встроенные значения.

| Настройка | Что делает | По умолчанию | |---|---|---| | permissions | что можно: deny, readonly, ask, allow — для команды или группы команд | всё, кроме удаления и других необратимых действий: они спрашивают | | sendsPerHour | сколько сообщений профиль отправит за час | 30 | | requestsPerMinute | темп обращений к MAX | 20 | | catchUpMarksRead | inbox и review отмечают показанное прочитанным | false | | limit | сколько строк в списке | 20 |

max config set permissions.messages readonly  # профиль только для чтения
max config set permissions.messages.send ask  # спрашивать перед отправкой

Подробнее: настройки (wirecat.dev), права (wirecat.dev), все ключи (wirecat.dev).

Ограничения

max держит каждый профиль в одном темпе: первые 10 запросов идут сразу, дальше — 20 в минуту, и две команды одновременно делят этот темп. Если MAX отвечает «слишком много запросов», max останавливается и не повторяет запрос сам. Фоновый max serve держит одно подключение для всех команд и сам останавливается, когда им 15 минут никто не пользуется.

Подробнее: ограничения и ожидания (wirecat.dev).

Безопасность

  • Токен входа — в системном хранилище паролей, не в файле и не в истории команд.
  • Локальная копия и служебные файлы доступны только вашему пользователю; от кражи диска защищает шифрование диска целиком.
  • Перед каждой отправкой, в том числе через фоновый сервер и MCP, max проверяет ограничения профиля и пишет строку в журнал — без текста сообщения.
  • --file не отправит известные файлы с учётными данными, папки max и хранилище.
  • Чужой текст не управляет вашим терминалом: управляющие символы из имён и сообщений показываются как текст.
  • Ограничения защищают от агента, которого уговорило прочитанное сообщение, но не от агента, который хочет их обойти: для этого нужна песочница или отдельный пользователь.

Подробнее: безопасность (wirecat.dev).

Когда не работает

max doctor               # где лежат файлы и есть ли вход; к MAX не подключается
max chats list --trace   # каждый запрос к MAX — без текстов, имён и токена
max runs list            # неудачные и частичные запуски сохраняются сами

Запись --trace можно приложить к сообщению об ошибке.

Подробнее: по симптому (wirecat.dev), диагностика (wirecat.dev).

Документация

Каждая страница есть и на сайте — wirecat.dev/ru/docs/max; ниже — исходники в этом репозитории.

| Раздел | Страницы | |---|---| | Начало | обзор и сравнение · установка | | Как пользоваться | личный аккаунт · вход и сессии · локальная копия · поиск · вложения · голосовые · внешние модели · рейтинги · поиск по темам · язык запросов · бот MAX · группы · один человек · ответы · MCP-сервер · браузер · рецепты | | Справочник | все команды · настройки · права · профили · все ключи настроек · контракт для скриптов · ограничения | | Если что-то не так | диагностика · когда не работает · безопасность | | Проект | дорожная карта | | Изменения | CHANGELOG.md |

Для разработчиков: архитектура, проверки, протокол (генерируется), что осталось.

Разработка

pnpm install
pnpm lint && pnpm typecheck && pnpm test
pnpm build && pnpm smoke:bun          # собранная команда под Bun
pnpm generate                         # переписать сгенерированные файлы

Протокол MAX неофициальный и разобран обратной инженерией. Каждый опкод объявлен один раз в src/spec/, а реестр, типизированный клиент и docs/dev/protocol.md из него генерируются; CI падает, если дерево устарело. Общая часть — потоки вывода, коды ошибок, хранилище паролей — в @wirecat/cli-base.

Часть WireCat

max-cli — часть WireCat: открытого слоя контекста для ИИ-агентов, который хранит данные на вашем компьютере. Начните с MAX. Добавьте Telegram, почту и заметки, когда понадобится. Ваш контекст. Любой агент.

Участие и лицензия

Пулл-реквесты, сообщения об ошибках и предложения — issues.

Делаем автоматизацию и инструменты под задачу: интеграции с MAX и другими мессенджерами, ИИ-агентов, внутренние сервисы — [email protected].

Apache License 2.0 — LICENSE.