События полёта
Раздел События полёта (/events) — журнал того, что случилось в полёте.
Зачем это нужно
«Инцидент» — авиационный термин с негативной окраской: происшествие, ущерб,
протокол. Записать же хочется и то, что просто запомнилось: задел крылом
товарища в групповом полёте, было весело, хочется сохранить и показать.
Поэтому сущность здесь одна — событие, а глубина у неё регулируемая;
инцидент остаётся её частным случаем.
- Отметка — своя ошибка, причина понятна: борт, дата, тип. Три секунды.
Ценность не в самой записи, а в накоплении: к концу сезона видно, что
четыре случая из шести — на посадке. Это зеркало ваших слабых мест, и оно
работает, даже если никакого учёта вы не ведёте. - Расследование — причина непонятна или отказала техника: симптом,
обстоятельства, логи, версии причин, вывод. Долгое, вечернее,
с доказательствами. Разворачивается из отметки, отдельной сущности для
него нет.
Разбора заслуживает непонятное, а не дорогое: даже полная утрата при
собственной ошибке разбора не требует, а отказ техники требует при любом
ущербе.
Записанное помогает не повторять собственные ошибки (история по каждому борту
в Ангаре), учиться на чужом опыте (публичные события
видны всем участникам) и отделять гипотезы от фактов: предполагаемая причина
фиксируется сразу, подтверждённая — по итогам расследования.
Вверху раздела — сводка: всего событий, процент закрытых выводом,
процент полных потерь, ваши события.
Отметка: три секунды
Нажмите + Описать событие (/events/new). Видимая часть формы — и есть
отметка, в ней нет ни одного необязательного поля.
Если вы прямо сейчас в поле, у места падения, форма не нужна и там:
кнопка В поле рядом открывает короткий чеклист, где
не нужно вводить текст вообще, — а описание пишется вечером.
| Поле | Примечание |
|---|---|
| Дата и время | когда произошло событие; в новой записи уже подставлено «сейчас» — поправьте, если записываете задним числом |
| Борт | из Ангара или вручную — см. ниже |
| Фаза полёта | Предполётная подготовка / Взлёт / Крейсерский полёт / Манёвр / Посадка |
| Категории | теги, можно несколько (до 4): Мотор, Регулятор (ESC), Аккумулятор, Потеря RC-связи, Потеря видеосвязи, Конструкция, ПО / автопилот, Пилотирование, Погода, Неизвестно, Другое |
Кнопка Описать событие сохраняет запись. Всё остальное — необязательно и
дописывается позже.
Расследование: то же событие, глубже
Блок «Расследование» в форме (свёрнут при создании, раскрыт при
редактировании) добавляет к отметке то, что нужно разбору:
| Поле | Примечание |
|---|---|
| Описание события | что произошло, хронология, поведение аппарата |
| Серьёзность | Без последствий / Повреждения / Полная потеря (по умолчанию — без последствий) |
| Место | свободный текст: склон, поле, трасса… |
| Погода | заполняется автоматически по точке и времени (см. ниже), можно править: «Ветер 8–12 м/с, +18 °C» |
| Предполагаемая причина | первая гипотеза — что, по-вашему, отказало |
| Теги | через запятую: inav, autolaunch, esc |
| Видимость | флажок «Публичный — виден всем участникам» (по умолчанию событие приватное) |
Уже сохранённая отметка разворачивается в расследование кнопкой
«Развернуть в расследование» на её карточке — она открывает ту же форму
правки с раскрытым блоком.
Категория «Неизвестно» — для случаев, когда причина отказа не установлена:
честнее, чем «Другое», и не искажает статистику категорий.
Категории выбираются тегами: селект «+ Добавить категорию…» добавляет чип,
крестик на чипе убирает его. Причин может быть несколько (например, «Потеря
RC-связи» + «Пилотирование») — все теги видны в журнале и на карточке,
фильтр по категории находит событие по любому из тегов, а ИИ-разбор
учитывает их все.
Борт: из Ангара или вручную
- Если в Ангаре есть борта — поле Борт показывает селектор
ваших бортов в формате «имя — модель». Событие привязывается к борту
и появится на его карточке. - Кнопка Ввести вручную переключает на свободный ввод имени борта —
для чужого аппарата или борта, которого нет в Ангаре. (При редактировании
переключение в ручной режим отвязывает борт.) - Если бортов нет — сразу ручной режим и ссылка «заведите борт в Ангаре».
- Если открыть форму со страницы конкретного борта (быстрое действие
«Описать событие» на Обзоре борта), этот борт уже выбран в
селекторе — не нужно искать его в списке. Предвыбирается только ваш борт;
посторонняя ссылка на чужой борт просто открывает форму без предвыбора.
Предполагаемая и подтверждённая причина
- Предполагаемая причина заполняется при создании — рабочая гипотеза.
- Подтверждённая причина появляется в форме редактирования — заполните её,
когда расследование завершено (разбор обломков, логи, воспроизведение).
Оба поля видны в паспорте события на его карточке.
Статусы расследования
У нового события статус «Открыт». Владелец меняет статус прямо на странице
события — селектом в ряду бейджей, без открытия формы (статус сохраняется
сразу). Тот же статус доступен и в форме редактирования.
| Статус | Смысл |
|---|---|
| Открыт | событие зафиксировано, разбор не начат |
| Расследование | идёт анализ логов/обломков, причина уточняется |
| Закрыт | причина установлена, выводы сделаны |
Закрытое событие защищено от правок: поля становятся read-only — кнопка
«Редактировать» скрывается, а API отклоняет изменения полей (можно менять
только статус). Чтобы отредактировать закрытое событие, переоткройте его —
смените статус на «Открыт» или «Расследование», редактируемость вернётся.
Комментарии и вложения у закрытого события работают как обычно.
Карточка события
/events/view/{id} — описание, паспорт (борт, дата, фаза, место, погода,
причины), бейджи серьёзности/статуса/категории/видимости и теги. Владельцу
доступны кнопки Редактировать и Удалить. Удаление события
безвозвратно и удаляет вместе с ним все его вложения (фото, видео, логи).
Если событие привязано к борту из вашего Ангара, имя
борта в шапке карточки — кликабельная ссылка на его страницу (AD-961), при
любой тяжести происшествия, а не только при полной потере. Ссылку видит
только владелец борта — для остальных зрителей (в т. ч. владельца самого
события, если борт не его) имя остаётся текстом: чужой Ангар не
раскрывается. Если борт позже удалён из Ангара, событие это переживает —
привязка снимается автоматически, и имя борта показывается обычным текстом
без ссылки (см. «Редактирование и удаление»).
Фото-обложка
Если к событию приложено фото, оно становится обложкой — показывается
миниатюрой в журнале и в шапке карточки. Правила:
- первое загруженное фото назначается обложкой автоматически;
- при нескольких фото владелец выбирает главную кнопкой «Сделать обложкой»
рядом с вложением (текущая помечена бейджем «Обложка»); - кнопка «Убрать обложку» на текущей обложке снимает её явно, не удаляя
само фото-вложение — карточка и журнал переходят на фолбэк (см. ниже), пока
не будет выбрана новая обложка; - при удалении вложения, которое было обложкой, автоматически подставляется
следующее фото-вложение; - если фото-вложений нет (или обложка снята и заменить нечем), используется
фолбэк: фото привязанного борта из Ангара → фото
модели борта → стандартный баннер раздела.
Обложку видит каждый, кто видит событие (та же приватность, что у самого
события); состав вашего Ангара при этом не раскрывается.
Вложения
Фото и логи полётных контроллеров прикладываются в блоке Вложения
(только владелец): выберите файлы и нажмите Загрузить. Можно выбрать
несколько файлов сразу — они загрузятся по очереди с индикатором
прогресса; если какой-то файл не прошёл проверку, остальные всё равно
загрузятся, а причины отказа будут перечислены под формой.
Файлы можно и перетащить мышью: вся карточка «Вложения» — drop-зона.
При перетаскивании она подсвечивается с подсказкой «Отпустите, чтобы
загрузить»; сброшенные файлы уходят тем же конвейером, что и кнопка —
с тем же прогрессом, проверками типов/лимитов и общим отчётом об ошибках.
Кнопка выбора файлов никуда не девается — на телефонах и планшетах без
drag&drop всё работает как раньше.
- Допустимые типы:
- фото —
jpg,jpeg,png,webp,heic; - видео —
mp4,mov(другие контейнеры — mkv, avi и т. п. — отклоняются
с пояснением; конвертируйте в MP4/MOV); - логи —
bin,bbl(Betaflight blackbox),log,tlog(ArduPilot),
ulg(PX4),txt,csv; - архивы —
zip(например, набор логов одним файлом); - содержимое проверяется по сигнатуре файла, а не только по расширению —
видео, переименованное в.jpg, будет отклонено; - фото автоматически сжимаются: длинная сторона до 2560 px, JPEG —
детали повреждений сохраняются, а место экономится (оригинал не хранится;
HEIC сохраняется как есть); - фото и видео показываются единой сеткой миниатюр (в порядке загрузки);
у видео на миниатюре — первый кадр со значком ▶. Клик открывает
полноэкранный просмотр с листанием по всем медиа подряд (стрелки, свайп,
Esc): фото — картинкой, видео — встроенным плеером с перемоткой прямо
в карусели (хранится без перекодирования). На публичных shared-страницах
карусель работает так же, только на чтение; - действия на миниатюрах (только владелец): «Сделать обложкой» / «Убрать
обложку» (у фото — кнопка переключается в зависимости от того, обложка это
сейчас или нет), «Скачать» и «Удалить» (с подтверждением) — всё применяется
сразу, без перезагрузки страницы; - файлы, которые не фото и не видео (логи
txt/csv,binblackbox,
архивы), показываются компактной строкой «Файлы» со скачиванием — в
карусель они не попадают; - лимиты: 25 МБ на файл (видео — 200 МБ), до 20 файлов и
500 МБ суммарно на одно событие; текущий суммарный объём показан
над сеткой вложений; - скачать вложение может каждый, кто видит событие (в строке «Файлы» —
ссылкой, у медиа владельцу доступна кнопка «Скачать» на миниатюре).
Лимиты настраиваются переменными окружения INCIDENT_ATTACHMENT_MAX_BYTES,
INCIDENT_VIDEO_MAX_BYTES, INCIDENT_ATTACHMENT_MAX_FILES,
INCIDENT_ATTACHMENT_MAX_TOTAL_BYTES и INCIDENT_ATTACHMENT_ALLOWED_EXTENSIONS.
Сверх лимитов ОДНОГО события действует ОБЩАЯ квота хранилища —
5 ГБ на все ваши файлы платформы сразу (см.
«Ангар» → общая квота хранилища); загрузка сверх неё
отклоняется, даже если у самого события лимит ещё не исчерпан.
Трек полёта и место падения
Если событие привязано к борту из Ангара, на карточке
появляется блок «Трек полёта» — маршрут полёта, закончившегося событием,
на карте (та же карта, что во вкладке «Полёты» борта).
Связь идёт через ОБЩИЙ трек — файл лога не копируется: и полёт на вкладке
«Полёты» борта, и событие ссылаются на ОДИН и тот же загруженный трек
(track_id). Загрузили лог один раз — распоряжайтесь им из любой карточки.
- Выбор трека. Владелец выбирает один из уже загруженных треков борта в
выпадающем списке — маршрут сразу отрисуется (старт/финиш маркерами, авто-зум
по границам). - Загрузка нового трека прямо из события: кнопка «Загрузить трек»
принимает файл GPX, KML, blackbox-лог или ArduPilot DataFlash-лог
(.bin/.log), разбирает его и СРАЗУ привязывает к событию — платформа
автоматически заводит по этому логу полноценный полёт (тот же
POST .../tracks, что и загрузка на вкладке «Полёты»), трек при этом
появляется и там — он живёт у борта, файл не копируется. - Лог уже приложен к событию? Не грузите его повторно. Если лог
полётного контроллера (например, ArduPilot.bin) уже загружен в блок
«Вложения» (см. выше), рядом с ним в строке «Файлы» есть кнопка 🛩️
«Создать полёт из этого лога» — она читает байты ТОГО ЖЕ вложения, без
повторной загрузки файла, и сразу заводит полёт борта + привязывает его к
событию (тот же итог, что у «Загрузить трек» выше). Кнопка видна только
владельцу, только у вложений, чьё расширение похоже на лог полёта, и только
когда событие привязано к борту. - Обратное направление — из карточки полёта. На вкладке «Полёты» борта у
каждого трека есть кнопка «Завести событие» (или, если трек уже
привязан, — прямая ссылка «🚨 Открыть событие»): открывает форму
создания с уже выбранным бортом и предзаполненным временем происшествия
(конец GPS-трека, см. ниже) — после сохранения событие сразу свяжется с
этим треком. Это ОБЫЧНАЯ форма, а не тихое создание события за
пользователя — серьёзность, категории и описание всё равно заполняются
осознанно. - Место падения (💥). Отдельным красным маркером отмечается точка краша.
По умолчанию это последняя точка трека; можно кликнуть по карте, чтобы
переставить маркер в нужное место. «Отвязать» убирает и трек, и метку. - Приватность — как у события. Приватное событие и его трек видит только
владелец; у публичного события трек и место падения видны всем, кто
открыл карточку, — даже если сам борт им недоступен. Выбирать/загружать треки
и ставить метку может только владелец. - Точное время из GPS-лога. Если у привязанного трека есть GPS-время и оно
заметно отличается от даты/времени, указанных в форме события, под картой
появляется подсказка «Использовать это время» — берётся момент конца
записанного маршрута (обычно ближе к посадке/крашу, чем то, что вспомнили и
вписали вручную). Подсказка ничего не меняет сама — только по явному клику
владельца; поле occurred_at, введённое руками, никогда не перезаписывается
молча. Если у трека нет GPS-времени (KML без меток, blackbox без фикса
спутников) — подсказка не показывается. - Удаление одной стороны не рвёт другую. Трек принадлежит борту, а не
событию — удаление события НЕ удаляет трек (он остаётся на вкладке
«Полёты»). А если удалить сам трек (или весь борт) — платформа честно
отвязывает его от события (трек и место падения пропадают из карточки
события вместо битой ссылки), само событие остаётся.
Комментарии
Комментарий может оставить любой залогиненный пользователь, который видит
событие (владелец — всегда; остальные — если событие публичное).
Авторы подписываются как «Вы», «Автор разбора» или «Участник» — без раскрытия
личных данных.
Текст комментария понимает markdown: заголовки (## Хронология), списки
(- пункт), таблицы, выделение (**важно**) и блоки кода (```) — удобно
для разборов логов и чек-листов. Обычный текст писать тоже можно: переносы
строк сохраняются как есть. HTML-теги из комментария вырезаются.
Редактировать / Удалить свой комментарий можно в любой момент — кнопки
показываются только под СВОИМИ комментариями (чужие, включая комментарии
владельца события к его же событию, недоступны для правки другому
участнику). Отредактированный комментарий помечается меткой «(edited)»
рядом с датой. Через API: PUT/DELETE /api/incidents/{id}/comments/{comment_id}
(редактируется поле body); ACL — только автор комментария, не обязательно
владелец события.
Комментарии учитываются ИИ-разбором: и одиночный разбор события, и
сводный анализ читают обсуждение (с ограничением количества и длины) — версии
и наблюдения участников попадают в контекст модели. Имена и email в промпт
не передаются, только роль («автор события» / «участник»).
Разбор ИИ
Разбор одного события
В карточке события кнопка «Разобрать (ИИ)» запускает локальную модель
в три шага. Сначала из полей события, текстовых логов вложений (LOG, TXT,
CSV, BBL), фото (если доступна модель зрения) и комментариев извлекаются
факты и хронология — строго то, что есть в данных. Затем причины
раскладываются по ролям: что запустило происшествие (триггер) и какая
ОДНА причина решила исход (решающий фактор — например, «RTH не был
настроен» это НЕ то же самое, что «RTH не сработал», и модели запрещено их
путать), плюс отягчающие обстоятельства и что могло бы смягчить исход.
Наконец формулируется профилактика — каждая рекомендация привязана к
конкретной причине, а не звучит общей фразой вроде «быть внимательнее».
Модель честно помечает недостающие данные (лог не приложен, причина не
подтверждена и т.п.), а не додумывает их, и не оценивает личные качества
пилота. Итог — вероятные причины, рекомендации и чек-лист перед следующим
полётом; разбор сохраняется в событии, кнопка «Обновить разбор»
перезапускает его.
Статус показывается живьём: «В очереди (N)» → «Анализирую…» → результат.
Страницу можно закрыть или уйти на другую — разбор продолжится в фоне,
а при возвращении карточка сама переподхватит запущенную задачу и
покажет результат. Если разбор упал, пока вы отсутствовали, карточка
покажет текст ошибки, а не промолчит.
Массовый разбор
На странице журнала (если у вас есть неразобранные события) — кнопка
«Разобрать неразобранные (N)». Задачи ставятся в очередь автоматически,
порциями в рамках лимита очереди (следующие подаются по мере завершения
предыдущих); прогресс — «Разобрано N из M». Ошибки отдельных разборов
не прерывают остальные и показываются итоговым сообщением.
Сводный разбор
Кнопка «Сводный разбор (ИИ)» смотрит на весь ваш журнал как инструктор:
не «какой узел сломался», а какой навык подтянуть. Отчёт кэшируется и
показывается при открытии списка; «Обновить сводку» пересобирает его.
Запущенная сводка переживает перезагрузку страницы — отчёт дорисуется при
возвращении.
Что показывает отчёт (коучинговый порядок):
- Слабая сторона №1 — самый дорогой управляемый кластер ошибок с пометкой,
повторяется ли он во времени (если да — навык ещё не закрыт). - Зоны роста мастерства — по осям навыков (пилотирование, инженерия и
постройка, предполётная подготовка): что вы делаете не так и что тренировать,
с частотой («9 из 33») и ранжиром по покрытию и тяжести. - Профиль ошибок по навыкам — распределение событий по осям (частоты
считает программа, не модель). - Повторяющиеся паттерны — только подтверждённые ≥ 3 событиями (для
событий с полной потерей аппарата — ≥ 2); всё, что реже, уходит в
единичные случаи — наблюдать, а не в «системные ошибки». - Топ-рекомендации — привязаны к паттернам, отсортированы по покрытию и
тяжести. - Осторожность — внешние факторы (погода, среда): это не навык, поэтому в
зоны роста не попадает и разбирается отдельным блоком. - Разрезы — по бортам (борт-рекордсмен виден сразу), фазам полёта, тяжести
и свежести (последние полгода / 6–12 месяцев / старше года).
Частоты, профиль навыков и разрезы считает программа по вашим событиям —
модель их не выдумывает, а формулирует выводы по готовой статистике; отдельный
проверочный проход следит, чтобы у каждого паттерна была подтверждающая
частота. Сводка опирается на индивидуальные ИИ-разборы событий (см. выше) —
чем больше событий разобрано по отдельности, тем точнее выводы; у ещё не
разобранных берутся описание и комментарии.
Как только разбор одного события завершается, программа раскладывает его
причины по компактным меткам (например, «не настроен failsafe», «потеря
RC-связи», «износ узла») — без нового обращения к модели. Эти метки и есть та
ось, по которой считается «причинный профиль»: сколько событий приходится
на каждую метку триггера/решающего фактора/итога, — число, а не пересказ.
События без индивидуального разбора и разборы, сделанные до этого улучшения,
по-прежнему попадают в статистику по своим полям (фаза, тяжесть, борт) — просто
менее детально, а не исчезают из подсчёта.
Время ответа локальной модели ограничено (переменная окружения
LLM_JOB_TIMEOUT_S, по умолчанию 180 секунд); при превышении лимита
сообщение об ошибке показывает фактическое значение. Одновременно в очереди
может стоять не более LLM_MAX_QUEUED_PER_USER задач (по умолчанию 3) —
массовый разбор учитывает это сам.
Фильтры, поиск и сортировка списка
Над панелью — переключатель «Все / Только мои»: «Все» показывает ваши
события и публичные события сообщества, «Только мои» скрывает чужие.
Выбор запоминается в браузере и комбинируется с фильтрами ниже; кнопка
Сбросить возвращает «Все».
Панель фильтров применяется мгновенно, без перезагрузки страницы:
- Поиск — живой, посимвольный: по имени борта, модели и описанию;
- Статус — открыт / расследование / закрыт;
- Модель — модели бортов вашего флота; фильтр появляется, когда среди
событий есть привязанные к Ангару борта; - Борт — конкретный экземпляр: привязанный борт из Ангара или имя,
введённое вручную; - Серьёзность, Категория (совпадение по любому из тегов события), Фаза полёта — по значению.
Фильтры и поиск комбинируются (логика И); кнопка Сбросить возвращает
полный список. Если по выбранным условиям ничего не нашлось — появится
заглушка «Ничего не найдено по фильтрам» с кнопкой сброса.
Над панелью — счётчик «Показано N из M»: N — записи, видимые после
применения фильтров, поиска и вкладки «Все / Только мои», M — все записи
журнала. Счётчик пересчитывается мгновенно при каждой смене условий.
Количество событий показывается и на публичных страницах: у shared-ссылки
на весь журнал и у подборки — бейдж «Событий: N».
Сортировка — в той же панели: по дате (по умолчанию, новые сверху),
серьёзности, борту/модели или статусу; направление переключается кнопкой
↑/↓. Выбор сортировки запоминается в браузере.
Фильтры работают и как query-параметры API
(/api/incidents?category=…&severity=…&flight_phase=…&status=…), дополнительно
API принимает tag и aircraft_id. Те же параметры у страницы /events
подсвечивают соответствующие фильтры панели (deep-link).
Приватность
- По умолчанию событие приватный — виден только вам.
- Сменить видимость можно в диалоге «Поделиться» — переключатель
«Публичный — виден всем пользователям платформы» (доступен и у закрытого
события: это управление доступом, а не правка полей). Публичность
не зависит от списка участников e-mail-шаринга. - Публичный событие видят все залогиненные пользователи (чтение
и комментарии); править и удалять его можете только вы. - Опубликовать разбор без входа — ВТОРОЙ, отдельный переключатель в том же
диалоге (появляется, когда событие уже публичное). Он открывает разбор
всем, включая поисковики: событие попадает в общий список
публичных разборов и получает собственную страницу
/events/public/…. Сам по себе он не включается никогда — публикация
не наследуется от «Публичный», и уже заведённые события задним числом
никуда не попадают. - Что именно видно без входа: дата, имя аппарата, фаза полёта, категории,
серьёзность, статус, описание, версия и подтверждённая причина, условия
погоды, вывод «чем кончилось» и связка (мотор/регулятор/винт) из снимка
конфигурации на момент события. НЕ публикуются фотографии, вложения,
комментарии, координаты и место (площадка), трек полёта, разбор ИИ, полевая
голосовая заметка и список участников шаринга. - Выключили «Публичный» — публикация без входа снимается вместе с ним (обратно
сама не включится: понадобится снова поставить обе галочки). - Привязанный борт другим пользователям показывается только по имени —
состав вашего Ангара не раскрывается.
Шаринг всего журнала
Открыть панель управления шарингом можно двумя путями: кнопкой
«Поделиться журналом» на /events или кликом по бейджу
«Журнал поделён (N)» (N — сколько человек получили доступ по email).
В панели:
- Ссылка на журнал — тумблер выдаёт read-only ссылку
/events/shared/…на весь журнал (включая приватные записи).
Новая ссылка сразу открыта: журнал увидит любой, у кого она есть,
без входа — только чтение (журнал событий не секрет, вы сами решаете
делиться). Строка ссылки — с кнопкой «Копировать». - Без входа — тумблер режима доступа. По умолчанию включён (ссылка
открыта всем). Выключите его, чтобы пускать по ссылке только участников
из списка email ниже (и вас) после входа; анонима такая ссылка отправит
на страницу входа, а залогиненного не из списка — на «ссылка
недействительна». - Срок действия ссылки — авто-отзыв по таймеру: «Бессрочно» (по
умолчанию) либо 7 / 30 / 90 дней. По истечении срока ссылка перестаёт
открываться (отдаёт «ссылка недействительна»), как отозванная. Статус
ссылки виден тут же: «Ссылка активна · действует до …» или
«Срок действия ссылки истёк». - «Перевыпустить» — меняет только адрес ссылки: старый URL мгновенно
перестаёт работать, а режим доступа и срок действия сохраняются. - «Закрыть доступ» — полный отзыв: гасит и ссылку, и весь доступ по
email разом. - Доступ по email — участники платформы из списка видят все ваши
события в собственном журнале, могут читать и комментировать. Кнопка
«Сохранить» применяет список; счётчик на бейдже обновляется сразу,
без перезагрузки страницы.
Выдача, отзыв, перевыпуск и смена настроек ссылки фиксируются в вашей
истории действий («Моя активность» в настройках).
Со shared-страницы журнала можно переходить в карточки событий —
они открываются в том же режиме доступа, только на чтение (без форм
комментария и LLM-разбора). Фото, видео и прочие вложения, а также обложки
показываются и скачиваются в рамках этого же shared-доступа — чужим
событиям и вложениям токен ссылки доступа не даёт.
Ссылки, выданные до этого обновления, могли требовать входа по умолчанию.
Если журнал должен быть открыт всем — проверьте тумблер «Без входа».
Подборки: выделение и шаринг выбранных событий
Если делиться нужно не всем журналом, а несколькими разборами — соберите
подборку:
- Отметьте события чекбоксами на карточках журнала (чекбоксы есть
только у ваших событий — чужие в подборку не попадают).
Флажок «Выбрать все видимые» отмечает всё, что прошло активные
фильтры и поиск; кнопка «Сбросить выделение» снимает отметки. - Нажмите «Поделиться выбранными (N)» — откроется диалог подборки:
- публичная ссылка/events/shared-selection/…создаётся сразу:
по ней выбранные события видны без входа, только на чтение;
со страницы подборки открываются и карточки этих событий —
read-only, с фото и вложениями (в рамках подборки);
- доступ по email (опционально) — участники платформы из списка
увидят события подборки в собственном журнале и смогут открывать
их карточки (чтение и комментарии, как при обычном шаринге). - Кнопка «Создать подборку» сохраняет её и показывает ссылку —
скопируйте и отправьте.
Активные подборки собраны в диалоге «Мои подборки» (кнопка появляется
рядом с «Поделиться журналом»): для каждой — ссылка, «Перевыпустить»
(мгновенно гасит старую ссылку и выдаёт новую) и «Отозвать» (удаляет
подборку целиком — перестают работать и ссылка, и доступ по email).
В одну подборку помещается до 100 событий; создание и отзыв подборок
фиксируются в вашей истории действий («Моя активность» в настройках).
Карта места и автопогода
Точку события можно указать на карте (кнопка Указать на карте в форме;
без настроенного ключа Яндекс.Карт — ручные поля широты/долготы). Флажок
«Место примерное» помечает координаты как неточные.
Погода подтягивается автоматически: как только вы применили место
(«Готово» в модале карты или ввели пару координат вручную) и указана дата,
поле «Погода» заполняется сводкой по точке и времени события. Смена
даты/времени при выставленной точке обновляет сводку. Поле остаётся
редактируемым: если вы поправили текст руками, автоподстановка его не
перезапишет до следующего применения места. Если погода недоступна
(нет ключа WeatherAPI, дата старше 7 дней, сбой сервиса) — причина
показывается подсказкой под полем, введённый текст не затирается.
Конфигурация на момент события
Слова «у меня тоже такое было» без версии прошивки, настроек и состава железа
выводов не дают. Поэтому событие с привязанным бортом само запоминает
конфигурацию: версию и ветку прошивки, плату, настройки полётника из
сохранённого бэкапа и состав из активной конфигурации борта. Блок
«Конфигурация на момент события» показывает это на карточке.
Ключевое — это снимок, а не ссылка на текущее состояние борта. Борт живёт:
перепрошивка, замена мотора, правка настроек — через месяц ссылка описывала бы
уже другой аппарат. Берётся самый свежий бэкап настроек, снятый не позже
момента события; бэкап, сделанный уже после падения (типичный случай — «сняли
дамп, когда разбирались»), в снимок не идёт, и карточка честно говорит об этом.
Чего собрать не удалось — перечислено прямо в блоке: нет бэкапа на тот момент,
не привязан полётник, у борта нет конфигурации с составом. Пустое поле без
такой пометки было бы неотличимо от «данных не было».
Если бэкап или полётник появились позже, нажмите «Пересобрать конфигурацию»
— снимок соберётся заново, но всё равно на момент события. Пересобрать
может только владелец; закрытому событию это не мешает — это добор улик, а не
правка описания.
Снимок едет вместе с событием: его видит тот же круг, что и само событие
(вы — всегда, вошедшие читатели — если событие публичное, участники — если вы
им его расшарили). Видимость карточки борта на это не влияет — то есть,
публикуя событие, вы публикуете и настройки с составом. Происхождение снимка
(из какого бэкапа и какой конфигурации он собран) остаётся только вам.
Чем кончилось
Вывод по событию — отдельное поле, а не запись в обсуждении: комментарий не
найти фильтром и не посчитать в сводке. В блоке «Чем кончилось» владелец
выбирает исход и, если нужно, коротко пишет, что сделал:
| Исход | Смысл |
|---|---|
| Починили | причина устранена |
| Заменили деталь | помогла замена |
| Изменили настройки или прошивку | помогла правка конфигурации |
| Больше не повторялось, причина не найдена | после вмешательства не воспроизводится |
| Борт списан | восстановление невозможно/нецелесообразно |
| Причина не найдена, отказ остаётся | проблема жива |
Последние два — разные вещи, и схлопывать их нельзя: иначе сводка выдаст
нерешённые случаи за решённые. Вывод записывается и у закрытого события —
он как раз тогда и появляется.
Сводка по симптому
Блок «Сопоставимые случаи» на карточке отвечает не «есть ли похожие», а
«что из них следует»: сколько случаев этого симптома вам видно, что у них
общего в конфигурации, что различается и на каких ветках прошивки
симптом не встречается. Даже без окончательной причины «все семь случаев на
одной ветке, на предыдущей ни одного» — уже применимый вывод.
Сводка честно говорит о границах данных, а не молчит:
- случаев с конфигурацией меньше двух — сравнивать не с чем, «общее» не
считается; - часть случаев без конфигурации — они посчитаны отдельно;
- никто не записал, чем кончилось;
- данных мало для утверждения об отсутствии — «на этой ветке не
встречается» звучит, только если события на этой ветке в базе вообще есть, и
всегда вместе с их числом.
В сводку попадают только события, которые вам и так видны: свои, публичные и
расшаренные вам. Чужие борта, их идентификаторы и состав того, кто событие не
публиковал, в неё не попадают.
Заведение через ИИ-ассистента (MCP)
Событие можно завести не только через форму, но и словами — через Claude,
подключённый к MCP-серверу платформы:
инструмент create_event (борт, фаза полёта, категории, серьёзность,
описание — как в форме). На странице журнала об этом напоминает бейдж
✨ ИИ.
Сопоставление тоже доступно словами: incident_symptom_summary («сравни мои
отказы моторов: что общего в конфигурациях?»), set_incident_resolution
(записать, чем кончилось) и capture_incident_config_snapshot (пересобрать
конфигурацию, если бэкап или полётник появились позже).
Следующие шаги
- Захват события в поле — чеклист вместо формы на месте
падения: видео до подъёма, комплектность, голосовая заметка, медиа по времени - Ангар — заведите борта, чтобы привязывать события
- Платформа Skyforge — обзор всех разделов