forpublicai/mobile-app-2
forked from cogwheel0/conduit
Captured source
source ↗forpublicai/mobile-app-2
Description: Mobile (iOS/Android) client for OpenWebUI. Chat with your self‑hosted AI.
Language: Dart
License: GPL-3.0
Stars: 0
Forks: 0
Open issues: 0
Created: 2026-05-17T00:09:50Z
Pushed: 2026-05-24T01:13:25Z
Default branch: main
Fork: yes
Parent repository: cogwheel0/conduit
Archived: no
README: Public AI
The native Open WebUI client for iOS and Android.
Why Public AI | Feature Snapshot | Screenshots | Quickstart | Build from Source | Architecture
Why Public AI
Open WebUI is excellent on the desktop, but mobile usually breaks down at the edges: authentication, streaming stability, sharing content into a prompt, and working quickly from the home screen. Public AI is built to close that gap with a native client that respects self-hosted deployments and still feels polished enough for daily use.
Feature Snapshot
| Area | Included | | --- | --- | | Chat | Real-time streaming, model selection, temporary chats, conversation search, and folder management | | AI workflows | File and image uploads, re-attaching previously uploaded server files, multimodal prompts, server-side tools, saved prompts with variables, model-specific toggle filters, and optional web search or image generation when supported by your server | | Authentication | Username and password, LDAP, JWT, custom headers, SSO/OAuth, and reverse proxy login flows | | Productivity | Notes with autosave, pinning, AI-generated titles, AI enhancement, audio attachments, channels with threads and reactions when enabled by the server, and sharing from other apps | | Rendering | Syntax-highlighted code, LaTeX, Mermaid, Chart.js, citations, follow-up suggestions, reasoning blocks, tool-call details, and code execution rendering | | Mobile UX | Voice input, full voice-call mode, home screen widgets, app quick actions, clipboard image paste, haptics, and adaptive Material/Cupertino UI | | Personalization | Light, dark, and system themes plus a localized interface across 10 supported locales | | Privacy | Native secure storage, no third-party analytics or ads, and no developer-operated backend relaying your data |
Built for Self-Hosted Reality
- Handles direct Open WebUI sign-in as well as OAuth and SSO providers exposed
by your deployment.
- Works with reverse proxy setups such as
oauth2-proxy, Authelia,
Authentik, Pangolin, and Cloudflare Tunnel by capturing the right cookies and session state on-device.
- Supports custom headers during connection setup for environments that depend
on keys like X-API-Key, Authorization, or organization routing headers.
- Keeps credentials in Keychain or Keystore instead of plain-text local
storage.
- Uses WebSocket-backed streaming for fast token-by-token responses and better
long-running chat reliability.
- Surfaces optional server capabilities such as notes, channels, web search,
and image generation only when your Open WebUI deployment exposes them.
Assistant Output That Holds Up on Mobile
Public AI renders more than plain chat bubbles. The app includes native Flutter surfaces for:
- syntax-highlighted code blocks with copy and preview affordances
- Mermaid diagrams and Chart.js embeds
- LaTeX and math rendering
- expandable reasoning, tool-call, and code-execution sections
- inline citations, source cards, and follow-up suggestions
Platform Integrations
- Home screen widgets on iOS and Android with new chat, microphone, camera,
photos, and clipboard entry points
- App quick actions for starting a new chat or jumping straight into voice call
- iOS App Intents and Shortcuts for opening chat, sending text, URLs, images,
and starting a voice call
- Share-sheet ingestion and clipboard image paste to move content into a prompt
without manual file juggling
Screenshots
| Chat | Models | Navigation | Settings | | --- | --- | --- | --- | | | | | |
Quickstart
If you just want to use Public AI, install it from the App Store or Google Play, connect it to your Open WebUI server, and sign in with the auth flow your deployment already exposes.
1. Launch Public AI. 2. Enter the base URL for your Open WebUI instance. 3. Add any required custom headers. 4. Sign in with username and password, LDAP, JWT, SSO, or proxy auth. 5. Pick a model and start chatting.
Features such as channels, notes, web search, image generation, and toggle filters appear when they are available on the connected server.
Build from Source
Requirements
- A recent Flutter SDK with Dart
3.8or newer - Java 17 for Android builds
- Android 7.0+ (API 24) or iOS 16.0+
- An Open WebUI instance for normal usage
- Xcode for iOS builds or Android Studio / Android SDK for Android builds
Run locally
git clone https://github.com/your-org/public-ai-mobile.git cd public-ai-mobile flutter pub get dart run build_runner build --delete-conflicting-outputs flutter run -d ios # or flutter run -d android
Developer checks
flutter pub get dart run build_runner build --delete-conflicting-outputs dart run custom_lint flutter test
Release builds
# Android flutter build apk --release flutter build appbundle --release # iOS flutter build ios --release
Localization
Public AI currently ships localized UI strings for English, German, Spanish, French, Italian, Korean, Dutch, Russian, Simplified Chinese, and Traditional Chinese.
Architecture
Public AI is a Flutter application organized around feature modules and shared platform services. It uses Riverpod 3 with code generation for state management and GoRouter for navigation, with persistent local storage and secure credential handling built into the core layer.
Stack
- Flutter for the UI layer
- Riverpod 3 and
riverpod_generatorfor state and dependency wiring - GoRouter for navigation
- Dio plus socket transport for API and streaming
- Hive and shared preferences for local persistence
- Flutter Secure Storage for credentials
Project layout
lib/ core/ auth, routing, models, persistence, platform services features/ auth/ server setup, login, SSO, and proxy auth chat/ conversations, attachments, tools, streaming, voice call channels/ channel browsing and messaging navigation/ chat shell, drawer, and responsive navigation notes/ note editor and AI-assisted note workflows profile/ theme, preferences, and app customization prompts/ prompt helpers and prompt variable UI tools/ tool integration surfaces shared/ reusable widgets, theme tokens,…
Excerpt shown — open the source for the full document.
Notability
notability 1.0/10Routine fork, no notable traction