Один файл — вся реальность приложения

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

Именно это обещает Capsule — проект, появившийся в июне 2026 года на Hacker News в разделе «Show HN» и мгновенно набравший сотни комментариев. Это приложение, написанное на Rust с использованием Tauri 2.0, позволяет упаковать HTML-приложение и все его данные в единый SQLite-файл; HTML и связанные ресурсы встраиваются прямо в базу данных.

В эпоху тотальной облачной зависимости это звучит как ересь. Но давайте разберёмся, почему идея работает — и почему она может оказаться именно тем, чего не хватало нишевому инструментостроению.


Что такое Capsule и как это устроено изнутри

Capsule превращает простые текстовые описания в полноценные, самодостаточные десктопные приложения — без облачных серверов, без настройки баз данных, без сложных сборочных цепочек.

Файл с расширением .capsule — это обычная SQLite-база данных, в которую вшито буквально всё:

  • HTML/CSS/JS интерфейс — фронтенд хранится как BLOB прямо в таблице базы;
  • Медиаресурсы — изображения, шрифты, иконки;
  • Пользовательские данные — записи, состояние приложения, история;
  • Схема БД — SQL-миграции и структура таблиц.

Capsule упаковывает пользовательский интерфейс, медиаресурсы и локальную базу данных в единый переносимый .capsule-файл, который можно отправить через WhatsApp, AirDrop или email, как обычный PDF или Word-документ.

Технологический стек

В основе проекта — связка из современных технологий:

ТехнологияРоль в Capsule
RustСистемное ядро, управление памятью
Tauri 2.0Кросс-платформенный десктопный shell
SQLiteЕдиный файл-хранилище для всего
HTML/CSS/JSИнтерфейс приложения
AI (ChatGPT/Claude/Gemini)Генерация .capsule-приложений по промпту

Tauri — это open-source фреймворк для создания кросс-платформенных десктопных и мобильных приложений под Linux, macOS, Windows, Android и iOS с использованием веб-фронтенда. Tauri v2 вышел как стабильный релиз 2 октября 2024 года.

Таким образом, .capsule-файл — это не просто архив. Это запускаемый документ: Tauri-оболочка читает встроенный HTML из SQLite и рендерит его как нативное приложение, одновременно предоставляя ему доступ к той же базе данных для чтения и записи пользовательских данных.

ℹ Как работает запуск
Когда вы открываете .capsule-файл, Tauri-оболочка (установленная один раз на устройстве) читает из SQLite встроенный HTML, запускает его во встроенном WebView и даёт фронтенду SQL-доступ к той же базе данных через Rust-бэкенд. Всё — в рамках одного файла.

Почему SQLite — идеальный контейнер

Выбор SQLite в качестве «упаковки» кажется нестандартным, но он абсолютно логичен.

SQLite — это самодостаточный, serverless движок базы данных, который работает внутри приложения и хранит всё в одном файле. Он поддерживает настоящий SQL, ACID-транзакции и — в режиме WAL — конкурентное чтение при единственном писателе.

Для задачи Capsule это означает:

1. Атомарность операций. Когда пользователь сохраняет данные в приложении, SQLite гарантирует, что запись либо завершится полностью, либо не произойдёт вовсе. Никаких «полусохранённых» состояний.

2. Единый файл = простое распространение. Поскольку база данных — это единственный файл, SQLite хорошо подходит для распространения датасетов; вы можете поставлять .db-файл вместе с приложением, содержащий справочные данные, таблицы поиска или кешированные результаты.

3. Нет сетевых зависимостей. SQLite идеально вписывается в приложения Tauri: он serverless, не требует конфигурации, а база данных содержится в одном файле — это совпадает с целью Tauri создавать лёгкие, распространяемые десктопные приложения.

4. Надёжность в продакшне. С режимом WAL и современным железом SQLite справляется с продакшн-нагрузками для подавляющего большинства веб-приложений.


graph TD
    A[Пользователь открывает .capsule] --> B[Tauri-оболочка]
    B --> C[Читает HTML из SQLite]
    C --> D[Запускает WebView с фронтендом]
    D --> E[Пользователь взаимодействует с UI]
    E --> F[JS вызывает Rust backend]
    F --> G[Rust пишет/читает данные в SQLite]
    G --> H[Данные остаются в том же .capsule-файле]
    H --> E


AI как генератор приложений: промпт → .capsule-файл

Одна из самых интересных особенностей Capsule — интеграция с AI-ассистентами для генерации приложений по текстовому описанию.

Вы описываете приложение, макет или функции, которые хотите построить — и система генерирует полноценный однофайловый .capsule-контейнер с HTML UI, схемой и локальными данными SQLite.

Доступна сборка через ChatGPT, Claude, Gemini и другие AI-ассистенты.

Вот пример того, как выглядит промпт для создания простого трекера задач:

Создай приложение для отслеживания ежедневных задач.
Поля: название задачи, приоритет (низкий/средний/высокий),
статус (новая/в процессе/завершена), дедлайн.
Добавь фильтрацию по статусу и сортировку по дедлайну.
Тёмная тема, минималистичный дизайн.

AI генерирует полный HTML/JS/CSS код с SQL-схемой, упакованный в .capsule. Можно менять функции, переключать тёмную тему или изменять схему данных на лету через прямые AI-промпты или MCP-инструменты для кода.

💡 MCP-интеграция
Capsule поддерживает Model Context Protocol (MCP), что позволяет подключить его к Cursor, Claude Desktop или другим MCP-совместимым инструментам. Это означает, что AI-агент может самостоятельно итерировать над вашим приложением, не выходя из IDE.

Реальные сценарии использования

Capsule объединяет простоту документов с мощью нативных десктопных и мобильных приложений. Это звучит абстрактно, но на практике открывает несколько конкретных ниш:

1. Личные инструменты и утилиты

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

2. Обмен интерактивными данными

Отправьте файл через WhatsApp, AirDrop или email, как PDF или Word-документ. Когда получатель откроет файл, он запустится мгновенно со всеми предзагруженными данными. Представьте: вы присылаете коллеге не скучную таблицу Excel, а живой дашборд с фильтрами и графиками.

3. Портфолио и презентации

Портфолио с проектами, кейс-стади и ресурсами, упакованное в один файл — это принципиально другой уровень впечатления по сравнению с PDF или ссылкой на Notion.

4. Офлайн-приложения

Capsule работает на 100% офлайн: получайте доступ к приложениям в самолёте, в метро или полностью без подключения к сети.

5. Инструменты команды без DevOps

Маленькая команда может создать и распространить внутренний инструмент (чеклист для онбординга, шаблон отчёта с логикой, трекер спринта) без деплоя, без сервера и без учётных записей.


Capsule vs. альтернативы: честное сравнение

КритерийCapsule (.capsule)TiddlyWiki (HTML)Notion / AirtableExcel/Google Sheets
Хранение данныхSQLite внутри файлаВсё в одном HTMLОблакоОблако / локально
Портативность✅ Один файл✅ Один файл❌ Только ссылка⚠️ Нужен Office
Офлайн✅ Полная✅ Полная⚠️ Частичная
Интерактивность✅ Полноценный UI⚠️ Ограниченная⚠️ Макросы
Приватность✅ Данные на устройстве❌ Данные у вендора⚠️
AI-генерация✅ Встроена⚠️ Частично
Порог входаНизкий (промпт)СреднийНизкийНизкий
МасштабируемостьЛичное/командаЛичноеКоманда/EnterpriseЛичное/команда

«Один файл, целое приложение. Делитесь как документом, открывайте как приложением.» — девиз Capsule точно передаёт суть философии local-first разработки.

ТiddlyWiki — ближайший исторический аналог: единый HTML-файл, хранящий и приложение, и данные. Но SQLite даёт Capsule структурированное хранение, запросы и транзакционность, которых у TiddlyWiki нет.

⚠ Важное ограничение
Capsule — это персональный и командный инструмент, а не замена полноценным веб-приложениям с тысячами пользователей. Если ваше приложение имеет множество одновременных писателей — тысячи пользователей, пишущих одновременно — модель единственного писателя SQLite станет узким местом. Для таких сценариев нужен другой стек.

Как начать работу с Capsule

Самый быстрый путь — через сайт withcapsule.app:

  1. Скачайте приложение для macOS (доступны и другие платформы).
  2. Опишите приложение в текстовом поле или выберите AI-ассистент.
  3. Получите .capsule-файл — готовое работающее приложение.
  4. Используйте или поделитесь — отправьте файл кому угодно.

Для разработчиков, которые хотят писать .capsule-приложения вручную, структура файла открытая: это стандартная SQLite-база данных со специальными таблицами для хранения ресурсов.

-- Пример структуры .capsule-файла
CREATE TABLE _capsule_assets (
    path TEXT PRIMARY KEY,   -- 'index.html', 'style.css' и т.д.
    content BLOB NOT NULL,   -- Содержимое файла
    mime_type TEXT           -- 'text/html', 'text/css'
);

CREATE TABLE _capsule_meta (
    key TEXT PRIMARY KEY,
    value TEXT
);

-- Пользовательские таблицы создаются самим приложением:
CREATE TABLE tasks (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    status TEXT DEFAULT 'new',
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
📝 Что можно создать за 5 минут

Трекер задач — опишите поля, приоритеты, статусы. AI генерирует полный UI с фильтрами.

Рецептник — список рецептов с ингредиентами, тегами и поиском. Всё офлайн, всё в одном файле.

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


Заключение: local-first возвращается

Capsule — это не просто технический трюк. Это манифест против cloud-first усталости: когда для каждого маленького инструмента нужен аккаунт, подписка, доступ к интернету и доверие к чужому серверу.

Capsule использует стандартный HTML и CSS; ваш код и данные принадлежат вам, полностью свободны от облачных силосов.

Философия local-first — данные живут на вашем устройстве, синхронизация опциональна, файл является единственной точкой правды — давно обсуждается в сообществе разработчиков. Capsule делает её доступной для всех: не нужно быть разработчиком, чтобы создать полноценный персональный инструмент.

Сочетание Rust + Tauri 2.0 + SQLite + AI-генерация — это стек, который позволяет одному человеку за несколько минут создать то, на что раньше уходили дни разработки и недели DevOps. А то, что результат помещается в один файл и передаётся как документ — делает этот инструмент по-настоящему человекоориентированным.

Если вы ещё не пробовали Capsule — сейчас отличный момент переосмыслить, как вы создаёте и распространяете маленькие рабочие инструменты.