Упаковка
NeoTavern распространяется как нативные пакеты для каждой платформы, каждый из которых несёт sidecar на Node.js, SQLite, нативные аддоны и продакшн-веб-ресурсы.
Форматы дистрибуции
Десктопная сборка производит:
- Установщик Windows — установщики NSIS и MSI с режимом установки для пользователя. Установщик регистрирует приложение и помещает пользовательские данные в каталог app-local-data платформы.
- Портативная сборка Windows — ZIP с исполняемым файлом, sidecar,
маркером
portable.flagиresources/, плюс файл контрольной суммы.sha256. При наличии флага данные живут в локальной папкеdata/рядом с приложением, а не в app-local-data. - Пакет macOS — пакет
.app, упакованный в DMG на macOS-раннере. - Linux — AppImage и архив.
Каждый формат собирается и смоук-тестируется на собственном нативном раннере платформы, потому что дистрибутив включает нативные аддоны. Кроссплатформенное копирование подготовленных артефактов не поддерживается.
Что внутри
Каждый пакет содержит всё необходимое приложению в рантайме:
- Оболочку Tauri 2.
- Самодостаточный исполняемый файл sidecar на Node.js 24.
- SQLite через
better-sqlite3. - Sharp для обработки изображений.
- Продакшн-веб-ресурсы.
Поскольку Node.js, SQLite и ресурсы находятся внутри пакета, пользователю ничего не нужно устанавливать заранее — ни Node.js, ни npm, ни настройки базы данных.
Первый запуск
Первый запуск — главное обещание продукта: откройте приложение — и оно работает.
- Оболочка запускает sidecar.
- Backend создаёт каталог данных, инициализирует базу данных SQLite, выполняет ожидающие миграции (с резервной копией перед ожидающими изменениями схемы), наполняет встроенные темы и стартового персонажа.
- Webview открывается на готовом приложении.
Нет терминала, нет мастера установки, кроме платформенного, нет npm install
и нет ручной настройки. Если пользователь выбрал фон чата или установил
плагины, ничего из этого не живёт в исполняемом файле — пользовательские
данные отделены от пакета, поэтому обновления заменяют ядро, не затрагивая
файлы пользователя.
Обновления
Релизные сборки подписывают свои артефакты и интегрируют апдейтер Tauri. Апдейтер проверяет манифест и подпись minisign перед установкой артефакта платформы, затем перезапускает оболочку. Откат означает публикацию предыдущего проверенного кода как нового подписанного релиза — неподписанные даунгрейды не допускаются. Плагины и темы обновляются независимо через менеджеры плагинов и тем; пользовательские файлы никогда не попадают в исполняемый артефакт обновления.
Сборка
Из репозитория команды упаковки:
pnpm desktop:prepare
pnpm desktop:build
pnpm desktop:portable
pnpm desktop:release
desktop:prepare собирает сервер и web, копирует специфичные для цели
нативные аддоны и создаёт sidecar с суффиксом целевого триплета Tauri.
desktop:portable дополнительно собирает установщики NSIS/MSI и портативный
ZIP с контрольной суммой, затем запускает безголовый смоук-тест оболочки.
desktop:release создаёт подписанные артефакты обновлений и требует секретов
релиза. Сборка установщиков требует Rust stable MSVC, Windows C++ Build Tools
и WebView2 на сборочной машине — конечным пользователям ничего из этого не
нужно.