Find a file
C.J. Wu f6126b4fc9
ci: sync default-branch GitHub config from dev (#344)
GitHub reads issue templates, the Dependabot config, and workflows
triggered by schedule, issues, or pull_request_target from main, so
their dev versions wait for the next release merge. Copy those files
from dev unchanged:

- issue templates, the Dependabot label, and the platform-label
  workflow for the grouped labels (d101b642);
- nix-package-check: the scheduled run gains the Flatpak source refresh
  (2f2d2d6f) and the pnpm rebuild check (c90d77d5), which so far ran
  only when dispatched by hand;
- the Canary scheduler, FasTools, and target-branch workflows: Node 24
  action versions (810c6f29).

Release, Canary, OHOS, and PR-gate workflows run against the code they
build and stay as they are. The copied files match dev, so the next
dev merge does not conflict on them.
2026-10-10 00:40:00 -04:00
.github ci: sync default-branch GitHub config from dev (#344) 2026-10-10 00:40:00 -04:00
.vscode fix(dev): reduce Rust development check noise 2026-06-24 22:40:25 -04:00
default refactor(extensions): discover all built-ins and disable optional defaults 2026-08-15 22:51:58 -04:00
distribution feat(release): add WinGet publishing 2026-08-07 00:55:20 -04:00
docs docs: use short URLs for installation and migration scripts 2026-09-18 22:51:51 -04:00
fastools chore(fastools): launch desktop dev mode with pilot 2026-08-14 19:20:51 -04:00
nix chore(version): bump version to 2.3.0 2026-09-19 00:04:56 -04:00
packaging/flatpak fix(ci): enable Pilot in stable debug builds and refresh Flatpak sources 2026-09-18 22:33:57 -04:00
scripts docs: use short URLs for installation and migration scripts 2026-09-18 22:51:51 -04:00
src chore: remove ponytail prefixes from comments 2026-09-18 23:11:53 -04:00
src-tauri chore(version): bump version to 2.3.0 2026-09-19 00:04:56 -04:00
tests refactor(database): integrate TriviumDB through a native adapter 2026-09-18 01:42:56 -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(testing): codify behavior-first test constraints 2026-08-21 21:41:17 -04:00
CONTRIBUTING.md docs(testing): codify behavior-first test constraints 2026-08-21 21:41:17 -04:00
eslint.config.js feat(agent): expose profile streaming policy 2026-08-28 02:35:23 -04:00
ExtensionDEV.md feat (api): Add mobile layout API 2026-04-05 23:20:02 -04:00
flake.lock fix(nix): refresh package inputs and add preflight (#256) 2026-09-16 12:17:33 +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 chore(version): bump version to 2.3.0 2026-09-19 00:04:56 -04:00
pnpm-lock.yaml feat(editor): add compact toolbar and find-replace controls 2026-09-07 00:09:22 -04:00
pnpm-workspace.yaml fix(dev): use native file watcher for reloads (#229) 2026-09-06 00:59:33 -04:00
README.en.md docs: credit logo designer across README translations 2026-09-18 23:08:21 -04:00
README.ja.md docs: credit logo designer across README translations 2026-09-18 23:08:21 -04:00
README.md docs: credit logo designer across README translations 2026-09-18 23:08:21 -04:00
README.pt-BR.md docs: credit logo designer across README translations 2026-09-18 23:08:21 -04:00
README.ru.md docs: credit logo designer across README translations 2026-09-18 23:08:21 -04:00
rspack.config.js perf(editor): add optional lazy CodeMirror 2026-08-30 03:59:25 -04:00
rstest.config.mjs refactor(frontend): establish React migration foundation 2026-08-20 21:21:47 -04:00
tsconfig.host.json refactor(database): integrate TriviumDB through a native adapter 2026-09-18 01:42:56 -04:00
tsconfig.ui.json refactor(frontend): establish React migration foundation 2026-08-20 21:21:47 -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

Thanks to @shiyue137 for designing the TauriTavern logo 💛

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 · WinGet

Run in PowerShell:

winget install --id TauriTavern.TauriTavern

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://get.tauritavern.com/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://get.tauritavern.com/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 15.0 or later. iOS 15.0–16.3 receives limited support; full support starts with iOS 16.4. 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 22.13+ · pnpm 11 · 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