С ловом Catch — превратите ответ OrbitPilot в Blink
Что делает Catch
Рядом с кнопкой Копировать и значками thumbs-up/thumbs-down на каждом ответе OrbitPilot находится иконка закладки — Catch. Нажмите на нее и этот ответ превращается в Blink: текст (очищенный — без лишнего Markdown, без уведомлений "из вашего файла"/"моя память устарела", просто то, что на самом деле сказал OrbitPilot), заголовок, предложенный из первой строки, и ссылка обратно на точный разговор, из которого он пришел.
Вы также можете поймать весь разговор одной действием, из меню ☰ → "Сохранить этот разговор" (на полной странице чата та же кнопка находится в заголовке разговора). Это делает ОДИН Blink, содержащий всё, что было сказано до сих пор.
Уже поймано?
Когда ответ (или сессия) был пойман, иконка закладки заполняется, и кнопка становится "Уже поймано" — ссылкой прямо на Blink. Повторное сохранение того же ответа не создает второго Blink; это просто возвращает вас к уже имеющемуся.
Сохранение сессии — это моментальный снимок, а не окно
Сохранение целого разговора замораживает его в этот момент. Если вы продолжите общаться после этого, этот Blink не увеличивается — сам Blink это говорит такими словами: "Содержит этот разговор до <дата/время>. Поздние сообщения не включены." Заголовок самого разговора также показывает это: как только новые сообщения приходят после вашего последнего сохранения, он сообщает вам об этом и позволяет сохранить снова — что делает новый Blink с его собственным, более поздним временем "до". Ваш более ранний моментальный снимок никогда не переписывается без вашего ведома.
Очень длинный разговор обрезается, а не теряется: Blink сохраняет самую недавнюю часть и прямо говорит, сколько предыдущих сообщений было обрезано, чтобы ничего не было утеряно без вашего ведома.
Двунаправленные ссылки
Blink и разговор всегда указывают друг на друга. Откройте Blink, и вы найдете ссылку обратно на "разговор OrbitPilot" (точный ответ, когда это было сохранение по ответу); откройте разговор, и вы увидите маркер "Уже поймано", связывающий прямо с Blink.
Гостевые пользователи
Посетители без входа в систему тоже видят иконку Catch — нажатие на нее является моментом для приглашения создать бесплатный аккаунт, тот же самый запрос регистрации, который показан при лимите бесплатного предварительного просмотра. Ничего не сохраняется для гостя, пока они не зарегистрируются.
После того, как это поймано
Пойманный Blink — это обычный Blink — он поступает в вашу память OrbitPilot так же, как любой новый или отредактированный Blink (если ваш план имеет включенный автоматический режим "быстрая полоса", активированный вашим администратором), показывает тот же значок статуса памяти, как и всё остальное в вашей Библиотеке, и его можно редактировать, классифицировать или удалять, как любой Blink, который вы написали вручную.
Для разработчиков
Вся логика принятия решений — очистка текста ответа, предложение заголовка, гарантия идемпотентности, моментальный снимок сессии и его обрезка, обе половины двунаправленной ссылки — находится в orbitpilot/catch.py
(catch_message / catch_session), вызываемых из двух тонких представлений,
orbitpilot_catch_message и orbitpilot_catch_session
(orbitpilot/views.py), обе с ограничением по частоте, требующие входа и масштабируемые по правам собственности на сообщение/разговор. Происхождение хранится двумя способами:
OrbitPilotCatch (новая модель — разговор/сообщение → Blink, уникальный для сообщения) является обратным просмотром, который считывает страница разговора; запись BlinkLink
(существующая модель "привязать URL к wink") является прямой ссылкой Blink, поэтому никакой новый механизм происхождения не был изобретен. Пойманный Blink создается через обычный Blink.objects.create(), так что сигнал быстрой полосы post_save BL-161 принимает его ровно так же, как и любой другой Blink — ничто в этой функции не взаимодействует с памятью напрямую.
Связанные страницы
Docshub: "Ядро OrbitPilot, буклет и быстрая полоса" (память/BL-161).
docs/orbitpilot/TASKS.md.
This guide was translated automatically. Read the English original.