Ищите эффективно
Как выбрать команду поиска, сузить запрос до поиска, листать результаты и держать вывод коротким: таблица частых фильтров и ошибки, из-за которых поиск впустую.
В хранилище много записей, а агент платит за каждый результат, который читает. Эта страница показывает, как получить нужные записи за минимум шагов: выбрать команду, сузить запрос до поиска, листать результаты и сократить вывод. После неё вы сможете превратить расплывчатый вопрос в один точный поиск и проверить, что он охватил. Предполагается, что нужная история уже скачана: Поиск.
Выберите команду
Перед каждой командой ставьте название инструмента и имя профиля, как в tg personal search messages.
| Вам нужно | Команда | Примечание |
|---|---|---|
| Слова в ваших сообщениях Telegram или MAX | search 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: | Один чат, по названию или id | chat:"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: в MAX | MAX не сообщает тип файла | filename:*.pdf |
has:photo, чтобы найти то, что на картинке | Оно говорит только, что фото приложено | Поиск по картинкам, по-английски |
| Поле сообщений в поиске по Drive | У Drive свои фильтры | tag: и --exact либо catalog list |
From: вместо from: | Ошибка | Имена полей пишутся в нижнем регистре |
| Запрос к поиску по картинкам не на английском | Модель знает только английский | Пусть агент сначала переведёт |
Проверьте результат
Откройте источник лучшего результата и сравните с тем, что вы помнили. Если какой-то вид содержимого не находится, проверьте единственный шаг, который ему нужен: Что попадает в поиск. Если не хватает связи между записями, см. Как всё связано.
Дальше: язык запросов Telegram или MAX перечисляет все поля, пресеты и формы дат.
Как всё связано
Какие записи инструменты связывают между собой (сообщения, люди, чаты, файлы, упоминания, заметки, задачи, факты, документы Drive, теги), кто создаёт каждую связь и что запустить, если связи не хватает.
Попробуйте поиск сообщений
Находите сообщения, решения, файлы и ссылки в своих чатах; попробуйте фильтры и проверку контекста.