# Поиск и источники (/ru/docs/zm/search)

Найдите сказанное на сохранённых встречах, прочитайте точный фрагмент со ссылкой, вспомните обсуждения
с человеком, свяжите встречи с людьми и событиями и просмотрите следующую задачу с её источником.

## Начните с вопроса [#начните-с-вопроса]

> ```text prompt
> Найди обсуждения Research Example в сохранённых встречах. Покажи даты и отрывки о решении запуска. Дай ссылки и укажи недостающие расшифровки или периоды.
> ```

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

Быстрый поиск слов в сохранённом тексте:

```sh
zm meetings search "example plan" --json
```

Поиск читает сохранённый профиль, а не текущую историю Zoom. Сначала [загрузите или импортируйте недостающие встречи](/llms.mdx/docs/ru/zm/archive/content.md).
Для поиска с формами слов и продолжением внутри длинной расшифровки используйте следующие шаги.

## Искать сохранённые встречи [#искать-сохранённые-встречи]

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

```sh
zm meetings search-index --limit 100 --max-read-bytes 4194304 --json
zm meetings search-index --limit 100 --yes --json
zm meetings search-page "example plan" --limit 20 --json
zm meetings search-page "example plan" --limit 20 --after <nextCursor> --json
```

Индексация сначала показывает план; `--yes` обрабатывает одну порцию, `--dry-run` важнее. Повторяйте,
пока квитанция не покажет `remaining: 0`. Чтение не запускает индексацию. Покрытие сообщает об очереди
и неизвестной полноте индекса и архива. Все нормализованные слова должны совпасть по префиксам или
настроенным основам слов. По умолчанию добавляются английские, русские и испанские основы; настройку
можно изменить или отключить. Семантического компонента и операторов запроса здесь нет.
`--meeting-id`, `--since` и `--until` сужают выбранный аккаунт. Непрозрачный курсор относится к аккаунту,
запросу и фильтрам и может продолжать внутри большой расшифровки. JSONL сохраняет страницу с `nextCursor`.

`meetings search` сохраняет поиск по буквальным префиксам в расшифровках, чате и сводках;
`--since`, `--until`, `--event-id` и `--series-id` сужают его. `meetings people <query>` ищет участников
по имени или адресу. `search all` использует общий сервис и по умолчанию ищет только встречи:

```sh
zm search all "example plan" --limit 100 --max-meetings 100 --json
zm meetings evidence meeting:3/15/20/0 --cues 100 --bytes 65536 --json
zm meetings context person:7 --meetings 10 --scan-limit 1000 --json
zm meetings task-proposal meeting:3/15/20/0 --kind promise --json
```

Для других источников явно задайте `--only messages,mail,notes,meetings`. Сообщения читаются в выбранном
аккаунте, почта — из сохранённых почтовых аккаунтов, заметки общие. Встречи ищутся по префиксам;
неподдерживаемый синтаксис и точные запросы отмечаются как пропущенные. Продолжение только по встречам
берёт `meetings.nextCursor` и передаёт через `--meeting-cursor '<json>'`, привязанный к аккаунту и запросу.
JSONL сохраняет весь отчёт, включая пропуски, покрытие и курсоры.

## Прочитать источник [#прочитать-источник]

Ссылка имеет вид `meeting:<account>/<meeting>[/<transcript>[/<cue-position>]]` и относится к выбранному
аккаунту. Ссылки расшифровок сохраняют идентичность старых версий. Ограничены результат и чтение базы;
продолжайте ссылкой на фрагмент через `--after` или курсором версии через `--after-transcript-id`.
Эти параметры несовместимы. `--max-read-bytes` по умолчанию 4 МиБ, `--max-transcript-pages` ограничивает
просмотр версий, включая пустые. Проверяйте продолжение и полноту, а не считайте ограниченный ответ полным.

## Контекст человека [#контекст-человека]

Используются сохранённые связи идентичностей и присутствие в аккаунте, без сопоставления имён говорящих.
Связанный человек не обязательно говорил. Очереди индексов и пределы сканирования могут оставить
контекст неполным. Явно свяжите участника через `meetings link-person`.

## Связать встречу с событием и человеком [#связать-встречу-с-событием-и-человеком]

Основная ссылка — `meeting:<accountId>/<meetingId>`, затем добавляются ID версии расшифровки и позиция
фрагмента. Связи с событием и человеком принимают основную ссылку:

```sh
zm meetings link-event meeting:1/1 --event-id 1 --expected-event-id none --json
zm meetings link-event meeting:1/1 --event-id 1 --expected-event-id none --yes --json
zm meetings link-person meeting:1/1 --participant-id 1 --person 1 --expected-person none --yes --json
```

Изменения сначала показывают план; `--yes` применяет один раз, `--dry-run` важнее. Ожидаемая старая связь
защищает от устаревшего решения. `--event-id none` убирает связь. Перемещается только идентичность
выбранного участника, а не угаданный по имени человек. Нужны разрешённые наблюдения человека в аккаунте;
`--target-accounts <ids>` явно добавляет аккаунты поиска. Метки профиля группируют данные и не подтверждают
удалённую личность.

## Заметки, теги и память через memo [#заметки-теги-и-память-через-memo]

[Memo](https://github.com/WireCatLabs/cli-memo) хранит общие заметки, теги и память. Если путь менялся,
задайте одинаковый `MESSAGING_STORE`. Для профиля Zoom `AliceExample` ключ аккаунта — `zm-profile:AliceExample`:

```sh
memo tags add planning --meeting 1 --provider zoom --account zm-profile:AliceExample --json
memo tags remove planning --meeting 1 --provider zoom --account zm-profile:AliceExample --json
memo notes add --text "Alice Example follow-up" --meeting 1 --provider zoom --account zm-profile:AliceExample --json
memo notes list --about meeting:1/1 --json
memo facts add "Alice Example will review" --type promise --scope work --subject meeting:1/1 --evidence meeting:1/1/1/0 --json
memo facts list --subject meeting:1/1 --json
```

Добавление и удаление в Memo напрямую меняют локальную базу. Факты владельца принимаются сразу;
факты через MCP агента остаются предложенными до проверки. Память отдельно хранит сводки, дайджесты
и предпочтения. Ссылки на версии и фрагменты остаются доступны после исправлений. Примеры вымышлены;
используйте идентификаторы своих встреч и выбранного аккаунта.

## Предложения задач [#предложения-задач]

Поддерживаются вопрос, просьба, упоминание и обещание; `applied: false` и `persistence: "proposal-only"`
означают, что задача не создана. `zm` самостоятельно не извлекает обязательства: агент читает источники
и предлагает задачу по выбранному фрагменту.

Перед сохранением заметок, тегов или фактов попросите агента показать существующие псевдонимы проекта
и метки, затем предложить связи. Проверьте возможные синонимы тегов вместо создания ещё одной метки
для той же темы. Memo устанавливается отдельно и должен использовать тот же путь к базе.

Поиск по смыслу описан в [отдельном руководстве](/llms.mdx/docs/ru/zm/topic-search/content.md). Для подготовки к звонку объедините
найденные отрывки со ссылками и [расписание Zoom](/llms.mdx/docs/ru/zm/remote-meetings/content.md).
