Skip to content

zarathucorp/seil-flutter

Repository files navigation

SEIL app logo

SEIL: AI Agent Tmux Workspace

Mobile multi-session tmux management app for AI agent workflows.

English | 한국어 | 日本語 | 中文

Download

Download the latest SEIL release from the GitHub Releases page.

Screenshots

SEIL app screenshot 1 SEIL app screenshot 2 SEIL app screenshot 3

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.

Features

  • 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 tmux

Project Structure

This 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

Flutter Build Environment

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 devices

Setup

git clone https://github.com/zarathucorp/seil-flutter.git
cd seil-flutter
flutter pub get

Run in Debug Mode

Use any connected Android device or emulator:

flutter run

Or 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.sh

Optional environment variables:

AVD_NAME=Pixel_10 EMULATOR_MEMORY_MB=4096 ./scripts/dev-android-emulator.sh
CLEAN_BEFORE_RUN=1 ./scripts/dev-android-emulator.sh

Build an APK

Build a release APK:

flutter build apk --release

The generated APK is usually located at:

build/app/outputs/flutter-apk/app-release.apk

Build a Google Play App Bundle

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 upload

Create the local signing config and fill in the passwords you used:

cp android/key.properties.example android/key.properties

Build and verify the Google Play bundle:

./scripts/build-google-play-aab.sh

The 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 and Run an APK

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.apk

After installation, open SEIL from the Android launcher.

Useful Commands

flutter clean
flutter pub get
flutter test
flutter analyze
flutter build apk --debug
flutter build apk --release

License

The 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.

About

A Flutter app that makes using tmux on mobile to run AI agents easy.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors