A lightweight Android wrapper for SillyTavern. This application provides a dedicated WebView environment to access your self-hosted SillyTavern instance with native-like features.
- Full-Screen Experience: Removes browser UI elements for an immersive chat experience.
- Native Permissions: Seamless support for file uploads (images, characters) and camera/microphone access for multimodal features.
- Persistent Settings: Save your instance URL and connect with a single tap.
- Lightweight: Minimal overhead compared to running a full mobile browser.
The easiest way to get started is to download the latest pre-built APK from the Releases page.
- Download the
SillyTavern-vX.X.X.apkfile. - Open the file on your Android device.
- If prompted, allow installation from unknown sources.
- Follow the on-screen instructions to complete the installation.
- Launch the App: Open SillyTavern from your app drawer.
- Configure URL:
- Tap the Settings button.
- Enter the full URL of your SillyTavern instance (e.g.,
http://192.168.1.5:8000or your public tunnel URL). - Note: Ensure your phone can reach the host (e.g., same Wi-Fi or public IP).
- Save & Connect:
- Tap Save to store the configuration.
- Tap Connect to load your SillyTavern interface.
You can build the APK yourself using GitHub Actions or locally.
- Fork this repository.
- Enable Actions in your fork's settings.
- The workflow will trigger on every push, or you can run it manually via the Actions tab.
- Once complete, download the SillyTavern-Release artifact from the workflow run summary.
This project is built with Capacitor.
- Requirements: Node.js (>=22.0.0), Android Studio, and JDK 21.
- Structure:
www/: Contains the launcher's configuration UI.android/: The native Android project.MainActivity.java: Handles WebView permissions and core logic.
# Install dependencies
npm install
# Sync changes to the Android project
npx cap sync androidTo create a distributable (signed) APK, you need a keystore.
- Generate a Keystore:
keytool -genkey -v -keystore release-key.keystore -alias sillytavern -keyalg RSA -keysize 2048 -validity 10000
- Configure Build Credentials:
The build script supports both environment variables and Gradle properties.
|
Option A: Command Line (Recommended for local)
cd android ./gradlew assembleRelease -PRELEASE_STORE_PASSWORD=your_pass -PRELEASE_KEY_ALIAS=your_alias -PRELEASE_KEY_PASSWORD=your_pass
|
Option B: Environment Variables
- RELEASE_STORE_FILE: Path to your keystore file (defaults to release-key.keystore in android/app).
- RELEASE_STORE_PASSWORD: Your keystore password.
- RELEASE_KEY_ALIAS: Your key alias.
- RELEASE_KEY_PASSWORD: Your key password.
- GitHub Actions Setup: Add these as Secrets in your GitHub repository settings to enable signed releases via the automated workflow.
This project is licensed under the ISC License.