Хранилище
Хранилище (/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 |
| Пересекает ли соседей | нет: файл в одном месте | да: «в печать» бывает и в «Крыле», и в «Киле» |
| Для чего | сократить длинный список | найти нужное, где бы оно ни лежало |
Практическое правило: папками раскладывают, тегами ищут. Заводить папку
«Черновики» рядом с тегом «черновик» не нужно — тег покажет черновики из
всех папок сразу, а папка заставит выбирать, куда положить файл, который
одновременно и черновик, и деталь крыла.
Как проставить:
- отметьте флажками файлы (можно Shift+кликом и «выделить показанные»);
- в панели внизу впишите метки через запятую;
- нажмите «Добавить теги» — метки дописываются к тем, что уже были;
- «Снять теги» — отдельное действие с подтверждением: убирает ровно
перечисленные метки и не трогает остальные.
Режима «заменить все метки» намеренно нет: на пачке из полусотни файлов один
клик стирал бы всё, что копилось, и отменить это было бы нечем. «Заменить»
собирается из двух шагов — снять лишнее, добавить нужное.
Ограничения — те же, что у тегов карточки: до 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, чтобы при распаковке они не затёрли друг друга; - миниатюр в архиве нет — в него попадает ровно то, что загрузили вы;
- папки внутри карточки в архиве не отражаются. Кнопка одна на карточку и
забирает её целиком, а имена в ZIP плоские: файл из папки «Крыло» лежит в
архиве просто какwing.jpg. Нужен ровно состав одной папки — отметьте её
файлы флажками и нажмите «Скачать отмеченное архивом»; - можно забрать не всю карточку, а выбранное: отметьте файлы флажками и
нажмите «Скачать отмеченное архивом» в панели выбора. Если отмечено
слишком много файлов, чтобы уместить их в один адрес, страница скажет об
этом прямо — скачайте всё архивом или уменьшите выбор; молча взять
«сколько влезло» она не станет.
Общая квота — 5 ГБ на всё, а не только на хранилище
Это главный неочевидный момент раздела. 5 ГБ — не лимит «Хранилища», а
лимит всего, что вы храните на платформе. В ту же сумму входят:
- вложения событий и файлы полётных контроллеров;
- фото бортов, своих моделей и комплектующих, фото в галерее сообщества;
- полётные треки и разобранные точки этих треков;
- бэкапы настроек полётника;
- фото профиля (аватар);
- модели, импортированные по ссылке;
- и, разумеется, файлы карточек хранилища.
Поэтому загрузка может быть отклонена «нет места» не только здесь, но и в
Ангаре или в карточке события — и наоборот: удалив старые фото бортов, вы
освобождаете место под файлы хранилища. Удаление возвращает место сразу.
Именно из-за общей квоты и существует витрина «Все мои файлы»: чтобы
найти, чем занято место, нужно видеть все источники в одном списке, а не
обходить разделы по очереди.
Небольшая честная оговорка: текстовые записи (комментарии событий,
описания моделей и бортов, INAV-пресеты и сетапы, проекты конструктора) тоже
считаются в квоту, но их объём против файлов пренебрежимо мал, и в счётчике
они обновляются не мгновенно, а суточной сверкой.
Сколько занято и чем
Оба экрана раздела (/vault и /vault/all) показывают сверху полосу
занятого места: сколько занято из 5 ГБ, сколько осталось и разбивка по
разделам — хранилище, события, борта, треки, полётники, модели,
комплектующие, бэкапы, записи. Разбивка нужна не для красоты: место чаще
всего съедают не файлы хранилища, а бэкапы настроек и фото галереи (см.
список источников выше). Каждый раздел разбивки — ссылка на тот же раздел в
витрине «Все мои файлы», где видно уже конкретные файлы.
Когда занято 90% и больше, под полосой появляется предупреждение: новые
загрузки скоро начнут отклоняться, пора что-то удалить.
Если в корзине что-то лежит, под полосой стоит отдельная строка: сколько
места держит корзина и ссылка на неё. Она отвечает на вопрос «удалил
гигабайт, а занято столько же» — этот гигабайт лежит в корзине и
освободится, когда вы её очистите.
Полоса и разбивка считают ровно те же байты, что и сама квота, — включая
служебные миниатюры превью, которых в списке файлов нет (см. «Превью
изображений» ниже). Поэтому сумма размеров строк в «Все мои файлы» может быть
чуть меньше числа в разбивке: разница — вес миниатюр.
Отказ по квоте
Загрузка, которая не влезает, отклоняется на любом экране — вложение
события, фото борта, фото модели, галерея комплектующей, трек, бэкап
полётника, аватар профиля, файл хранилища. Сообщение об отказе называет
числа (сколько занято, сколько всего, сколько весит отклонённый файл) и
ведёт ссылкой в «Все мои файлы» — чтобы было видно, что удалить, чтобы
влезло.
Если число выглядит неверным
Счётчик занятого места обновляется на каждой загрузке и удалении, а полная
сверка с фактическим содержимым идёт раз в сутки. Между этими моментами
число может разойтись с реальностью — например, если удаление не успело
дойти до счётчика. Обратите внимание: файлы в корзине — это НЕ расхождение,
их место занято по-настоящему, и пересчёт его не освободит (освободит
очистка корзины). На экране «Мои карточки» есть кнопка «Пересчитать»:
она честно пересчитывает все ваши файлы на платформе и приводит число к
правде, не дожидаясь суточной сверки. Операция тяжёлая, поэтому доступна
не чаще двух раз в час. Рядом с полосой показано, когда была последняя
такая сверка.
Все мои файлы
Экран /vault/all собирает в одну таблицу 20 источников платформы,
сгруппированных в переключатель над списком:
| Группа | Что попадает |
|---|---|
| Всё | все источники сразу |
| Хранилище | файлы карточек + фото профиля |
| События | вложения, комментарии, сам текст события |
| Борта | фото бортов и записи бортов |
| Полётные треки | файлы треков и разобранные точки |
| Полётные контроллеры | вложения полётников |
| Модели | фото моделей, фото галереи, описания |
| Комплектующие | фото и описания комплектующих |
| Бэкапы | бэкапы настроек полётника |
| Записи | INAV-пресеты и сетапы, проекты конструктора v1 и v2 |
Удалённых файлов на этом экране нет: то, что лежит в корзине, перечисляет сама
корзина — со сроком хранения и кнопкой восстановления.
Список отсортирован по дате, свежее сверху, по 25 строк на страницу. В
каждой строке — имя, источник, размер, дата и до двух ссылок:
- Открыть источник — родной экран записи (карточка события, борта,
модели, карточка хранилища и т. д.); - Скачать — только у настоящих файлов. Часть строк помечена значком
«Запись»: это не файл, а текстовое поле существующей записи
(комментарий события, описание модели, INAV-пресет, проект
конструктора) — скачивать там нечего, ведёт только ссылка на источник.
Бэкап полётника, наоборот, скачивается: он хранится не как файл, но
выгружается целиком.
Витрина только на чтение. Здесь нельзя ни удалить, ни переименовать —
эти действия остаются на родном экране сущности, где рядом лежат её
собственные правила (подтверждения, права, журнал действий). Ссылка
«Открыть источник» ведёт именно туда.
Показывается только ваше: чужие файлы в список не попадают ни при каком
фильтре, а «осиротевшие» файлы удалённых записей не показываются вовсе.
Работа через ИИ-агента (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
выше (удаление файлов в корзину и их возврат агенту доступны). - Видео в файлах — см. «Что можно загружать».
- Докачки оборвавшегося архива — скачивание начинается заново, см.
«Скачать всё архивом».