Repository navigation
0.29.0
Что нового
-
max chats tracking list|show|add|removeуправляет списком групп для наблюдения за составом.
Можно посмотреть сохранённые снимки числа участников, добавить группу без немедленного чтения
или убрать её, сохранив историю. Для записи состава используйтеmax chats members fetch.
В MAXserveпока не читает участников ежедневно: повторяйте сбор вручную или по своему расписанию. -
Профиль человека.
max contacts profile <человек>показывает, что MAX сообщает о человеке: имя, ссылку,
описание, когда создан аккаунт (registered, по данным MAX), есть ли своё фото, — и для каждого общего чата,
сколько его сообщений в локальной копии, первое и последнее. Телефон, если MAX его прислал, — последние четыре
цифры, целиком с--show-phone. Один запрос к MAX сверхcontacts show. MCP:max_contacts_profile. -
Автоответы по правилам — только тестовым аккаунтам.
max serveотвечает на входящие сообщения по
правилам из<профиль>.replies.json, но лишь тем, кто назван вtesters; отправка — только при
permissions.replies.send allow. Командыmax replies test,pause,resume,status. Страница —
docs/replies.md. -
max contacts context <человек> --chat <чат>(можно повторять) даёт его последние сообщения в каждом чате — только
время и текст, чтобы агент пересказал;-vдобавляет номера и ссылки,--limit— на чат,--refreshсначала читает
последнюю страницу чата у MAX. -
Использует cli-messaging 0.152.0.
-
max contacts check <человек>— похож ли человек на бота. Оценка по профилю и по сохранённым сообщениям
(ничего не писал, первое сообщение — ссылка, один текст в нескольких чатах), у каждой причины — источник.
Публичные списки спамеров ведут только Telegram, поэтому для MAX они не запрашиваются.max chats members audit --deep <n>так же проверяет первых n участников, по одному в секунду. -
max chats members fetchсохраняет снимки участников, аhistoryпоказывает изменения.
Чтение истории доступно offline, с фильтром--since-time. Снимок ограничивается--budget;
выходы фиксируются только после полного чтения. Ежедневное отслеживание ждёт поддержки
фоновой службы MAX. Работа с участниками. -
max stats chartsстроит графики статистики чата. Команда возвращает нейтральное описание в JSON,
а по--outputсохраняет SVG с тёмной темой: сообщения, активные авторы, вступления и выходы по дням или неделям.
Пропущенные даты остаются разрывами, неполные данные отмечаются явно. Существующий файл не перезаписывается.
MCPmax_stats_chartsвозвращает описание из локального хранилища; PNG появится отдельно.
Новая библиотека добавляет около 61,6 MiB распакованных файлов до дедупликации; она загружается в процесс
только при запросе изображения. Как пользоваться. -
Реакции на посты канала сохраняются и при
max store fetch. MAX присылает число реакций вместе с историей
канала, и теперьmaxего не теряет:max chats statsможет ранжировать посты канала по реакциям без отдельного
запроса. -
max chats stats <чат>— цифры группы или канала за период. Сообщения, сколько людей писало, ответы,
реакции, лучшие посты, вопросы и как быстро на них отвечали, кто вошёл и вышел. Считается по локальному хранилищу;
входы и выходы спрашиваются у MAX. Если в хранилище не вся история чата, числа — нижняя граница, и команда
подсказывает, какойstore fetchеё дополнит. -
Поиск читает текст файлов.
attachments extractсохраняет текст TXT, DOCX и PDF с текстовым слоем;
content:находит его. Для DOCX/PDF нужны необязательныеmammoth/unpdf; фото и сканы читает агент
и сохраняет результат черезattachments text set. По умолчанию читаются только скачанные файлы;
--download --output-dirявно скачивает их сначала. -
Поиск можно сначала обновить и показать цепочку ответов.
--sync-firstограничивает скачивание
пятью чатами, 500 сообщениями и 30 секундами; неполное обновление не прячет локальную выдачу.
--threadдобавляет ограниченный граф ответов с источниками связей; без графа используется контекст по времени. -
Поиск бесед принимает строгий фильтр и явный охват аккаунтов.
--filterограничивает беседы до
ранжирования; весь фильтр должен совпасть хотя бы у одного сообщения.--sourceрасширяет охват
явно. Агент может связать сообщения целиком через MCP: инструкцияlink-conversations, пачки,
сохранение связей и перестройка графа. -
Модели векторов и анализа настраиваются отдельно по профилям. Локальные векторы и ваш агент
остаются по умолчанию. Внешний сервис получает текст только при явном выборе;build --analyze --chat
спрашивает согласие и запоминает его для аккаунта, чата и сервиса до отзыва. -
Свои метки:
max tags add,removeиlist. Метку можно повесить на чат (--chat), человека
(--contact) или одно сообщение (--message), аtag:<метка>в поиске находит помеченное. Метки
хранятся только в архиве на этой машине и в MAX не уходят. Метка — от 1 до 32 латинских букв, цифр и
дефисов. Агенту доступны те же действия через MCP. См. Поиск сообщений. -
Сохранённые запросы:
max searchesи--saved.max searches create <имя> [запрос]сохраняет
запрос с его опциями,max messages search --saved <имя>иmax messages stats --saved <имя>
запускают его. Слова, добавленные к--saved, сужают запрос, а опции в командной строке заменяют
сохранённые.searches list,show,history,deleteиclearпоказывают и чистят сохранённое
и историю. Поэтому запрос уmessages searchтеперь необязателен, если есть--saved. -
max contacts context <человек>— что архив знает об одном человеке. Общие чаты, последние
сообщения в обе стороны, его недавние сообщения и где его упоминали. Команда читает только архив и
ничего не отмечает прочитанным.max contacts linkзаписывает, что аккаунт в MAX и аккаунт в
Telegram — один человек, тогдаcontextпоказывает обоих;max contacts unlinkотменяет это.
Что учесть:contextвозвращает тексты сообщений, поэтомуpermissions.messages: denyего тоже
запрещает. -
max store repairчинит структуру архива, ничего не удаляя. Таблицу другой формы он оставляет
копией рядом с новой и называет её в ответе;--dry-runпоказывает, что будет сделано, и ничего не
меняет.max store copies delete <имя>удаляет одну такую копию. См. Архив. -
Поиск учитывает основы слов, если включить.
max config set searchStemmers.cyrillic russianи
searchStemmers.latin spanish(илиenglish) — настройка одна на весь архив, все профили и оба
мессенджера. После неё нуженmax store reindex. -
max flood clearзабывает запомненные ожидания и снимает удержание отправок. Их видно в
max server status, в новом полеflood. Что учесть: MAX пока не называет, сколько ждать, поэтому
для личного аккаунта MAX там будет пусто; от частых входов по-прежнему защищает пауза входа, которую
показываетmax doctor. В MCP этой команды нет намеренно: агент не должен снимать ограничение. -
У поиска три руководства. Поиск сообщений — поиск на каждый день по словам,
людям, датам, файлам, ссылкам и меткам; поиск по темам — беседы, векторы и
что уходит внешней модели; язык запросов — справка.
Изменено — может сломать скрипты
-
Поиск по смыслу у локальной e5-small отбрасывает слабые совпадения до объединения со словами.
Косинусная близость должна быть выше 0,80; совпадения по словам остаются. Выдача может быть короче,
а результат, найденный обоими способами, может стать только совпадением по словам. -
Архив получает таблицы текста вложений и согласий на анализ. Это локальная миграция при первом
открытии; старые сообщения сохраняются. Перед обновлением большого архива сделайте резервную копию. -
Архив теперь хранит каждый удачный запрос
messages searchиmessages stats— и из командной
строки, и из MCP. Хранятся сам запрос и опции, но не найденные сообщения; последние 1000 запусков.
Почему: из этой истории работаютsearches historyи--saved.
Что учесть: если запросы не должны оставаться на диске, запускайте с--no-recordили поставьте
max config set record false;max searches clearстирает историю, сохранённые запросы остаются. -
При первом запуске архив переходит на новую схему. Появляются таблицы меток, сохранённых
запросов и основ слов,max store migrateдостраивает индекс основ для старых сообщений. Что учесть:
на большом архивеstore migrateиstore reindexидут дольше прежнего. Архив общий сtg, и
прежние версииmaxиtgпродолжают его открывать. -
max inbox,inbox --new,reviewиchats list --unread(а также--searchи--kind)
смотрят все чаты, которые MAX прислал при входе, а не только 200 самых свежих. Раньше чат с
непрочитанным ниже по списку пропускался молча. По-прежнему обрабатывается не больше 20 чатов за
запуск, остальные названы в заметкеskipped N chats. Что учесть:partial: trueтеперь значит
только одно — MAX прислал при входе не все чаты. -
max chats listговоритhasMore: trueна последней непустой странице, если MAX прислал не все
чаты. Раньше список выглядел полным. Что учесть: скрипт, который листает доhasMore: false,
остановится на пустой странице. -
max messages listиmax store fetchбольше не принимают короткую страницу за начало чата. MAX
не сообщает, есть ли сообщения старше, а страница может прийти короче--limitи в середине
переписки. Теперь после короткой страницыmaxзапрашивает одно более старое сообщение: если оно
есть,hasMore: true, если нет — это начало чата. Что учесть: это один лишний запрос к MAX на каждую
короткую страницу, иhasMoreчаще бываетtrue. -
max config setиconfig unsetпринимаютsearchStemmers.cyrillicиsearchStemmers.latin, а
config show --jsonпоказывает их в новом полеstoreSettings. Эти настройки хранятся в архиве,
а не в файле настроек, поэтому--defaults,--personalи--botс ними отказывают, а под
MAX_PROFILE_LOCKих менять нельзя.
Исправлено
-
Ошибка в файле правил автоответов больше не выводит фрагменты этого файла в журнал службы.
-
max mcp --http: Claude и ChatGPT теперь могут завершить вход. Страница входа заставляла браузер отправлять
форму как будто ниоткуда, иmaxотвечал «Origin not allowed». Теперь вход работает (cli-messaging 0.152.0). -
Ссылка на сообщение из другого аккаунта больше не открывает одноимённое сообщение текущего.
messages show/contextотказывает; MCP принимаетoffline: trueдля обычного локального контекста. -
Строгий поиск по регулярному выражению
text:/…/находит слова так же, как поиск по словам.
Раньшеtext:/Квартир.*/илиtext:/счёт/не находили слова, которые есть в архиве, из-за регистра
и буквы «ё».body:по-прежнему различает регистр. -
Ошибки строгого поиска говорят, что делать.
~подсказывает--language legacyислово*;
слишком короткий префикс вродек*называет предел в 10 000 слов и просит префикс длиннее;
index_not_readyговорит, сколько индекса готово, и точную командуmax store migrate. -
MCP не пишет историю поиска, если запись выключена. Раньше
record: falseвыключал историю
только в командной строке.