Как всё связано

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

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

Идея

tg, max, memo и drive хранят записи в одном локальном хранилище на вашем компьютере. Запись одного инструмента может быть связана с записью другого. Связь бывает двух видов:

  • Часть самой записи. У сообщения есть чат и отправитель.
  • Отдельная сохранённая связь между двумя записями. Заметка относится к человеку. Факт подтверждён сообщениями.

Адреса одного человека никогда не объединяются по догадке из имён. Каждая сохранённая связь помнит, кто её создал.

Ссылка на источник указывает на любую запись

В каждом результате есть ссылка на источник: короткое типизированное имя записи. Скопируйте её в следующую команду.

СсылкаНа что указывает
msg:telegram/1/77/42Одно сообщение: мессенджер, аккаунт, чат, сообщение
chat:telegram/1/77Чат в одном аккаунте
contact:telegram/501Контакт в одном мессенджере
person:7Человек со всеми аккаунтами, которые вы к нему привязали
organization:3, project:4, task:5Ваши организации, проекты и задачи
note:12, document:3Заметка либо файл из папки заметок или из Drive
memory:8, fact:9Запись памяти или факт

Ссылка на сообщение включает аккаунт, поэтому то же число в другом аккаунте — другое сообщение. Поле со ссылкой в большинстве ответов называется ref. В некоторых ответах оно называется locator, а в одном списке Drive — reference. Копируйте значение, а не имя поля.

tg personal messages context "msg:telegram/1/77/42" --thread

Сообщения, чаты и люди

Сообщение принадлежит одному чату и имеет отправителя. Отправитель — это адрес: один аккаунт в одном мессенджере. Человек — это один или несколько таких адресов.

Объединять адреса в одного человека можете только вы. Одинакового имени или одного почтового домена для этого мало.

tg personal contacts link "Kai Sample" max:Kai

После этого contacts timeline идёт за человеком через мессенджеры. Команда показывает, что он писал, где его упоминали, его чаты, почту, встречи и задачи, от новых к старым, только из хранилища.

tg personal contacts timeline "Kai Sample" --since-time 2026-10-01 --limit 20

Инструмент также записывает, кто в чём участвовал (отправитель, получатель, участник, исполнитель, автор, упомянутый, связанный). Поэтому «всё о Kai» — это один запрос, а не перебор всех сообщений.

Ответы и разговоры

У каждого сообщения может быть указатель на более раннее сообщение, на которое оно отвечает. Каждый указатель знает, откуда он взялся:

  • Мессенджер. Явный ответ. Он важнее всего остального.
  • Правило инструмента. Сообщение, которое кого-то упоминает или продолжает того же отправителя.
  • Ваш агент. Ответ, который он сохранил, прочитав чат. Для сохранения нужно разрешение профиля conversations.links.

conversations build собирает эти указатели в разговоры одного чата. messages context с --thread идёт по цепочке от сообщения, а не показывает соседей по времени. Связь, устаревшая после правки или удаления, показывается, но по ней не идут. После пересборки у разговоров новые id, поэтому сохраняйте ссылку msg: на сообщение, а не id разговора. Как строится граф: Как устроен поиск.

Файлы, голосовые и картинки

  • Файл принадлежит сообщению, письму или встрече. Его извлечённый текст остаётся при нём, поэтому content: находит сообщение, которое принесло файл.
  • Расшифровка голосового принадлежит сообщению, поэтому transcript: находит это сообщение.
  • Картинку находят через чат вокруг неё или по тому, что на ней. Оба способа описаны в разделе Что попадает в поиск.

Упоминания

Упоминание — это телефон, адрес почты, ссылка, ссылка на документ Google или имя знакомого вам человека, найденные по правилам в тексте сообщений, файлов и расшифровок. Каждое упоминание начинается как found. Затем вы подтверждаете его (linked) или отклоняете (dismissed).

  • mentions list показывает найденное. mentions show <id> показывает текст вокруг одного упоминания.
  • mentions confirm <id> person:7 говорит, кому принадлежит телефон или адрес, либо какого человека означает имя. Для телефона или адреса подходит и person:, и organization:. Сохранённому документу Google аргумент не нужен.
  • mentions reject <id> отклоняет это значение везде и при следующих синхронизациях. Обычную ссылку нельзя подтвердить, только отклонить.
  • mentions rebuild читает сообщения, сохранённые до появления упоминаний. mentions rebuild person-name заново ищет имена, когда вы добавили или переименовали людей.

Обе команды записывают, кто решил. Если их запускает агент, решение сохраняется на имя агента; --as-owner сохраняет его как ваше.

Поиск находит упоминания, как бы они ни были написаны: phone:, email:, url: и domain: смотрят на значение, а mentions:"person:7" находит сообщения, где упомянут подтверждённый человек, организация или документ. Эти команды есть в последних релизах tg и max; проверьте свои через mentions --help. Подробнее: Что попадает в поиск.

Заметки, задачи, факты и память

memo хранит записи, которые вы или ваш агент пишете обо всём перечисленном.

  • Заметка относится к человеку, чату, задаче или документу. Ссылка [[Kai Sample]] в заметке становится связью с этим человеком, как только в хранилище есть кто-то с таким именем или username. Имя в обычном тексте связью не является.
  • Задача может возникнуть из сообщения. Задача-вопрос связана с сообщением, которое на неё ответило.
  • Факт (утверждение, вопрос, решение или обещание) хранит связи с доказательствами: сообщениями, заметками или документами, на которых он держится. Новое решение может заменить прежнее. Факт, который добавил агент, ждёт как предложенный, пока вы его не примете.
  • Запись памяти — вывод с доказательствами и статусом проверки. Изменение источника может сделать её устаревшей.

Теги

Тег ставится на любую запись: сообщение, чат, человека, документ, заметку, задачу. tag:work находит сообщение с этим тегом, сообщение в чате с этим тегом и сообщение от человека с этим тегом. Тег на папке Drive действует на каждый документ внутри.

tg personal tags add work --chat "Book club"

Документы Drive

drive импортирует документы в то же хранилище. У документа могут быть теги, заметки, факты и записи памяти, а также связь с человеком (drive relationships, drive tags). drive documents list --person person:7 показывает документы, связанные с этим человеком.

Кто создаёт связь

СвязьКто создаёт
Сообщение в своём чате, с отправителемИнструмент, когда сохраняет сообщение
ОтветМессенджер
Предполагаемый ответ (упоминание, тот же отправитель)Правило инструмента
Выбранный ответВаш агент, с conversations.links
Телефон, почта, ссылка, документ или имя в текстеПравило инструмента, со статусом found
Упоминание подтверждено или отклоненоВы или ваш агент, с записью имени
Два адреса — один человекВы, через contacts link
ТегВы, через tags add
Заметка, задача или факт о записиВы или ваш агент через memo
Факт от агентаВаш агент, как предложенный; вы его принимаете

Каждая сохранённая связь помнит источник: file (написана в файле заметки), owner (добавили вы), suggested (предложена, ещё не подтверждена) или message (написана в сохранённом сообщении).

Как использовать связи в вопросе

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

Запрос
Используй tg CLI. Найди сообщение, где мы договорились о дате доставки, и покажи сообщения вокруг него как один разговор.
Запрос
Используй tg CLI. Кому принадлежит телефон +1 555 010 0100? Покажи, где он встречается, и предложи человека.
Запрос
Используй tg CLI. Покажи всё о Kai Sample за последний месяц во всех мессенджерах, которые я к нему привязал.
Запрос
Используй memo. Какая задача возникла из сообщения про счёт и какое сообщение на неё ответило?

Если связи не хватает

СимптомВероятная причинаЧто сделать
В хронологии человека виден один мессенджерАдреса не объединеныcontacts link, затем повторите запрос
--thread показывает только соседей по времениДля чата не собраны разговорыconversations build --chat "Book club"
Телефон или почта в старом сообщении не находятсяСообщение сохранено до появления упоминанийmentions rebuild
Имя нового контакта не находитсяУпоминания собрали до того, как появился человекmentions rebuild person-name
Слова внутри файла не находятсяТекст файла не извлечёнattachments extract
В чате нет сообщений вообщеИстория не скачанаmessages sync

Дальше: Ищите эффективно показывает, как выбрать команду и сузить поиск. Столбцы хранилища, на которых держатся эти связи, описаны в модели данных.