orailnoor/cross-platform-llm-client

▲ 137 stars today★ 1,567⑂ 326

A unified cross-platform AI client supporting seamless transitions between standard cloud APIs and on-device, offline execution of custom and uncensored language models.

About orailnoor/cross-platform-llm-client

orailnoor/cross-platform-llm-client is an open-source project on GitHub, mainly written in C++. A unified cross-platform AI client supporting seamless transitions between standard cloud APIs and on-device It currently holds 1,567 stars and 326 forks with 23 open issues, and was last pushed on 2026-11-04 (repository created 2026-04-25).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #16 with 137 new stars today.

GitHub Repository Details

Repository orailnoor/cross-platform-llm-client · default branch main · size 100413 KB · watchers 29 · source: GitHub REST API and repository README

README

PrivateLM

Live Web App

A production-ready, cross-platform AI chat client built with Flutter. It unifies local on-device LLM inference (Android) with cloud API access, giving users full control over how their models run.

Image generation tested on Moto G71 (Snapdragon), Oneplus 10r (Mediatek), Pixel 6A (Tensor), Poco F1 (Snapdragon), Samsung s23 (Snapdragon) 4 steps fast _Image generation tested on Moto G71 (Snapdragon), Oneplus 10r (Mediatek), Pixel 6A (Tensor), Poco F1 (Snapdragon), Samsung s23 (Snapdragon) 4 steps fast_ Generated on pixel 6 with 20 step _Generated on pixel 6 with 20 step_

---

What It Does

---

Technical Architecture

Stack

Inference Pipeline

┌─────────────────────────────────────────────────────────────┐
│                        UI Layer                              │
│   ChatView / ModelView / ServerView / SettingsView          │
└──────────────────────────┬──────────────────────────────────┘
                           │
┌──────────────────────────▼──────────────────────────────────┐
│                    Controllers (GetX)                        │
│   ChatController · TaskController · ModelController         │
│   SettingsController · HomeController                       │
└──────────────────────────┬──────────────────────────────────┘
                           │
┌──────────────────────────▼──────────────────────────────────┐
│                      Services                                │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────┐ │
│  │ InferenceService│  │  CloudService   │  │DownloadSvc  │ │
│  │  (local GGUF)   │  │ (OpenAI/Claude/ │  │ (model dl)  │ │
│  │                 │  │  Gemini/Kimi)   │  │             │ │
│  └─────────────────┘  └─────────────────┘  └─────────────┘ │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────┐ │
│  │  HiveService    │  │ DeviceInfoSvc   │  │ExecutionSvc │ │
│  │  ( persistence) │  │  (RAM/GPU tier) │  │ (bg tasks)  │ │
│  └─────────────────┘  └─────────────────┘  └─────────────┘ │
└─────────────────────────────────────────────────────────────┘

Local Inference (Android)

The app uses llama_flutter_android, a custom Flutter plugin wrapping llama.cpp for ARM64 devices. At runtime it:

1. Detects GPU capabilities via Vulkan to determine offload layers. 2. Selects thread count based on device tier (ultra / high / mid / low). 3. Loads the GGUF model with progress streaming. 4. Generates tokens via generateChat() with native chat-template support (ChatML, Llama-3, Gemma, Phi). 5. Falls back to manual prompt construction if native templates fail.

Idle detection (5s) and hard timeouts (180s) keep the UX responsive even on underpowered hardware.

Cloud Inference

CloudService normalizes four different API shapes into a single interface:

API keys are stored in Hive and never transmitted anywhere except to the provider's endpoint.

Cross-Platform Abstraction

Local inference is conditionally compiled:

The InferenceService exposes supportsLocalInference so the UI can hide local-model UI on unsupported platforms.

---

Supported Platforms

| Platform | Local Inference | Cloud APIs | Notes | | -------- | --------------- | ---------- | ------------------------------- | | Android | ✅ Yes | ✅ Yes | CPU offload via NEON; minSdk 28 | | iOS | ✅ Yes | ✅ Yes | Metal GPU acceleration | | Web | ❌ No | ✅ Yes | Cloud-only (local coming soon) |

iOS / iPad (Installation via AltServer)

The iOS/iPad release is distributed as a sideloadable IPA file. Due to the RAM requirements for local models, iPad is the recommended iOS target, but it can be installed on iPhones.

Here is how you can install the app using AltStore and AltServer:

Prerequisites:

Installation Steps: 1. Download the IPA: Go to the Releases page on your iOS device (using Safari) and download the latest PrivateLM-iOS.zip package, extract it to get the .ipa file. 2. Open in AltStore: 3. Install: AltStore will begin installing the app. You may be prompted to enter your Apple ID credentials if this is your first time. 4. Enable Developer Mode: On iOS 16 and later, ensure "Developer Mode" is enabled in your device's Settings (Settings > Privacy & Security > Developer Mode) to launch the sideloaded app. 5. Launch: Once installation is finished, PrivateLM will appear in the My Apps tab in AltStore and on your device's home screen!

Note: Sideloaded apps via AltStore expire after 7 days, but AltStore will attempt to automatically refresh them in the background when connected to the same Wi-Fi as your computer running AltServer.

---

Build Configuration

Prerequisites

Android

flutter pub get
flutter build apk --debug

Release APKs require a stable signing key. Copy android/key.properties.example to android/key.properties, fill in the keystore values, and keep both the key and its backup. Android accepts an APK upgrade only when it is signed with the same key as the installed APK.

cp android/key.properties.example android/key.properties
flutter build apk --release --split-per-abi

Never rotate the signing key between GitHub releases. The per-ABI APKs must also keep increasing the build number in pubspec.yaml.

iOS

flutter pub get
cd ios
pod install
flutter build ios

Web

flutter pub get
flutter build web --release

---

License

MIT — see LICENSE for details.

GitHub Stars & Activity

1,567Stars
326Forks
23Open issues
C++Language

GitHub Popularity

GitHub stars1,567
Forks326
Open issues23
Primary languageC++
LicenseMIT
Stars gained today137
Created2026-04-25
Last pushed2026-11-04

Trending History

Daily boardrank #16 · ▲ 137 stars
Monthly boardrank #74 · ▲ 419 stars

Related AI Projects

1

morluto / rea

TypeScript★ 437,454⑂ 0
→
2

mattpocock / skills

Shell★ 316,511⑂ 26,477▲ 2,058 stars
→
3

obra / superpowers

Shell★ 313,517⑂ 27,892▲ 644 stars
→
4

affaan-m / ECC

JavaScript★ 298,458⑂ 0
→
5

deepseek-ai / deepseek-harness

TypeScript★ 274,818⑂ 0
→
6

NousResearch / hermes-agent

Python★ 261,157⑂ 0
→
7

stablyai / orca

TypeScript★ 117,674⑂ 7,462▲ 1,199 stars
→
8

infiniflow / ragflow

Go★ 93,686⑂ 11,250▲ 99 stars
→

More AI Rankings