Find a file
2026-08-07 00:55:20 -04:00
.github feat(release): add WinGet publishing 2026-08-07 00:55:20 -04:00
.vscode fix(dev): reduce Rust development check noise 2026-06-24 22:40:25 -04:00
default Merge branch 'sync/upstream-1.18.0' into next/2.0.0 2026-05-20 19:13:09 +08:00
distribution feat(release): add WinGet publishing 2026-08-07 00:55:20 -04:00
docs feat(release): add WinGet publishing 2026-08-07 00:55:20 -04:00
fastools fix(fastools): align release builds and artifacts with CI 2026-07-31 16:25:06 -04:00
nix fix(nix): derive Rust dependencies from Cargo.lock 2026-07-30 14:29:39 +08:00
packaging/flatpak chore(deps): update virtual-core to 3.17.7 2026-07-29 18:17:03 -04:00
scripts feat(ci): publish desktop debug builds 2026-07-30 00:59:02 -04:00
src feat(skills): support batch ZIP and folder imports #153 2026-08-07 00:05:23 -04:00
src-tauri feat(skills): support batch ZIP and folder imports #153 2026-08-07 00:05:23 -04:00
tests feat(release): add WinGet publishing 2026-08-07 00:55:20 -04:00
.gitattributes git: add .gitattributes 2026-03-11 01:09:44 -04:00
.gitignore feat(flatpak): add source-based application packaging 2026-07-27 05:52:55 +08:00
.taurignore perf: package size optimization 2026-02-24 10:42:10 +08:00
AGENTS.md docs: codify project philosophy and relocate agent guidelines 2026-07-18 18:43:19 -04:00
CONTRIBUTING.md docs: codify project philosophy and relocate agent guidelines 2026-07-18 18:43:19 -04:00
ExtensionDEV.md feat (api): Add mobile layout API 2026-04-05 23:20:02 -04:00
flake.lock feat(nix): add native Linux flake packaging 2026-07-26 07:17:14 +08:00
flake.nix feat(nix): add native Linux flake packaging 2026-07-26 07:17:14 +08:00
LICENSE Initial commit 2025-04-17 21:13:08 +08:00
package.json feat(agent): bind tools to immutable invocation snapshots 2026-08-03 22:09:24 -04:00
pnpm-lock.yaml chore(deps): update virtual-core to 3.17.7 2026-07-29 18:17:03 -04:00
pnpm-workspace.yaml feat(frontend): sync SillyTavern 1.18 baseline 2026-05-13 23:49:06 +08:00
README.en.md docs(readme): highlight daily Canary updates 2026-08-06 17:51:47 -04:00
README.ja.md docs(readme): highlight daily Canary updates 2026-08-06 17:51:47 -04:00
README.md docs(readme): highlight daily Canary updates 2026-08-06 17:51:47 -04:00
README.pt-BR.md docs(readme): highlight daily Canary updates 2026-08-06 17:51:47 -04:00
README.ru.md docs(readme): highlight daily Canary updates 2026-08-06 17:51:47 -04:00
rspack.config.js fix(build): harden Tauri hooks and Rust quality gates #137 2026-07-17 19:04:06 -04:00
tsconfig.host.json Refactoring (Frontend): Standardized frontend refactoring, incorporating code contracts. 2026-03-11 19:51:17 -04:00

TauriTavern

TauriTavern

SillyTavern, as a native app — desktop & mobile, out of the box

简体中文 · English · 日本語 · Русский · Português (Brasil)

Downloads · Docs · Releases · Issues

Release License Stars Platforms
Telegram Discord Issues Canary

Download

⬇ Download TauriTavern

Auto-detects your device · one click to the latest stable build

Windows macOS Linux Android iOS TestFlight

All platforms · GitHub Releases

📦 Install with a package manager (Windows · macOS · Linux)

Windows · Scoop

Run in PowerShell:

scoop bucket add Darkatse https://github.com/Darkatse/Scoop-Darkatse.git
scoop install Darkatse/TauriTavern

macOS · Homebrew

Run in Terminal:

brew install --cask tauritavern

Linux

Arch Linux · AUR

Install tauritavern-bin with your preferred AUR helper:

yay -S tauritavern-bin

This package is maintained by @LX2000WASD. Many thanks for the ongoing work in TauriTavern-aur.

Debian · Ubuntu · Fedora · openSUSE · NixOS

The script detects your system and chooses the appropriate installation method. It also supports other Linux systems with Nix installed.

Stable

curl -fsSL https://raw.githubusercontent.com/Darkatse/TauriTavern/main/scripts/install-linux.sh | sh

Nix / NixOS

If Nix is already installed, add TauriTavern directly to your user profile:

nix profile add github:Darkatse/TauriTavern#tauritavern

Flatpak

flatpak remote-add --user --if-not-exists \
  tauritavern \
  https://flatpak.tauritavern.com/tauritavern.flatpakrepo
flatpak install --user tauritavern com.tauritavern.client

Canary

Canary receives daily updates with new features and fixes, but may be less reliable than Stable. If you want to try the latest build or are having an issue with Stable, check whether Canary already includes a fix.

Windows, macOS, and mobile builds are available from the Canary Release.

Install Canary on Linux

Linux

curl -fsSL https://raw.githubusercontent.com/Darkatse/TauriTavern/main/scripts/install-linux.sh \
  | sh -s -- --channel canary

Nix / NixOS

nix profile add github:Darkatse/TauriTavern/Canary#canary

Tip

iOS: install via the public TestFlight beta. It requires iOS 16 or later. TestFlight builds are subject to Apple's TestFlight rules and have usage restrictions.

Windows portable: requires the WebView2 runtime on the system.

What is TauriTavern

TauriTavern ports SillyTavern into a true native app: the frontend keeps the full upstream experience (synced to 1.18.0), while the backend is rebuilt from Node.js into Rust (Tauri v2).

No Node.js to install, no command line — just download and run. Your character cards, chats, presets, world info, and frontend extensions all stay compatible with SillyTavern.

Note: TauriTavern is an independently maintained open-source project, not an official SillyTavern client. TauriTavern is free and open source under the AGPL-3.0 license. Please review the license terms before use.

Highlights

  • 🖥️ Five native platforms: Windows, macOS, Linux, Android, and iOS — one experience everywhere
  • 🎭 Full SillyTavern experience: frontend synced to upstream 1.18.0, with fully compatible data formats and directory layout
  • 🧩 Frontend extension ecosystem: built-in native Git — install, update, and switch branches right in the UI (Node-only backend plugins are not supported)
  • 🔄 Built-in multi-device sync: encrypted LAN pairing, or automatic upload via the remote TT-Sync v2
  • 🤖 Agent framework: tool calling, Skills, sub-agents, and a run timeline; development is ongoing
  • 📦 One-click migration: SillyTavern export scripts + in-app import for a smooth move
  • ⚡ Performance engineering: phased startup and windowed chat loading keep even very long chats smooth
  • 🔒 Your data, yours: everything stays on your device, with an optional portable mode

Screenshots

TauriTavern on desktop and mobile

Architecture at a Glance

The Rust backend is a Clean Architecture Cargo workspace (src-tauri/crates/):

  • tauritavern: Tauri host, command layer, and composition root
  • tt-application · tt-ports · tt-domain · tt-contracts: use cases, ports, domain models, and cross-crate contracts
  • tt-adapter-*: concrete storage, HTTP, media, sync, extension, and tokenization implementations

The frontend is upstream SillyTavern plus a modular Tauri injection layer (src/tauri/main/), talking to the Rust backend through the window.__TAURITAVERN__ platform ABI. See docs/BackendStructure.md and docs/FrontendGuide.md for details.

🛠 Development (prerequisites · common commands · Tauri Pilot · portable builds · FasTools)

Prerequisites: Rust stable (edition 2024) · Node.js 20.19.x or 22.12+ · pnpm · Tauri CLI

git clone https://github.com/Darkatse/TauriTavern.git
cd TauriTavern
pnpm install

Common commands:

pnpm run check         # frontend guardrails/types/contracts + Rust dev check
pnpm run web:build     # build frontend bundles (Rspack)
pnpm run tauri:dev     # desktop dev mode
pnpm run tauri:build   # build desktop installers
pnpm run android:dev   # Android dev mode
pnpm run ios:dev       # iOS dev mode

Tauri Pilot (UI development with AI agents)

The project already includes the development-only Tauri Pilot plugin and capability. It lets an AI agent inspect and operate the desktop WebView through accessibility snapshots. The standard development and release commands do not enable it.

cargo install tauri-pilot-cli  # only needed once
pnpm run tauri:dev:pilot

After the app starts, use another terminal for the basic workflow:

tauri-pilot ping
tauri-pilot snapshot -i
tauri-pilot click @e3          # use a ref from the current snapshot
tauri-pilot diff -i
tauri-pilot logs --level error

Take a snapshot before interacting and perform one action at a time. Use wait after asynchronous updates and prefer assert for verification. An MCP-capable agent can register tauri-pilot mcp as a stdio server.

Portable builds: pnpm run tauri:build:portable (outputs to release/); force portable runtime with TAURITAVERN_RUNTIME_MODE=portable or a portable.flag file.

FasTools: the recommended toolkit for development and deployment debugging. Build with pnpm run fastools:build, run with pnpm run fastools:run.

Platform details: docs/AndroidDevelopment.md and docs/iOSDevelopment.md.

Documentation

Contributing

Issues and PRs are welcome! Please read CONTRIBUTING.md first, target the dev branch unless it is an urgent fix.

Acknowledgements & License

Built on SillyTavern and Tauri, with thanks to Cocktail, Tavern-Helper, LittleWhiteBox, MikTik, and @LX2000WASD for maintaining the TauriTavern AUR package.

Released under AGPL-3.0 (same license family as SillyTavern).

Contributors

Made with love and care ❤️ — The TauriTavern Team