Ищите эффективно

Как выбрать команду поиска, сузить запрос до поиска, листать результаты и держать вывод коротким: таблица частых фильтров и ошибки, из-за которых поиск впустую.

В хранилище много записей, а агент платит за каждый результат, который читает. Эта страница показывает, как получить нужные записи за минимум шагов: выбрать команду, сузить запрос до поиска, листать результаты и сократить вывод. После неё вы сможете превратить расплывчатый вопрос в один точный поиск и проверить, что он охватил. Предполагается, что нужная история уже скачана: Поиск.

Выберите команду

Перед каждой командой ставьте название инструмента и имя профиля, как в tg personal search messages.

Вам нужноКомандаПримечание
Слова в ваших сообщениях Telegram или MAXsearch messages в tg или maxЧитает локальный архив и по умолчанию ещё и сервер мессенджера
Телефон, почта, ссылка или имя человека, написанные в сообщенияхsearch messages с phone:, email:, domain: или mentions:, либо mentions listНаходится по правилам, как бы ни был написан
Всё об одном человеке во всех мессенджерахcontacts timelineНужны адреса, объединённые через contacts link
Обсуждение, когда помните тему, а не словаsearch conversationsДля чата один раз нужны conversations build и conversations embed
Картинка по тому, что на нейsearch messages "dog on a beach"Только по-английски, и должна быть включена настройка картинок: Что попадает в поиск
Почта, заметки или неизвестно, где написаноmemo search all, memo search mail, memo search notesОтвет перечисляет пропущенные источники и причину
Сообщения всех мессенджеров сразуmemo search messagesТолько сообщения
Решение или обещаниеmemo facts listУ каждого факта есть ссылки на доказательства
Документ Drive по словам или по смыслуdrive search--exact — только слова
Файл Drive по имени, типу, папке, человеку или тегуdrive catalog list или drive catalog searchТолько метаданные, работает офлайн

Сначала сузьте, потом ищите

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

ФильтрЧто находитПример
chat:Один чат, по названию или idchat:"Book club"
from:Одного отправителяfrom:"Kai Sample"
date:Период или всё после какого-то дняdate:[2026-01-01 TO 2026-02-01}, date>=2026-10-01
kind:Личные чаты, группы, каналы, ботовkind:group
has:Сообщения с файлом, фото, голосовым, ссылкой или текстомhas:file
filename:Файл по имениfilename:*.pdf
mime:Файл по типу (только Telegram)mime:"application/pdf"
size:Файлы по размеруsize>10MB
content:Слова внутри файлаcontent:invoice
transcript:Слова из голосовогоtranscript:invoice
tag:Ваши меткиtag:work
phone:, email:, url:, domain:, mentions:Значение, найденное в текстеphone:"+1 555 010 0100", mentions:"person:7"

Имена полей чувствительны к регистру, а неизвестное поле даёт ошибку, а не пустой ответ. Полный список полей есть в языке запросов Telegram и MAX. Последняя строка есть в последних релизах tg и max.

tg personal search messages 'chat:"Book club" from:"Kai Sample" date>=2026-10-01 delivery' --limit 10

Когда запрос уходит ещё и на сервер мессенджера, туда попадают только слова, один чат, один отправитель и даты. has:, tag:, отрицания и шаблоны применяются локально. Подробности: Как устроен поиск.

Операторы

ЗапишитеЗначение
invoice paidОба слова, в любом порядке (AND по умолчанию)
alpha OR betaЛюбое из слов
alpha NOT beta, alpha -betaПервое слово без второго
+alphaСлово обязательно
(alpha OR beta) gammaГруппа
from:(alice OR bob)Одно поле, несколько значений
date:[2026-01-01 TO 2026-02-01}Диапазон: [ ] включает границу, { } исключает
invo*Любое окончание
text:/pass(port)?/Регулярное выражение, сравнивается с целыми словами

Три правила убирают большинство неожиданностей:

  • Запрос из одного отрицания ничего не выбирает. Добавьте условие: has:photo NOT has:text.
  • Явный AND связывает сильнее OR. alpha OR beta gamma означает (alpha OR beta) AND gamma.
  • and, or и not в нижнем регистре — обычные слова. Опечатки вроде invoice~1 и усиление вроде invoice^2 дают ошибку.

Слова, формы и смысл

Простое слово находит свои другие формы: «invoice» находит «invoices». Только точная форма — exact:invoice. Для опечаток — --language legacy. Слова в файлах и расшифровках сравниваются только в точной форме.

search conversations нужен, когда вы помните, о чём шло обсуждение, а не какими словами. Спрашивайте своими словами на любом языке, который понимает модель. Команда всегда возвращает ближайшие разговоры, даже если ни один не отвечает, поэтому откройте сообщения, прежде чем полагаться на результат. Для точного имени, номера или id используйте поиск по полям. Подробнее: Поиск по теме.

Листайте результаты

Ответ говорит, есть ли ещё результаты (has_more). Это относится к странице, а не к тому, хранит ли мессенджер больше. Повторите ту же команду с теми же фильтрами и запросите следующую страницу. Каким флагом, зависит от команды:

КомандаСледующая страница
search messages в tg и max--page <n>, счёт с 1
contacts timeline--cursor <cursor>, курсор из page.next в ответе
mentions list, drive catalog list, drive catalog search--page <n>
memo search notes, drive search--offset <n>
memo search all, memo search mail, memo search messagesТолько --limit, до 100: сузьте запрос

Держите вывод коротким

  • --limit <n> ограничивает число результатов.
  • --brief показывает каждое найденное сообщение как ссылку на источник, время, отправителя и фрагмент. Просмотрите так, потом откройте один результат.
  • --json=ref оставляет только названные поля. --jsonl печатает по одному результату в строке. --full возвращает тексты целиком.
  • --max-output-bytes по умолчанию ограничивает машинный вывод 4 МиБ. Результат больше лимита завершается явной ошибкой, а не обрезается.
  • --context <n> добавляет n соседних сообщений с каждой стороны. Вне терминала значение равно 0.

Прочитайте доказательства, потом расширяйте

Откройте один результат вместе с соседями или пройдите по цепочке ответов:

tg personal messages context "msg:telegram/1/77/42" --before-n 3 --after-n 3
tg personal messages context "msg:telegram/1/77/42" --thread

Если ответ выглядит скудно, прочитайте запись missing. Она называет, что не искали, и шаг, который это исправит, например загрузку чата. Каждый результат говорит, где совпал (matched_in: text, transcript, filename или file). Чтобы сверить число с ожидаемым, stats messages show (в последних релизах) считает совпадения по чатам, отправителям, дням или часам.

Примеры

Подставьте свои имена.

ЗадачаКоманда
Договорённость и её источникtg personal search messages 'chat:"Book club" agreed date>=2026-10-01' --limit 5
Всё об одном человеке за этот месяцtg personal contacts timeline "Kai Sample" --since-time 2026-10-01
Где встречается номер телефонаtg personal search messages 'phone:"+1 555 010 0100"' --brief
Файлы, присланные в чат на прошлой неделеtg personal search messages 'chat:"Book club" has:file date>=2026-10-07' --brief
Что документ Drive говорит о темеdrive personal search 'budget' --exact --limit 5

Более длинные примеры: Telegram и MAX.

Частые ошибки

ОшибкаЧто происходитЧто делать
Искать до загрузки историиМало результатов или ни одногоСкачайте чат; прочитайте missing в ответе
Считать пустой ответ доказательством «не отправляли»Архив может быть неполнымПроверьте, что ответ называет охваченным
Брать фразу в кавычки ради точной формыКавычки находят любые формы словexact:"final invoice"
mime:application/pdf без кавычек/ начинает регулярное выражениеmime:"application/pdf" или filename:*.pdf
mime: в MAXMAX не сообщает тип файлаfilename:*.pdf
has:photo, чтобы найти то, что на картинкеОно говорит только, что фото приложеноПоиск по картинкам, по-английски
Поле сообщений в поиске по DriveУ Drive свои фильтрыtag: и --exact либо catalog list
From: вместо from:ОшибкаИмена полей пишутся в нижнем регистре
Запрос к поиску по картинкам не на английскомМодель знает только английскийПусть агент сначала переведёт

Проверьте результат

Откройте источник лучшего результата и сравните с тем, что вы помнили. Если какой-то вид содержимого не находится, проверьте единственный шаг, который ему нужен: Что попадает в поиск. Если не хватает связи между записями, см. Как всё связано.

Дальше: язык запросов Telegram или MAX перечисляет все поля, пресеты и формы дат.