orailnoor/cross-platform-llm-client
A unified cross-platform AI client supporting seamless transitions between standard cloud APIs and on-device, offline execution of custom and uncensored language models.
What it solves
PrivateLM provides a unified, cross-platform interface for interacting with Large Language Models (LLMs), solving the problem of choosing between privacy-focused local execution and the power of cloud-based APIs. It allows users to run models entirely on-device for privacy and offline use, while offering a seamless fallback to major cloud providers when higher performance is needed.
How it works
Built with Flutter, the app uses a dual-inference pipeline:
- Local Inference: On Android and iOS, it wraps
llama.cppto run GGUF models. It automatically detects device hardware (RAM and GPU) to optimize thread counts and Vulkan/Metal GPU acceleration. - Cloud Inference: A normalization service connects to OpenAI, Anthropic, Google Gemini, and Kimi (Moonshot AI) APIs, allowing users to switch providers within a single UI.
- Data Management: All chat history, settings, and API keys are stored locally on the device using Hive, ensuring that data only leaves the device when cloud mode is explicitly used.
Who it’s for
It is designed for users who want a single AI chat client that supports both private, offline local models and high-performance cloud LLMs across Android, iOS, and Web platforms.
Highlights
- On-Device Execution: Runs GGUF models locally on Android (Vulkan) and iOS (Metal).
- Hybrid Model Support: Seamlessly switches between local inference and cloud APIs (OpenAI, Claude, Gemini, Kimi).
- Multimodal Capabilities: Supports text and image inputs, including vision support via local models like Qwen2-VL.
- Hardware Optimization: Automatically recommends context size and token limits based on detected device RAM.
- Local-First Privacy: Stores all sessions and configurations locally via Hive.
Related
- Project
- Project
- Project
- Project
- Project