RikkaHub: A Native Android Client for Multi-Provider LLM Chat
RikkaHub is an Android APP that supports for multiple LLM providers.
At a glance
- What is it?
- RikkaHub is a Kotlin-based Android app that connects to OpenAI, Google, and Anthropic compatible APIs, adding a proot Linux workspace, MCP support, and character card import. It is opinionated by design, so contributors and users should expect a fixed feature set.
- Who is it for?
- RikkaHub suits Android users who want a single app to chat across OpenAI, Google, and Anthropic compatible APIs, with extras like a proot Linux workspace and MCP support. It is not for those who expect frequent new features or who need a permissive license, since AGPL-3.0 and the project's explicit rejection of feature PRs limit flexibility.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Kotlin, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What RikkaHub Solves for Android LLM Users
RikkaHub addresses a practical problem: Android users who work with multiple LLM providers often juggle several apps or web interfaces. The README describes it as a native Android LLM chat client that supports switching between different providers for conversations. It targets people who want one interface for OpenAI, Google, and Anthropic compatible APIs, plus custom endpoints. The project is opinionated, meaning it does not chase every feature request. That is a deliberate constraint, not an oversight. For users who want a consistent chat experience across providers without leaving Android, RikkaHub fills that gap. It also adds a proot-based Linux agent environment, which is unusual for a mobile chat client and suggests a focus on power users who need more than plain text replies.
Architecture and Core Mechanisms
The repository layout and README reveal a standard modern Android stack. Kotlin is the language, Jetpack Compose handles the UI, and Koin manages dependency injection. Data persistence uses DataStore for preferences and Room for the database. HTTP calls go through Okhttp, and kotlinx.serialization handles JSON. The app supports multimodal input, including images, text documents, PDFs, and DOCX files. The workspace feature is described as a proot-based Linux agent environment, which means it runs a Linux userspace without root, likely using proot to emulate a filesystem. That is a significant architectural choice because it allows the app to execute commands and run agents on-device. MCP support, or Model Context Protocol, is listed, which suggests the app can connect to external tools and services. The README does not explain how these pieces interact, but the combination points to a client that is not just a chat wrapper but a platform for agentic workflows.
Getting RikkaHub Running
Users can download the app from the official website or Google Play, as listed in the README. For developers who want to build from source, the README states that Android Studio is used, and it warns that a google-services.json file is required in the app folder. That file is typically generated from Firebase, which means building the app requires a Firebase project, even if the user does not use Firebase services. The README does not provide a Gradle command or setup steps beyond that, so the build process is not fully documented. Once installed, configuration involves adding custom API URLs, models, and request headers. The app supports QR code export and import for providers, which simplifies moving configuration between devices. The README mentions custom HTTP request headers and bodies, giving advanced users control over requests. No sample configuration is shown, so users must rely on the app's UI to set up providers.
Limitations and Cases Where It Is the Wrong Tool
The most obvious limitation is the project's stance on contributions. The README explicitly rejects translation changes, new features, and large-scale refactoring. That means the feature set is frozen by the maintainer's vision. If you need a feature that is not already present, you cannot add it through a pull request. Another limitation is the AGPL-3.0 license, which is strong copyleft. If you embed or modify the code and distribute it, you may need to release your changes under the same license. That is a problem for proprietary projects. Also, the app requires google-services.json to build, which ties the build to Google's infrastructure. For users who avoid Google services, that is a barrier. The README warns about forked versions, noting that they may have privacy leaks or excessive permission requests. That is a caution, not a limitation of the main project, but it highlights that the official app is the only safe source.
Alternative Approaches and What They Do Differently
A direct alternative is LobeChat, which is a web-based and desktop LLM client that also supports multiple providers. LobeChat runs in the browser and offers a plugin system, but it does not have a native Android app. Its approach is to centralize provider management in a web UI, whereas RikkaHub is native and includes on-device features like the proot workspace. Another alternative is Jan, which is a local-first desktop client that runs models on your machine using llama.cpp. Jan focuses on privacy and offline use, while RikkaHub is oriented toward cloud APIs. The key difference is execution: Jan runs models locally, RikkaHub relies on remote providers. For Android users, there is also the option of using the official provider apps, but those only support one provider each. RikkaHub's value is aggregation and the extra workspace feature, which alternatives do not offer on mobile.
Maintenance, Upgrade Cost, and License Implications
The repository shows recent releases, with version 2.4.15 pushed on 2026-08-28, and the project is not archived. That indicates active maintenance, but the release cadence is rapid, with three releases in three days. That could mean frequent bug fixes, or it could mean a fast-moving codebase that is hard to keep up with. The README does not document an upgrade path or migration notes. The license is AGPL-3.0, which has network use clauses. If you run a modified version as a server, you may need to offer the source to users. That is a serious consideration for anyone thinking of using the code in a hosted service. The project also has a contribution policy that rejects translation and feature PRs, so external contributors cannot easily shape the roadmap. For users, the cost is mostly in adapting to the maintainer's choices, not in paying a fee, since the app appears free to download.
Feature Depth and the Trade-offs of an Opinionated Client
The README lists a long set of features: Material You design, dark mode, message branching, search capabilities across multiple providers, prompt variables, AI translation, and Silly Tavern character card import. That is a rich feature set, but it also means the app is complex. The opinionated policy against new features is a trade-off: it keeps the app stable and focused, but it also means users cannot request additions. For example, if you want a different search provider or a new input format, you are out of luck. The workspace feature is a differentiator, but it is also a potential source of bugs, since proot is not a full virtual machine. The documentation does not specify the limits of the workspace, so users may discover them only after using it. The project's reliance on sponsors, as shown in the README, suggests that development is partly funded by API relay services, which could influence the direction of the project.
Editorial conclusion
RikkaHub suits Android users who want a single app to chat across OpenAI, Google, and Anthropic compatible APIs, with extras like a proot Linux workspace and MCP support. It is not for those who expect frequent new features or who need a permissive license, since AGPL-3.0 and the project's explicit rejection of feature PRs limit flexibility. Before adopting, verify that your provider's API is compatible with the app's custom URL and model settings, and check the build requirement for google-services.json if you plan to compile from source. If you need a more extensible client, consider alternatives like LobeChat or Jan, but note their different approaches to provider aggregation and local execution.
Community notes