Хранилище

Обновлено: 2026-11-12
На этой странице

Хранилище

Хранилище (/vault) — место, куда складывают файлы, чтобы они не потерялись: фото сборки, инструкции, чеки, прошивки, бэкапы настроек, чертежи. Всё это обычно живёт в мессенджере, в почте и в трёх папках «Downloads» на разных компьютерах — а на платформе лежит рядом с моделями и бортами, к которым относится, и видно только вам.

Раздел состоит из двух экранов, оба открываются пунктом «Хранилище» в боковом меню:

  • Мои карточки (/vault) — ваш личный архив: карточки-«сундуки», в каждой описание, теги и сколько угодно файлов;
  • Все мои файлы (/vault/all) — единый список ВСЕХ ваших файлов и записей на платформе: не только хранилища, но и вложений событий, фото бортов и моделей, полётных треков, бэкапов полётных контроллеров. Нужен, чтобы не обходить Ангар, журнал событий и Инструменты по отдельности, вспоминая, где что лежит, — и чтобы понимать, чем занято общее место (см. «Общая квота» ниже).

Хранилище приватно: карточку видит только её владелец. Ни ссылки «поделиться», ни публикации на витрину у него нет.

Мои карточки

Как устроена карточка

Файлы лежат не россыпью, а карточками — по одной на тему: «Ворон-2 — сборка», «Документы на аппаратуру», «Настройки полётного контроллера». У карточки:

  • заголовок — обязателен, до 200 символов;
  • описание — необязательно, до 5000 символов, размечается markdown (списки, ссылки, выделение);
  • теги — до 10 штук, до 40 символов каждый, вводятся через запятую; нужны для поиска;
  • файлы — сколько угодно в пределах лимитов (см. ниже), у каждого своё имя, размер и дата загрузки.

Заголовок, описание и теги правятся на странице самой карточки: значок карандаша в правом верхнем углу блока с описанием открывает форму на его месте. Подпись у значка только всплывающая — блок начинается сразу с текста описания и сведений о файлах.

Список карточек показывает плитку: теги, название, начало описания, число файлов, занятое ими место и дату последней правки. Живой поиск над плиткой фильтрует карточки по названию и тегам прямо на странице, без перезагрузки. Если карточек очень много (от 500), страница честно предупредит, что показаны только самые свежие.

Файлы карточки

На странице карточки — таблица файлов (имя, размер, дата загрузки) и зона добавления новых. Картинки в таблице не перечисляются: они показываются сеткой миниатюр над ней (см. «Превью изображений» ниже). Клик по имени файла (или по плитке картинки) скачивает файл: любой файл отдаётся как вложение, то есть сохраняется на диск, а не открывается прямо в браузере (это касается и картинок, и SVG — так безопаснее).

Кнопка «Скачать всё архивом» над списком отдаёт все файлы карточки одним ZIP — см. раздел «Скачать всё архивом» ниже.

Удаление файла спрашивает подтверждение и отправляет файл в корзину — оттуда его можно вернуть в течение 30 дней (см. «Корзина» ниже). Удаление целой карточки — операция без корзины: оно стирает и карточку, и все её файлы сразу, вернуть их нельзя, зато место возвращается в квоту немедленно.

Выделение нескольких файлов

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

Приёмы, которые экономят время на большой карточке:

  • «Выделить показанные» над списком отмечает ровно то, что сейчас на экране, — не «все файлы карточки» молча;
  • Shift+клик отмечает всё от предыдущего отмеченного файла до текущего: 70 файлов не приходится щёлкать по одному;
  • выделение переживает перезагрузку страницы — например, ту, которую делает сама страница, когда догрузилась пачка новых файлов. Оно живёт, пока открыта вкладка; закрыли вкладку — выбор забыт.

Действия над выбранным живут в той же панели:

  • «Скачать отмеченное архивом» — в ZIP уедут ровно отмеченные файлы (а если отмечены все — вся карточка целиком);
  • «Переместить отмеченное» — по папкам карточки или в другую вашу карточку, см. раздел «Перемещение файлов» ниже;
  • «Удалить отмеченное» — отмеченные файлы уезжают в корзину. Кнопка переспрашивает и называет число файлов: выделение переживает перезагрузку страницы, и через день легко не помнить, что было отмечено;
  • «Добавить теги» / «Снять теги» — см. «Теги у файлов» ниже.

Флажки — обычные флажки формы: их видно с клавиатуры и читает скринридер (подпись — имя файла). Без JavaScript флажков и панели нет вовсе, а страница работает как прежде: скачивание, удаление по одному и загрузка на месте.

Папки внутри карточки

Когда файлов в карточке десятки, сплошной список перестаёт читаться. Чтобы разложить их по смыслу, внутри карточки заводятся папки: карточка остаётся одна («Эмблемы»), а внутри неё — «Крыло», «Фюзеляж», «Киль».

  • папка создаётся пустой — строкой ввода над списком файлов (там же, в одной строке с ней, стоит «Скачать всё архивом»; на узком экране строка переносится); сначала заводите папки, потом раскладываете по ним файлы. Пустая папка остаётся на экране — её видно по имени и счётчику «(0)» рядом с ним;
  • уровень один — папки внутри папок не бывает;
  • имя — до 200 символов, без /, \, кавычки и управляющих символов; два одинаковых имени в одной карточке завести нельзя (регистр при сравнении не учитывается: «Крыло» и «крыло» — одно имя);
  • до 50 папок в одной карточке;
  • переименование и удаление папки убраны под «Настройки папки» — строку с этим переключателем видно под именем папки, разворачивается она по клику. Постоянно висящие поле ввода и две кнопки на каждую папку съедали экран до начала содержимого: на карточке с четырьмя папками — четыре таких набора;
  • переименование меняет только подпись — файлы остаются на месте;
  • удаление папки НЕ удаляет файлы: они возвращаются в карточку «без папки». Удаляют файлы только удаление файла или всей карточки;
  • папки не меняют занятое место — ни на карточке, ни в общей квоте.

Разложить файлы можно двумя способами:

  • при загрузке — над кнопкой выбора файла появляется список «Загрузить в папку»; выбранная папка действует и для перетаскивания пачки;
  • после загрузки — у каждого файла есть выпадающий список папок и кнопка «Переместить»; «Без папки» возвращает файл в корень карточки. Сразу пачку файлов перекладывает «Переместить отмеченное» — раздел ниже.

Файлы, загруженные до появления папок, никуда не делись: они показываются в карточке как есть, а когда в ней появится хотя бы одна папка — в группе «Без папки». Раскладывать их обязательно не нужно.

На витрине «Все мои файлы» папка не показывается: тот экран собирает файлы всей платформы из 20 источников, а папка — способ читать ОДНУ карточку, и колонка, заполненная лишь у части строк, там только мешала бы. Папка видна на самой карточке.

Теги у файлов

У файлов внутри карточки есть теги — свободные метки вроде «черновик», «в печать», «версия 2». Не путайте их с папками, это разные инструменты:

Папка Тег
Отвечает на вопрос где файл лежит что это за файл
Сколько может быть у файла ровно одна (либо корень) несколько сразу, до 10
Пересекает ли соседей нет: файл в одном месте да: «в печать» бывает и в «Крыле», и в «Киле»
Для чего сократить длинный список найти нужное, где бы оно ни лежало

Практическое правило: папками раскладывают, тегами ищут. Заводить папку «Черновики» рядом с тегом «черновик» не нужно — тег покажет черновики из всех папок сразу, а папка заставит выбирать, куда положить файл, который одновременно и черновик, и деталь крыла.

Как проставить:

  1. отметьте флажками файлы (можно Shift+кликом и «выделить показанные»);
  2. в панели внизу впишите метки через запятую;
  3. нажмите «Добавить теги» — метки дописываются к тем, что уже были;
  4. «Снять теги» — отдельное действие с подтверждением: убирает ровно перечисленные метки и не трогает остальные.

Режима «заменить все метки» намеренно нет: на пачке из полусотни файлов один клик стирал бы всё, что копилось, и отменить это было бы нечем. «Заменить» собирается из двух шагов — снять лишнее, добавить нужное.

Ограничения — те же, что у тегов карточки: до 10 меток на файл, до 40 символов каждая, регистр не различается («Черновик» и «черновик» — одна метка, и дважды она не проставится).

Фильтр. Над списком файлов появляется полоса меток с числом файлов у каждой. Нажатие метки оставляет на экране только помеченные ею файлы; вторая нажатая метка сужает выборку (показаны файлы, у которых есть обе). «Показать все файлы» снимает фильтр. Важная мелочь: при активном фильтре «выделить показанные» отмечает именно отфильтрованное, а не всю карточку — то есть проставить тег «в печать» всему, что помечено «версия 2», можно в два движения.

Метка принадлежит файлу, а не карточке, поэтому при перемещении файла в другую вашу карточку метки едут вместе с ним (в отличие от папки — она у каждой карточки своя).

Теги файлов живут на карточке и там же ищутся: на витрине «Все мои файлы» их нет по той же причине, что и папок, — тот экран собирает 20 источников платформы, а метки есть только у одного из них. Поиск по меткам сразу по всем карточкам умеет ИИ-ассистент (vault_find_files_by_tag, см. раздел про MCP ниже).

Без JavaScript метки видны (они напечатаны рядом с файлами), но полоса фильтра и панель массового проставления не появляются — как и остальные действия над выделением.

Корзина

Удалённый файл не исчезает сразу — он лежит в корзине 30 дней, и всё это время его можно вернуть. Экран корзины один на всё хранилище — /vault/trash (ссылка есть в полосе занятого места и в шапке списка файлов карточки, когда в корзине что-то есть). Там видно, из какой карточки файл, сколько он весит, когда удалён, куда он вернётся и когда будет стёрт окончательно.

Колонка «Куда вернётся» отвечает на вопрос заранее: там либо имя папки, либо «Без папки» (корень карточки). Это важно, потому что папку можно удалить, пока файл лежит в корзине: сама папка — только способ показа, и её удаление файлы не трогает, но вернуться в неё уже некуда, поэтому файл восстанавливается в корень карточки. Восстановление при этом не отказывает — корзина существует ровно затем, чтобы вернуть файл.

Место корзина занимает. Это главное, что нужно про неё знать: пока файл лежит в корзине, его байты по-прежнему считаются в вашей квоте. Удалили гигабайт — свободного места сразу не прибавится. Так сделано осознанно: восстановление возвращает именно тот файл, а не его подобие, и это невозможно, если байты стёрты.

Поэтому в корзине есть ручная очистка, и она — единственный способ вернуть место немедленно:

  • «Очистить корзину» — стирает всё удалённое по всем карточкам;
  • «Очистить по карточке» — только её корзину;
  • «Удалить навсегда» у строки — один файл.

Всё это необратимо и переспрашивает. Если что-то стереть не удалось, файл останется в корзине, а на экране будет прямо сказано, какой именно, — «часть удалилась, разбирайтесь сами» не бывает.

Что ещё стоит знать:

  • удалённый файл пропадает из карточки, из архива «скачать всё», из скачивания по прямой ссылке и из состава карточки у ИИ-агента — то есть ведёт себя как удалённый везде;
  • восстановленный файл возвращается в ту же папку, из которой ушёл (а если папку за это время удалили — в корень карточки; строка корзины говорит об этом заранее), и с теми же тегами — метки снимаются только при окончательной чистке;
  • новая папка с тем же именем прежнюю не заменяет: связь идёт по самой папке, а не по её названию, поэтому файл вернётся в корень, а не в одноимённую новую;
  • удалённые файлы не участвуют в фильтре по тегам и не считаются в числах на кнопках меток: панель фильтра показывает то, что реально лежит в карточке;
  • повесить или снять тег у файла, который лежит в корзине, нельзя — действие честно отказывает, а не делает вид, что сработало: метка нужна, чтобы файл НАХОДИЛСЯ, а удалённый файл не показывается нигде, кроме самой корзины. Сначала восстановите файл, потом ставьте метки — тот же выбор файлов после восстановления проходит как обычно;
  • по истечении 30 дней файлы стираются сами, фоновой уборкой раз в сутки;
  • если вы нажали «восстановить» ровно в тот момент, когда шла уборка, выигрываете вы: файл, который вернули, уборка не трогает;
  • удаление карточки целиком корзину не использует — вместе с карточкой сразу стирается и то, что лежало в её корзине. Об этом предупреждают заранее: пока в корзине карточки что-то есть, на самой карточке рядом с «Файлов: N» стоит строка «В корзине этой карточки: …» со ссылкой, а подтверждение удаления называет число файлов, которые уйдут навсегда. Это нужно потому, что карточка, всё содержимое которой в корзине, показывает «Файлов: 0» и выглядит пустой — а терять там есть что.

Как добавить файлы

Два равноправных пути:

  • перетаскиванием — бросьте файлы мышью на зону добавления внизу карточки; можно сразу пачку (например, все эмблемы одной папкой);
  • кнопкой выбора файла — работает с клавиатуры и с телефона, где перетаскивания нет; с включённым JavaScript кнопка тоже принимает несколько файлов сразу.

Файлы загружаются очередью, по нескольку одновременно, и по каждому видно своё состояние: ожидание, прогресс отправки, «загружено» или причина отказа. Отклонённый файл не отменяет остальные — из брошенной пачки загрузится всё, что прошло проверку. Пока идёт загрузка, уход со страницы браузер переспросит.

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

Если файлов очень много, часть из них может ненадолго уйти в ожидание («слишком много загрузок сразу») — это защита сервера от шквала, файл не теряется и уходит повторной попыткой сам.

Что можно загружать

Хранилище — личный архив, а не витрина, поэтому список разрешённого широкий:

Что Расширения
Архивы zip, 7z, tar, gz
3D и чертежи stl, step, stp, 3mf, obj, dxf
Изображения jpg, jpeg, png, webp, gif, svg
Документы pdf
Текст и данные txt, md, csv, json, yaml, xml
Исходники и конфиги py, js, scad, ini, cfg
Офис doc, xls, ppt, docx, xlsx, pptx, odt, ods, odp

Видеофайлы не принимаются — ни по расширению (в списке выше их нет), ни внутри файла с другим расширением: видео, переименованное в .zip, будет отклонено по содержимому. Ролик с полёта выкладывайте на видеохостинг и храните ссылку в описании карточки.

Почему файл могут отклонить

Проверяется не расширение, а сам файл. Причины отказа, которые вы можете увидеть:

  • исполняемый файл — exe, dll, msi, app, sh, bat, cmd, scr, com, jar, apk запрещены явно. Переименовать не поможет: программу узнают по первым байтам, даже если она называется notes.txt;
  • содержимое не совпадает с расширением — например, файл назван .png, а внутри не картинка;
  • SVG со скриптом — SVG это XML, в него можно вложить исполняемый код; такие файлы отклоняются, обычные векторные картинки проходят;
  • архив не читается (повреждён), зашифрован паролем (его содержимое нельзя проверить), содержит больше 200 файлов, слишком велик в распакованном виде (суммарно около 2 ГБ — десять размеров одного файла) или одна запись внутри больше 200 МБ — это защита от «архивных бомб»;
  • антивирус нашёл заражение — файл не сохраняется вовсе;
  • антивирус недоступен — загрузка тоже отклоняется. Это сделано сознательно: непроверенный файл лучше не принимать, чем принять «на всякий случай». Повторите попытку позже;
  • неподходящее имя файла — в имени нельзя /, \, кавычку и управляющие символы, длина имени — до 200 символов. Имя не исправляется автоматически: как загрузили — так и будет называться при скачивании;
  • пустой файл;
  • превышен лимит — размера, числа файлов в карточке или общего места (см. ниже).

Причина всегда называется словами, а файл при этом не сохраняется. Где её искать: при перетаскивании и выборе пачки — в строке этого файла в очереди загрузки (остальные файлы пачки продолжают грузиться), при обычной отправке формы без JavaScript — вверху страницы карточки. Если дело в месте, причина называет и числа: сколько занято, каков лимит и сколько весит файл.

Честно о границах проверки: архив внутри архива не разворачивается вглубь, а tar, 7z и gz на «бомбу» не проверяются — для них единственная защита антивирус. Файл из чужих рук всё равно стоит открывать осторожно.

Лимиты

  • 200 карточек — всё ваше хранилище. Карточка — это «сундук» на тему, а не файл: внутрь помещается 200 файлов и 50 папок, поэтому двухсот карточек хватает и на карточку к каждому борту, и на десяток тематических («Эмблемы», «Скрипты», «Бэкапы полётных контроллеров»). Упёрлись — удалите ненужную карточку: место и слот освобождаются сразу. Карточка, у которой все файлы в корзине, из счёта не уходит — она по-прежнему существует, показывается в списке и принимает новые файлы, а её удалённые файлы всё ещё занимают место (см. «Корзина»);
  • 30 новых карточек в час — защита от «создалось само»: столько карточек подряд не заводит человек, а вот ошибка в задании ИИ-агенту заводит их циклом. Класть файлы в уже существующие карточки этот лимит не расходует;
  • 200 МБ — один файл;
  • 200 файлов — одна карточка. Удалённые файлы в этот счёт входят: они лежат в корзине карточки и место в ней занимают, как и на диске. Поэтому отказ «уже максимум файлов» у карточки, где вы только что всё удалили, прямо говорит про корзину и ведёт в неё — очистка освобождает и слоты, и место;
  • 5 ГБ — общая квота на ВСЕ ваши файлы на платформе (см. следующий раздел);
  • 100 загрузок и 30 скачиваний в минуту — защита от лавины запросов; штатный бросок пачки в этот потолок укладывается, а наполнение карточки «под завязку» одним движением очередь растянет на пару минут сама;
  • 5 архивов в минуту — у кнопки «Скачать всё архивом» свой, более низкий потолок: один такой запрос читает всю карточку целиком.

Перемещение файлов

Отметив файлы флажками, их можно переложить все разом — кнопка «Переместить отмеченное» в нижней панели. Рядом с ней два списка: куда именно — карточка и папка внутри неё.

Направлений два, и ведут они себя по-разному:

  • между папками одной карточки — основной сценарий («разложить семьдесят эмблем по „Крыло“/„Фюзеляж“/„Киль“»). Происходит мгновенно: меняется только подпись «в какой папке лежит файл». Ни число файлов карточки, ни занятое место не меняются — файл никуда не уезжал;
  • в другую вашу карточку — файлы переезжают физически, поэтому на сотнях мегабайт перемещение занимает заметное время. Счётчики обеих карточек меняются: у одной файлы убывают, у другой прибывают. Общее занятое место не меняется — файл остаётся вашим, у него просто другая карточка, и никакого отказа «не хватает места» на перемещении быть не может.

Что ещё стоит знать:

  • перекладывать можно только СВОИ файлы и только в СВОЮ карточку. Чужая карточка не показывается в списке целей и не принимается, даже если подставить её адрес вручную;
  • превью едет вместе с файлом — на новом месте картинка сразу с миниатюрой, а на старом ничего не остаётся;
  • теги едут вместе с файлом. Метка отвечает на вопрос «что это» («в печать», «черновик»), и в новой карточке файл остаётся тем же самым, — в отличие от папки, которая принадлежит конкретной карточке: в целевой карточке файл ложится в ту папку, которую вы выбрали в списке, или в её корень;
  • удалённый файл переложить нельзя. Он лежит в корзине и в составе карточки не числится, поэтому перемещение отклоняется целиком — как будто такого файла у карточки нет. Это заметно, если отметить файлы, потом часть из них удалить и только затем нажать «Переместить отмеченное»: сначала верните нужное из корзины (/vault/trash), потом перекладывайте;
  • в карточку по-прежнему помещается не больше 200 файлов. Если отмеченное туда не влезет, перемещение отклоняется целиком и заранее, с указанием обоих чисел, — половина пачки в чужой карточке не окажется;
  • если что-то пошло не так посреди пачки (пропала связь с хранилищем), перемещение останавливается и страница честно сообщает, сколько файлов переехало, а сколько осталось. Счётчики обеих карточек при этом соответствуют факту, а не намерению; оставшиеся файлы перекладываются повторным нажатием;
  • без JavaScript массовое перемещение недоступно, как и массовое скачивание: перекладывать файлы можно по одному — выпадающим списком папок у каждого файла (в пределах его карточки).

Агенту то же самое доступно инструментом vault_move_files — см. раздел «Работа через ИИ-агента (MCP)».

Скачать всё архивом

Кнопка «Скачать всё архивом» над списком файлов отдаёт все файлы карточки одним ZIP: семьдесят эмблем забираются одним нажатием, а не семьюдесятью.

Что стоит знать:

  • архив собирается на лету, прямо в загрузку. Он нигде не сохраняется на сервере, не занимает вашу квоту и не оставляет мусора, даже если скачивание оборвалось;
  • браузер не покажет процент и не знает заранее, сколько весит архив — это цена того, что архив не собирается заранее целиком;
  • докачки нет. Оборвалась связь — недокачанный файл будет битым, начните скачивание заново (для этого и оставлен запас в пять попыток в минуту);
  • файлы не сжимаются — ZIP здесь контейнер, а не архиватор: почти всё, что можно загрузить в хранилище (фотографии, PDF, готовые архивы, документы), уже сжато, и повторное сжатие только отняло бы время;
  • имя архива — название карточки («Эмблемы.zip»);
  • имена внутри архива совпадают с именами файлов. Если в карточке два файла с одинаковым именем, второй в архиве получит пометку — photo.jpg и photo (2).jpg, чтобы при распаковке они не затёрли друг друга;
  • архив распаковывается и в Windows. Символы, которых Проводник не допускает в именах (<, >, :, ", |, ?, *), заменяются на _, точки и пробелы в конце имени отбрасываются, а файл с именем устройства Windows (CON, PRN, AUX, NUL, COM1–COM9, LPT1–LPT9, в том числе с расширением — aux.png) получает в архиве имя file-NNN с тем же расширением. Сами файлы в карточке не переименовываются;
  • миниатюр в архиве нет — в него попадает ровно то, что загрузили вы;
  • папки внутри карточки в архиве не отражаются. Кнопка одна на карточку и забирает её целиком, а имена в ZIP плоские: файл из папки «Крыло» лежит в архиве просто как wing.jpg. Нужен ровно состав одной папки — отметьте её файлы флажками и нажмите «Скачать отмеченное архивом»;
  • можно забрать не всю карточку, а выбранное: отметьте файлы флажками и нажмите «Скачать отмеченное архивом» в панели выбора. Если отмечено слишком много файлов, чтобы уместить их в один адрес, страница скажет об этом прямо — скачайте всё архивом или уменьшите выбор; молча взять «сколько влезло» она не станет.

Общая квота — 5 ГБ на всё, а не только на хранилище

Это главный неочевидный момент раздела. 5 ГБ — не лимит «Хранилища», а лимит всего, что вы храните на платформе. В ту же сумму входят:

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

Поэтому загрузка может быть отклонена «нет места» не только здесь, но и в Ангаре или в карточке события — и наоборот: удалив старые фото бортов, вы освобождаете место под файлы хранилища. Удаление возвращает место сразу.

Именно из-за общей квоты и существует витрина «Все мои файлы»: чтобы найти, чем занято место, нужно видеть все источники в одном списке, а не обходить разделы по очереди.

Небольшая честная оговорка: текстовые записи (комментарии событий, описания моделей и бортов, INAV-пресеты и сетапы, проекты конструктора) тоже считаются в квоту, но их объём против файлов пренебрежимо мал, и в счётчике они обновляются не мгновенно, а суточной сверкой.

Сколько занято и чем

Оба экрана раздела (/vault и /vault/all) показывают сверху полосу занятого места: сколько занято из 5 ГБ, сколько осталось и разбивка по разделам — хранилище, события, борта, треки, полётные контроллеры, модели, комплектующие, бэкапы, записи. Разбивка нужна не для красоты: место чаще всего съедают не файлы хранилища, а бэкапы настроек и фото галереи (см. список источников выше). Каждый раздел разбивки — ссылка на тот же раздел в витрине «Все мои файлы», где видно уже конкретные файлы.

Когда занято 90% и больше, под полосой появляется предупреждение: новые загрузки скоро начнут отклоняться, пора что-то удалить.

Если в корзине что-то лежит, под полосой стоит отдельная строка: сколько места держит корзина и ссылка на неё. Она отвечает на вопрос «удалил гигабайт, а занято столько же» — этот гигабайт лежит в корзине и освободится, когда вы её очистите.

Полоса и разбивка считают ровно те же байты, что и сама квота, — включая служебные миниатюры превью, которых в списке файлов нет (см. «Превью изображений» ниже). Поэтому сумма размеров строк в «Все мои файлы» может быть чуть меньше числа в разбивке: разница — вес миниатюр.

Отказ по квоте

Загрузка, которая не влезает, отклоняется на любом экране — вложение события, фото борта, фото модели, галерея комплектующей, трек, бэкап полётного контроллера, аватар профиля, файл хранилища. Сообщение об отказе называет числа (сколько занято, сколько всего, сколько весит отклонённый файл) и ведёт ссылкой в «Все мои файлы» — чтобы было видно, что удалить, чтобы влезло.

Если число выглядит неверным

Счётчик занятого места обновляется на каждой загрузке и удалении, а полная сверка с фактическим содержимым идёт раз в сутки. Между этими моментами число может разойтись с реальностью — например, если удаление не успело дойти до счётчика. Обратите внимание: файлы в корзине — это НЕ расхождение, их место занято по-настоящему, и пересчёт его не освободит (освободит очистка корзины). На экране «Мои карточки» есть кнопка «Пересчитать»: она честно пересчитывает все ваши файлы на платформе и приводит число к правде, не дожидаясь суточной сверки. Операция тяжёлая, поэтому доступна не чаще двух раз в час. Рядом с полосой показано, когда была последняя такая сверка.

Все мои файлы

Экран /vault/all собирает в одну таблицу 20 источников платформы, сгруппированных в переключатель над списком:

Группа Что попадает
Всё все источники сразу
Хранилище файлы карточек + фото профиля
События вложения, комментарии, сам текст события
Борта фото бортов и записи бортов
Полётные треки файлы треков и разобранные точки
Полётные контроллеры вложения полётных контроллеров
Модели фото моделей, фото галереи, описания
Комплектующие фото и описания комплектующих
Бэкапы бэкапы настроек полётного контроллера
Записи INAV-пресеты и сетапы, проекты конструктора v1 и v2

Удалённых файлов на этом экране нет: то, что лежит в корзине, перечисляет сама корзина — со сроком хранения и кнопкой восстановления.

Список отсортирован по дате, свежее сверху, по 25 строк на страницу. В каждой строке — имя, источник, размер, дата и до двух ссылок:

  • Открыть источник — родной экран записи (карточка события, борта, модели, карточка хранилища и т. д.);
  • Скачать — только у настоящих файлов. Часть строк помечена значком «Запись»: это не файл, а текстовое поле существующей записи (комментарий события, описание модели, INAV-пресет, проект конструктора) — скачивать там нечего, ведёт только ссылка на источник. Бэкап полётного контроллера, наоборот, скачивается: он хранится не как файл, но выгружается целиком.

Витрина только на чтение. Здесь нельзя ни удалить, ни переименовать — эти действия остаются на родном экране сущности, где рядом лежат её собственные правила (подтверждения, права, журнал действий). Ссылка «Открыть источник» ведёт именно туда.

Показывается только ваше: чужие файлы в список не попадают ни при каком фильтре, а «осиротевшие» файлы удалённых записей не показываются вовсе.

Мои модели Аэродинамической трубы

Модели, сохранённые в Аэродинамической трубе в «Мои модели», лежат здесь же, в служебной карточке «Аэродинамическая труба»: её создаёт система при первом сохранении, и она занимает одно место из лимита карточек. В карточке две папки: в одной — файлы моделей (тег wind-tunnel-model), в другой — служебные описания (по файлу на модель, тег wind-tunnel-meta). Место моделей считается в общей квоте.

Файл модели — не тот файл, что вы загружали, а подготовленная к расчёту копия: бинарный STL, повёрнутый к осям расчёта, перенесённый на плоскость симметрии Y = 0, починенный и, возможно, упрощённый (STEP в нём уже разбит на треугольники). У файла модели бывает миниатюра — снимок предпросмотра Аэродинамической трубы; она занимает немного места в квоте, как превью картинок.

Управлять моделями удобнее в Аэродинамической трубе. Если удалить файл модели здесь, он уйдёт в корзину, а модель в Аэродинамической трубе будет помечена «в корзине»; файл можно перенести в другую карточку — Аэродинамическая труба найдёт его и там по тегу wind-tunnel-model (тег переезжает вместе с файлом; не снимайте его). Служебные описания лучше не удалять и не править: без описания модель пропадёт из списка.

Работа через ИИ-агента (MCP)

Хранилище умеет обслуживать ИИ-ассистент (подробнее — ИИ-ассистент):

Что делает Инструмент Нужный скоуп токена
Показать ваши карточки (с поиском по названию и тегам) vault_list read
Открыть карточку: поля и список файлов (с папкой и тегами каждого) vault_get read
Скачать файл карточки vault_download read
Скачать всю карточку одним архивом vault_download_archive read
Найти файлы по тегам сразу по всем карточкам vault_find_files_by_tag read
Создать карточку vault_create vault:write
Завести папку в карточке vault_folder_create vault:write
Загрузить файл в карточку (можно сразу в папку) vault_upload vault:write
Переложить пачку файлов — по папкам или в другую карточку vault_move_files vault:write
Проставить или снять теги сразу у пачки файлов vault_tag_files vault:write
Показать корзину (что удалено, куда вернётся и до какого числа хранится) vault_trash_list read
Удалить файлы карточки (в корзину) vault_files_delete vault:write
Вернуть файлы из корзины vault_trash_restore vault:write

Лимиты у агента те же самые, что и на экране, и с теми же числами: 200 карточек всего и 30 новых карточек в час (см. «Лимиты» выше). Отказ агент получает честный — с потолком и с текущим значением, — а не «не получилось».

Про теги через агента верно то же, что и на экране: vault_tag_files по умолчанию добавляет метки, mode="remove" снимает названные, а режима «заменить все метки» нет — заменить можно двумя вызовами.

Отдельного инструмента «показать папки» нет: список папок карточки и папка каждого файла приходят вместе с карточкой (vault_list/vault_get). У удалённого файла место возврата приходит в vault_trash_list полем restore_to_folder (имя папки либо null = корень карточки) — то же, что подписано в колонке «Куда вернётся» на экране; восстановление работает и после удаления папки.

Инструмента окончательной чистки корзины у агента нет и не будет: это необратимая операция, её делает человек на /vault/trash.

Разделение прав намеренное: токену можно выдать чтение всего аккаунта и при этом запретить писать в личный архив — для этого и заведён отдельный скоуп vault:write.

Удаление файлов агенту доступно именно потому, что оно обратимо: файл уезжает в корзину, и тот же агент может вернуть его. А вот очистить корзину агент не может — это необратимо и освобождает место, такое решение принимает человек на /vault/trash. Если агент говорит «места мало», а файлов вроде нет, — загляните в корзину.

Перемещение агент делает пачкой и в обе стороны — по папкам карточки и между вашими карточками. Отвечает он ФАКТОМ, а не «готово»: сколько файлов переехало, сколько осталось и, если файлы переезжали в другую карточку, какие у них стали адреса (при переезде адрес файла меняется — он несёт карточку). Удалённый файл переместить нельзя: в корзине он числится за своей карточкой, и агент назовёт его в числе оставшихся.

Чего через агента сегодня сделать нельзя: отредактировать заголовок, описание и теги САМОЙ КАРТОЧКИ (теги файлов — можно, см. vault_tag_files), удалить карточку целиком, очистить корзину, переименовать или удалить папку — это только из веб-интерфейса.

Ограничение на размер. Файл едет через тот же канал, что и переписка с ассистентом, поэтому потолок на один вызов — около 8 МБ (против 200 МБ у веб-формы), и в обе стороны: крупный файл агент не загрузит и не вложит в ответ. Он честно скажет об этом и даст прямую ссылку — скачивать по ней можно тем же токеном, а загружать крупное следует веб-формой карточки. К архиву карточки это относится в первую очередь: он почти всегда крупнее потолка, поэтому агент по умолчанию присылает состав, размер и ссылку, а не сам архив.

Личный API-токен работает именно с этими инструментами и с прямой ссылкой на скачивание файла (нужен скоуп read). Сами страницы /vault и /vault/all и их формы токеном не открываются — это обычные экраны для браузера, они требуют входа в аккаунт. Токен храните как пароль: он даёт доступ к байтам вашего личного архива.

Доступность раздела

Пока раздел виден только администраторам платформы (включается переключателем функции vault, без выкладки новой версии) — это решение основателя, а не техническое ограничение: общая квота уже работает и защищает общий диск. Пункт «Хранилище» в меню остальным не показывается; если открыть /vault или /vault/all по прямому адресу, войдя в аккаунт, ответ будет «доступ запрещён», а не «страницы нет». Тем же отказом отвечает и прямая ссылка на скачивание файла — включая обращение по личному токену. Гостю платформа предложит войти.

Превью изображений

Картинки в карточке показываются сеткой миниатюр: по плитке видно, что за файл, — не нужно скачивать каждый, чтобы найти нужную эмблему среди семидесяти. Клик по плитке открывает полноразмерный файл. Остальные файлы остаются списком, но получают иконку по типу (архив, 3D-модель, документ, текст).

Что стоит знать:

  • кадр виден целиком и в своих пропорциях — картинка никогда не обрезается и не растягивается. Она вписывается в кадр одного размера, и свободное место по краям кадра видно как подложка чуть другого тона со своей рамкой: это подложка, а не срез картинки. Кадры одинаковы, поэтому ряды сетки ровные, а подписи не путаются между соседями. Это сделано ради узнаваемости: имена у макетов обычно машинные, и превью — единственный способ отличить файл от файла;
  • плитка в покое показывает картинку, имя и флажок. Переместить файл в папку и удалить его можно там же: набор появляется при наведении мыши на плитку (и при переходе на неё клавиатурой), а на телефоне и планшете, где наводить нечем, он виден сразу. На карточке в семьдесят файлов это убирает семьдесят наборов кнопок, которые звучали громче самих превью;
  • миниатюра создаётся один раз, при загрузке файла, и весит на порядок меньше оригинала — карточка на сотню картинок открывается быстро и не тянет из сети сотни мегабайт;
  • миниатюры подгружаются по мере прокрутки, а не все разом;
  • миниатюра занимает место и входит в общую квоту вместе с самим файлом (десятки килобайт на картинку); удаление файла или всей карточки удаляет и её;
  • поэтому «занято» на карточке и «занято» в общей квоте различаются на вес миниатюр: карточка показывает сумму загруженных ВАМИ файлов, а общая квота считает и служебные миниатюры к ним. На карточке из семидесяти фотографий расхождение — единицы мегабайт против сотни с лишним;
  • в списке «Все мои файлы» миниатюр нет — там перечислено то, что загрузили вы, а не то, что платформа сделала из этого сама;
  • у файлов, загруженных до появления превью, миниатюр нет — но их можно сделать задним числом, не перезагружая файлы: над списком файлов появляется кнопка «сделать превью», см. следующий раздел;
  • SVG показывается иконкой, а не картинкой — это разметка, которую выполняет браузер, и платформа сознательно её не рисует;
  • если файл назван картинкой, но картинкой не является (повреждён, переименован), превью для него не делается — он показывается иконкой и скачивается как обычно.

Превью для старых файлов

Если картинки в карточке лежат ещё с тех пор, когда превью не было, над списком файлов появляется кнопка вида «сделать превью для N файлов (примерно M)». Она сразу называет цену: сколько файлов получат плитку и сколько места это ПРИМЕРНО займёт — миниатюры входят в общую квоту, и списывать место молча платформа не будет.

Что важно знать:

  • запускаете вы, по своей карточке. Ни администратор, ни фоновая задача вашего места не тратят;
  • место считается честно. Если по ходу оно закончится, генерация остановится и скажет, сколько успела сделать и сколько осталось: освободите место (например, очистите корзину) и нажмите ещё раз;
  • повторный запуск ничего не переделывает. Файлы, у которых превью уже есть, пропускаются — второй прогон на готовой карточке просто ничего не найдёт, и кнопка исчезнет;
  • работа идёт в фоне. Страницу можно закрыть: когда прогон закончится, плитки будут на месте при следующем открытии карточки. Если страница открыта, она сама сообщит результат и предложит обновиться;
  • файлы в корзине превью не получают — они удалены, а место за них уже занято; восстановите файл, и он попадёт в следующий прогон;
  • превью получают только файлы, которые хранятся как изображения. Если картинка когда-то была загружена под «не картиночным» расширением, догоняющий прогон её не тронет — тут поможет только повторная загрузка.

Чего в этой версии нет

  • Шаринга и публикации — карточка видна только владельцу, без исключений.
  • Правки карточки и очистки корзины через ИИ-агента — см. раздел про MCP выше (удаление файлов в корзину и их возврат агенту доступны).
  • Видео в файлах — см. «Что можно загружать».
  • Докачки оборвавшегося архива — скачивание начинается заново, см. «Скачать всё архивом».