фаза ресерча · 2025–2026

Каталог — это MarshHub, только с манифестом

App, skill и agent для cosy не нужно публиковать в новом месте. Мы уже умеем принимать деплой от ребёнка за секунды — на платформе, где сегодня живут сайты учеников Mars IT School. Каталогу не хватает одного файла: манифеста, который объясняет системе, что именно она только что получила.


Что это

Один реестр, три типа сущностей

MarshHub — реальный, работающий сервис Mars: хостинг статики для сайтов учеников на поддоменах вида имя.marshub.uz, авторизация через Mars ID, деплой командой из терминала, из веб-панели или прямо из Telegram. Для cosy он становится витриной, откуда семья ставит себе app, включает skill или доверяет дому agent — тем же самым способом, каким сегодня ребёнок публикует школьный проект.

App

Узкая линза поверх семейной памяти: 2–3 функции, иконка на рабочем столе, offline-first. Пример — «Сад привычек».

Skill

Способность без своего экрана — вызывается голосом или командой. Ребёнок может собрать такой сам, формулируя намерение словами.

Agent

Фоновая сущность с собственным циклом жизни — «живёт», действует без запроса, репортит родителю по Weekly Pulse.

Каталог не хранит приложения
он хранит обещания, что именно приложение попросит у семьи.

Манифест

cosy.json — один файл рядом с деплоем

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

{
  "type": "agent",
  "name": "Календарь-агент",
  "category": "быт",
  "trust_level": "medium",
  "min_age": 8,
  "permissions": ["memory:read:schedule", "memory:write:reminders"],
  "alive_feature": "Утренний дайджест: кто где, кого забрать некому",
  "offline": false
}

Поля манифеста

  • typeapp / skill / agent, определяет контракт исполнения
  • categoryучёба, быт, творчество, безопасность — раздел каталога
  • trust_levellow/medium/high по Trust Gradient — сколько семейных данных нужно
  • min_ageвозрастной гейт, фильтрует каталог по профилю ребёнка

Продолжение

  • permissionsчто именно читает/пишет в общей памяти — декларация, не код
  • alive_featureчем сущность занята в фоне, если это agent
  • offlineработает ли без сети — важно для планшета в школе без wifi

MarshHub только хранит и отдаёт эту декларацию. Проверку прав и запрос согласия у родителя делает уже рантайм cosy на устройстве — не хостинг.


Флоу

Ребёнок-оператор публикует так же, как сегодня

Мы намеренно не придумываем новую ментальную модель для публикации — ребёнок, который уже умеет marshub deploy, публикует app/skill/agent тем же движением.

Шаг 1

Собирает app, skill или agent

Skill — формулирует намерение словами («когда я говорю "домашка" — собери мои уроки на завтра»). App или agent сложнее — пишет их с ментором Mars через код.

Шаг 2

Деплоит тем же каналом

CLI, веб-панель или Telegram-бот — тот же marshub deploy --name, та же проверка на исполняемый код, тот же лимит и rate-limit.

Шаг 3

Сервер читает cosy.json

Тип, категория, trust_level и разрешения превращают обычный деплой в запись каталога — вместо «просто сайта» получается карточка с типом и правами.

Шаг 4

Семья видит и ставит

Родитель подтверждает permissions выше низкого уровня доверия — установка это запись «кто разрешил и что именно» в семейной памяти, не слепой клик «ОК».

Честно

Есть сегодня vs проектируем

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

Компонент Есть сегодня Проектируем
Публикация Деплой командой, панелью или из Telegram — секунды Парсинг cosy.json при приёме деплоя
Автор Mars ID — вход через Telegram, JWT на весь MarshHub — (переиспользуется как есть)
Приватность access_list — кто вообще видит сайт Слой разрешений: что именно app читает/пишет в семейной памяти
Витрина Публичная галерея всех сайтов, статусы draft→live Каталог с фильтром по типу/категории, возрастной гейт
Безопасность деплоя Блокировка исполняемых расширений, только статика Модерация перед попаданием в семейный каталог
Исполнение app/skill Статика через браузерную изоляцию по домену Контейнер cosy, вызов памяти по декларированным правам
Исполнение agent Аналога нет — сегодняшний MarshHub только раздаёт файлы Отдельный рантайм-воркер + инференс через Mars Token Factory

Примеры

Четыре карточки из будущего каталога

Не абстракция — гипотезы, для которых уже есть манифест и понятная роль в семье.

Календарь-агент

agent · trust medium

Знает расписание всей семьи. Утренний дайджест: «сегодня у Вани музыка в 16:00, у мамы встреча в 18:00 — забрать некому».

Домашка-скилл

skill · trust low-medium

Молчит, пока не спросят. Вызывается голосом «проверь домашку», читает учебный прогресс из общей памяти. Ребёнок может настроить сам.

Guardian-агент

agent · trust high

Фоново следит за аномалиями активности — не за содержимым переписки. Тихий алерт родителю. Единственный тип, который ребёнок не может отключить.

Habit Garden

app · trust low

Сад привычек без стриков и красных цифр. Растения растут, но не умирают, если день пропущен.

Мы не строим новый магазин приложений.
Мы достраиваем смысл к тому, что уже умеет принимать деплой.