Mobile multi-session tmux management app for AI agent workflows.
Download the latest SEIL release from the GitHub Releases page.
SEIL is a Flutter mobile app for managing SSH workspaces, remote tmux sessions, and SFTP files from a phone or tablet. It is designed for developers who run AI agents, coding assistants, or long-running terminal jobs on remote servers and need a compact way to reconnect, inspect, and control those sessions.
- Save SSH connection templates locally.
- Connect with password or private-key authentication.
- Store connection secrets with platform secure storage.
- Manage multiple live SSH workspaces.
- Discover, select, create, and close remote tmux sessions.
- Use terminal controls for tmux panes, windows, scrolling, and command input.
- Browse remote files over SFTP.
- Create folders, rename files, upload/download files, and read/write text files.
- Use local app bootstrap, login, and password change flows.
Remote tmux support requires tmux to be installed on the target server. SSH and SFTP features require the target server to allow SSH access.
If tmux is missing on the server, install it with the command for your distribution.
# Ubuntu/Debian
sudo apt update && sudo apt install -y tmux
# Fedora/RHEL family
sudo dnf install -y tmux
# Arch Linux
sudo pacman -S tmuxThis repository follows a standard Flutter project layout.
lib/ Flutter application source
android/ Android platform project
linux/ Linux desktop platform project
web/ Web platform files
assets/ Images, fonts, and file icons
scripts/ Development helper scripts
test/ Flutter tests
Install the usual Flutter development environment before building.
- Flutter SDK, with Dart included
- Android Studio
- Android SDK Platform Tools
- Android SDK Command-line Tools
- Android emulator or a physical Android device
- Java/JDK version compatible with the Android Gradle Plugin bundled with this Flutter project
Check the environment:
flutter doctor -v
flutter doctor --android-licenses
flutter devicesgit clone https://github.com/zarathucorp/seil-flutter.git
cd seil-flutter
flutter pub getUse any connected Android device or emulator:
flutter runOr choose a specific device:
flutter devices
flutter run -d <device-id>For Android emulator development, this repository includes a helper script:
./scripts/dev-android-emulator.shOptional environment variables:
AVD_NAME=Pixel_10 EMULATOR_MEMORY_MB=4096 ./scripts/dev-android-emulator.sh
CLEAN_BEFORE_RUN=1 ./scripts/dev-android-emulator.shBuild a release APK:
flutter build apk --releaseThe generated APK is usually located at:
build/app/outputs/flutter-apk/app-release.apk
Closed testing on Google Play should use a release-signed Android App Bundle. Release builds intentionally fail when android/key.properties is missing so a debug-signed artifact is not uploaded by mistake.
If this is the first Google Play upload for this package, generate a local upload keystore:
keytool -genkeypair -v -keystore android/upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias uploadCreate the local signing config and fill in the passwords you used:
cp android/key.properties.example android/key.propertiesBuild and verify the Google Play bundle:
./scripts/build-google-play-aab.shThe generated bundle is copied to:
release/google/seil-v<version>-google-play-release.aab
For CLI upload automation, Google Play uses a Play Developer Publishing API service account JSON key rather than an interactive Google account login. Keep the JSON key and local keystore out of git.
Install through Flutter:
flutter install -d <device-id>Or install the built APK with adb:
adb install -r build/app/outputs/flutter-apk/app-release.apkAfter installation, open SEIL from the Android launcher.
flutter clean
flutter pub get
flutter test
flutter analyze
flutter build apk --debug
flutter build apk --releaseThe source code in this repository is licensed under the Apache License 2.0. Zarathu names, logos, and trademarks are not granted under the source code license except as required for reasonable attribution.



