
# TauriTavern
**SillyTavern в виде нативного приложения для компьютеров и мобильных устройств**
[简体中文](README.md) · [English](README.en.md) · [日本語](README.ja.md) · **Русский** · [Português (Brasil)](README.pt-BR.md)
[Скачать](https://tauritavern.github.io/en/downloads/) · [Документация](https://tauritavern.github.io/en/) · [Релизы](https://github.com/Darkatse/TauriTavern/releases) · [Задачи](https://github.com/Darkatse/TauriTavern/issues)
[](https://github.com/Darkatse/TauriTavern/releases/latest)
[](LICENSE)
[](https://github.com/Darkatse/TauriTavern/stargazers)
[](https://tauritavern.github.io/en/downloads/)
[](https://t.me/TauriTavern)
[](https://discord.gg/hn57aFGe8h)
[](https://github.com/Darkatse/TauriTavern/issues)
[](https://github.com/Darkatse/TauriTavern/actions/workflows/canary-release.yml)
Спасибо @shiyue137 за логотип TauriTavern 💛
## Скачать
[](https://tauritavern.github.io/en/downloads/)
**Определяет ваше устройство автоматически · последняя стабильная сборка в один клик**
[](https://tauritavern.github.io/en/downloads/platforms/)
[](https://tauritavern.github.io/en/downloads/platforms/)
[](https://tauritavern.github.io/en/downloads/platforms/)
[](https://tauritavern.github.io/en/downloads/platforms/)
[](https://testflight.apple.com/join/gpqAdeTm)
[Все платформы](https://tauritavern.github.io/en/downloads/platforms/) · [Релизы на GitHub](https://github.com/Darkatse/TauriTavern/releases)
📦 Установка через менеджер пакетов (Windows · macOS · Linux)
### Windows · WinGet
Выполните в PowerShell:
```powershell
winget install --id TauriTavern.TauriTavern
```
### Windows · Scoop
Выполните в PowerShell:
```powershell
scoop bucket add Darkatse https://github.com/Darkatse/Scoop-Darkatse.git
scoop install Darkatse/TauriTavern
```
### macOS · Homebrew
Выполните в терминале:
```sh
brew install --cask tauritavern
```
### Linux
**Arch Linux · AUR**
Установите [`tauritavern-bin`](https://aur.archlinux.org/packages/tauritavern-bin) с помощью предпочитаемого AUR-помощника:
```sh
yay -S tauritavern-bin
```
Этот пакет поддерживает [@LX2000WASD](https://github.com/LX2000WASD). Благодарим его за постоянную работу над [TauriTavern-aur](https://github.com/LX2000WASD/TauriTavern-aur).
**Debian · Ubuntu · Fedora · openSUSE · NixOS**
Скрипт определит вашу систему и выберет подходящий способ установки. Он также работает в других дистрибутивах Linux, если в них установлен Nix.
**Стабильная версия**
```sh
curl -fsSL https://get.tauritavern.com/linux.sh | sh
```
**Nix / NixOS**
Если Nix уже установлен, добавьте TauriTavern прямо в профиль пользователя:
```sh
nix profile add github:Darkatse/TauriTavern#tauritavern
```
**Flatpak**
```sh
flatpak remote-add --user --if-not-exists \
tauritavern \
https://flatpak.tauritavern.com/tauritavern.flatpakrepo
flatpak install --user tauritavern com.tauritavern.client
```
### Canary
Canary обновляется ежедневно и включает новые функции и исправления, но может быть менее стабильной, чем стабильная версия. Если вы хотите попробовать последнюю сборку или столкнулись с проблемой в стабильной версии, проверьте, исправлена ли эта проблема в Canary.
Сборки для Windows, macOS и мобильных платформ доступны в разделе [Canary Release](https://github.com/Darkatse/TauriTavern/releases/tag/Canary).
Установка Canary в Linux
**Linux**
```sh
curl -fsSL https://get.tauritavern.com/linux.sh \
| sh -s -- --channel canary
```
**Nix / NixOS**
```sh
nix profile add github:Darkatse/TauriTavern/Canary#canary
```
> [!TIP]
> **iOS**: установите приложение через [открытое тестирование в TestFlight](https://testflight.apple.com/join/gpqAdeTm). Требуется iOS 15.0 или новее. Для iOS 15.0–16.3 предоставляется ограниченная поддержка; полная поддержка начинается с iOS 16.4. На тестовые сборки распространяются правила и ограничения TestFlight.
>
> **Портативная версия для Windows**: в системе должен быть установлен WebView2 Runtime.
## Что такое TauriTavern
TauriTavern переносит [SillyTavern](https://github.com/SillyTavern/SillyTavern) в нативное приложение. Фронтенд сохраняет возможности исходного проекта и синхронизирован с версией 1.18.0, а бэкенд переписан с Node.js на Rust с использованием Tauri v2.
Устанавливать Node.js и работать с командной строкой не нужно: достаточно скачать и запустить приложение. Карточки персонажей, чаты, пресеты, информация о мире и расширения фронтенда совместимы с SillyTavern.
> Примечание: TauriTavern — независимо поддерживаемый проект с открытым исходным кодом, а не официальный клиент SillyTavern. Он распространяется бесплатно по лицензии AGPL-3.0. Перед использованием ознакомьтесь с условиями лицензии.
## Основные возможности
- 🖥️ **Пять нативных платформ**: Windows, macOS, Linux, Android и iOS с единым пользовательским интерфейсом
- 🎭 **Совместимость с SillyTavern**: фронтенд синхронизирован с версией 1.18.0, форматы данных и структура каталогов совместимы с исходным проектом
- 🧩 **Расширения фронтенда**: встроенный нативный Git позволяет устанавливать и обновлять расширения, а также переключать ветки прямо в интерфейсе (плагины бэкенда, рассчитанные только на Node.js, не поддерживаются)
- 🔄 **Синхронизация между устройствами**: зашифрованное сопряжение по локальной сети или автоматическая отправка через удалённый TT-Sync v2
- 🤖 **Agent Framework**: вызов инструментов, Skills, субагенты и временная шкала выполнения; разработка продолжается
- 📦 **Перенос данных**: скрипты экспорта из SillyTavern и импорт внутри приложения
- ⚡ **Работа с длинными чатами**: поэтапный запуск и загрузка только видимой части чата помогают интерфейсу сохранять отзывчивость
- 🔒 **Данные остаются у вас**: всё хранится на устройстве; при необходимости доступен портативный режим
## Снимки экрана
## Кратко об архитектуре
Бэкенд на Rust организован как рабочее пространство Cargo (`src-tauri/crates/`) по принципам Clean Architecture:
- `tauritavern`: оболочка Tauri, слой команд и корень композиции
- `tt-application` · `tt-ports` · `tt-domain` · `tt-contracts`: сценарии использования, порты, доменные модели и контракты между crate
- `tt-adapter-*`: реализации хранилища, HTTP, мультимедиа, синхронизации, расширений и токенизации
Фронтенд состоит из исходного SillyTavern и модульного слоя интеграции с Tauri (`src/tauri/main/`). Он взаимодействует с бэкендом на Rust через платформенный ABI `window.__TAURITAVERN__`. Подробнее см. в [docs/BackendStructure.md](docs/BackendStructure.md) и [docs/FrontendGuide.md](docs/FrontendGuide.md).
🛠 Разработка (требования · основные команды · Tauri Pilot · портативные сборки · FasTools)
**Требования**: Rust stable (edition 2024) · Node.js 22.13+ · pnpm 11 · Tauri CLI
```bash
git clone https://github.com/Darkatse/TauriTavern.git
cd TauriTavern
pnpm install
```
**Основные команды**:
```bash
pnpm run check # проверки фронтенда, типов, контрактов и Rust-кода
pnpm run web:build # сборка фронтенда с помощью Rspack
pnpm run tauri:dev # режим разработки для компьютера
pnpm run tauri:build # сборка установщиков для компьютера
pnpm run android:dev # режим разработки Android
pnpm run ios:dev # режим разработки iOS
```
**Tauri Pilot (разработка интерфейса с помощью ИИ-агентов)**
В проект входит плагин [Tauri Pilot](https://github.com/mpiton/tauri-pilot) с разрешениями, доступными только при разработке. Он позволяет ИИ-агенту проверять и управлять содержимым WebView для настольной версии через снимки доступности. Обычные команды разработки и сборки релизов его не включают.
```bash
cargo install tauri-pilot-cli # требуется только один раз
pnpm run tauri:dev:pilot
```
После запуска приложения откройте другой терминал и выполните основные шаги:
```bash
tauri-pilot ping
tauri-pilot snapshot -i
tauri-pilot click @e3 # используйте ref из текущего снимка
tauri-pilot diff -i
tauri-pilot logs --level error
```
Перед взаимодействием сделайте снимок и выполняйте по одному действию за раз. После асинхронных обновлений используйте `wait`, а для проверки отдавайте предпочтение `assert`. Агент с поддержкой MCP может зарегистрировать `tauri-pilot mcp` как stdio-сервер.
**Портативные сборки**: `pnpm run tauri:build:portable` (результат сохраняется в `release/`). Чтобы принудительно включить портативный режим, задайте `TAURITAVERN_RUNTIME_MODE=portable` или создайте файл `portable.flag`.
**FasTools**: рекомендуемый набор инструментов для разработки и диагностики развёртывания. Сборка выполняется командой `pnpm run fastools:build`, запуск — `pnpm run fastools:run`.
Подробности для отдельных платформ приведены в [docs/AndroidDevelopment.md](docs/AndroidDevelopment.md) и [docs/iOSDevelopment.md](docs/iOSDevelopment.md).
## Документация
- 📖 [Документация на сайте](https://tauritavern.github.io/en/): руководства на китайском и английском языках по использованию, Agent, архитектуре, API и загрузке
- [docs/FrontendGuide.md](docs/FrontendGuide.md): архитектура фронтенда и руководство по расширениям
- [docs/FrontendHostContract.md](docs/FrontendHostContract.md): публичный контракт слоя хоста
- [docs/BackendStructure.md](docs/BackendStructure.md): Clean Architecture бэкенда и границы crate
- [docs/CurrentState/](docs/CurrentState/README.md): текущее состояние реализованных модулей
## Участие в разработке
Мы принимаем сообщения о проблемах и Pull Request. Перед началом прочитайте [CONTRIBUTING.md](CONTRIBUTING.md). Если исправление не срочное, выбирайте целевой веткой `dev`.
## Благодарности и лицензия
Проект основан на [SillyTavern](https://github.com/SillyTavern/SillyTavern) и [Tauri](https://tauri.app/). Благодарим авторов [Cocktail](https://github.com/Lianues/cocktail), [Tavern-Helper](https://github.com/N0VI028/JS-Slash-Runner), [LittleWhiteBox](https://github.com/RT15548/LittleWhiteBox), [MikTik](https://github.com/Darkatse/MikTik), а также [@LX2000WASD](https://github.com/LX2000WASD) за поддержку [пакета TauriTavern для AUR](https://github.com/LX2000WASD/TauriTavern-aur).
Проект распространяется по лицензии [AGPL-3.0](LICENSE), которая относится к тому же семейству лицензий, что и лицензия SillyTavern.
[](https://github.com/Darkatse/TauriTavern/graphs/contributors)
Сделано командой TauriTavern с вниманием к деталям ❤️