RikkaHub is a native Android chat client for large language models, written in Kotlin with Jetpack Compose. You supply your own provider details, so a custom API key, base URL, and model list connect it to the OpenAI, Google, and Anthropic APIs or to any endpoint compatible with them, and you switch between them inside the app.
It also carries agent features. A proot-based Linux environment runs on the phone without root access and gives an agent a real workspace for tasks such as gathering information, producing slide decks, and organizing documents. Model Context Protocol support handles tool calls, and search connectors reach Exa, Tavily, Zhipu, LinkUp, Brave, and Perplexity when an answer needs current information.
Conversations render Markdown with code highlighting, LaTeX formulas, tables, and Mermaid diagrams, and accept images, text documents, PDF, and DOCX as input. A web interface serves the same conversations from a browser, and the interface follows Material You with a dark mode. The project does not accept pull requests.
Features
- Multiple providers: custom API key, URL, and model entries covering OpenAI, Google, Anthropic, and compatible endpoints
- Linux workspace: a proot-based environment that gives an agent a working shell on the device without root
- MCP support: tool calls through the Model Context Protocol
- Search connectors: Exa, Tavily, Zhipu, LinkUp, Brave, and Perplexity
- Multimodal input: images, text documents, PDF, and DOCX
- Markdown rendering: code highlighting, LaTeX formulas, tables, and Mermaid diagrams
- Agent customization: agents are configured in the app rather than fixed by the client
- Memory: stored preferences are recalled across later conversations
- Message branching: a conversation can branch into separate message paths
- Provider transfer: provider settings export and import as a QR code
- Character cards: SillyTavern character cards can be imported
- Web access: a browser interface alongside the Android app
