Open-source Android WebView client for the NikoGPT web chat (chat.n1ko.dev), Android 10+
Find a file
Niko Marmeladkov ed08921a78
Some checks failed
build / apk (push) Has been cancelled
Fix session loss on restart; English-only resources
- flush the WebView cookie store in onStop/onPageFinished: Chromium batches
  cookie writes, so the session could be lost when Android killed the process
- English default strings + values-ru translations
- bump to 1.0.1
2026-10-05 16:26:21 +03:00
.forgejo/workflows NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00
app Fix session loss on restart; English-only resources 2026-10-05 16:26:21 +03:00
gradle/wrapper NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00
.gitignore NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00
build.gradle.kts NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00
gradle.properties NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00
gradlew NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00
gradlew.bat NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00
LICENSE NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00
README.md README: absolute releases URL 2026-10-05 16:18:55 +03:00
settings.gradle.kts NikoGPT Android 1.0.0: open-source WebView client for chat.n1ko.dev 2026-10-05 16:18:00 +03:00

NikoGPT for Android

Open-source Android client for the NikoGPT web chat (chat.n1ko.dev) — a thin, auditable WebView shell around the same web interface that runs in the browser. No analytics, no trackers, no third-party SDKs: the whole app is one activity and a handful of resources.

  • Android 10+ (minSdk 29), targets Android 15.
  • Everything the web app can do: conversations, attachments (system file picker), images, generated files, settings, themes.
  • Downloads go through Android's DownloadManager (with your session cookies), links to other sites open in the system browser.
  • Open in the browser only: chat.n1ko.dev loads inside; anything else leaves the app.
  • TLS errors are never bypassed, no cleartext traffic, no backup.
  • Day/night theme follows the system; the page keeps its own theme setting.
  • Back gesture navigates the chat history, pull-to-refresh reloads.

Install

Download the APK from the releases page: https://git.n1ko.dev/Niko/nikogpt_android/releases

Latest build: https://git.n1ko.dev/Niko/nikogpt_android/releases/download/v1.0.0/nikogpt-android-1.0.0.apk

Open the APK on the phone (allow installing apps from this source when Android asks). The APK is debug-signed for now, so Android may show a warning.

Build

Requirements: JDK 17, Android SDK (platform 35, build-tools 35.0.0).

./gradlew assembleDebug     # app/build/outputs/apk/debug/app-debug.apk
./gradlew assembleRelease   # unsigned; sign it yourself

Or just open the project in Android Studio.

Release signing

Create a keystore and export it as Gradle properties or use apksigner on the release output:

keytool -genkeypair -v -keystore nikogpt.jks -alias nikogpt \
  -keyalg RSA -keysize 2048 -validity 10000
apksigner sign --ks nikogpt.jks --out nikogpt-release.apk \
  app/build/outputs/apk/release/app-release-unsigned.apk

Structure

Path Purpose
app/src/main/java/dev/n1ko/nikogpt/MainActivity.kt the whole app: WebView setup, file chooser, downloads, back handling
app/src/main/res/layout/activity_main.xml WebView + progress bar + retry screen
.forgejo/workflows/build.yml CI: builds the APK on tags

License

MIT — see LICENSE. The Tabler-based icons used by the web chat come from f.n1ko.dev/assets/ui (MIT).