RikkaHub Plus
Android AI chat client and SillyTavern-compatible endpoint where Jev screens memories for relevance and serves as a judge tool.
Overview
RikkaHub Plus (Lantern) is a heavily customised fork of the RikkaHub Android chat client, written in Kotlin with Jetpack Compose. It works as a plain multi-provider chat app with streaming, voice calls, plugins and memory, and also imports SillyTavern character cards, lorebooks, presets, regex and themes losslessly without Termux or Node. Other additions include prompt-cache optimisation, three-layer memory with rolling compression, a QuickJS plugin system, device tools and bot integrations. Documentation is in English and Chinese.
Jev decisioning is enabled by pasting a TypeSafe key in settings, with two switches. Automatic memory screening replaces embedding retrieval: Jev judges whether each stored memory is relevant to the current conversation, in parallel batches newest-first, and anything above 50% is injected; identity memories always count as relevant. The second switch gives the main chat model a judge tool it can call when unsure about a yes/no, multiple-choice or rating question, with a routing note added to the system prompt so weaker models find it. The README describes Jev as about 100 ms end to end.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this memory relevant to the current conversation? | — |
| Other | Yes/no, multiple-choice or rating questions the main model hands to Jev via the judge tool | — |
How it works
- User sends a message
- Jev scores candidate memories in batches; those above 0.5 are injected
- Main model generates the reply and may call the judge tool when unsure
- Jev returns a typed answer the main model uses
Strengths
- No embedding API calls for memory retrieval
- About 100 ms per judgment per the README
- Weaker main models can defer narrow judgments
Caveats
- Requires a TypeSafe key for Jev features
- Large fork with many unrelated features
- Fixed 0.5 relevance threshold
Getting started
Install the APK from GitHub Releases, then enable Jev under Settings, HuaDeng Settings, Jev decisioning and paste an API key.At a glance
- Type
- Library
- Status
- production
- Language
- Kotlin
- Runtime
- Android app
- Has code
- yes
- License
- AGPL-3.0
Use cases and integrations
How curated lists describe it
安卓AI聊天端:开箱即聊,无损导入酒馆卡,缓存强省用量,Jev…
wh000wh000/awesome-jev-liveAndroid chat client with a built-in Jev client: it scores stored memories for relevance in batches before retrieval, and exposes Jev to the model as a callable judgment tool. Endpoint and key are set in its settings. Chinese documentation.
MrJev/awesome-jev
Frequently asked questions
What does Jev decide in RikkaHub Plus?
Which stored memories are relevant to the current conversation, and narrow questions the main model passes to its judge tool.
How is memory selected?
Jev judges each memory's relevance, and memories above 50% probability are injected.
Is Jev required?
No; it is an optional feature enabled with a TypeSafe key.
Related projects
Personal AI assistant with eight memory types and multi-channel support; per the list, it has an optional Jev provider.
ProjectproductionFederated knowledge retrieval engine for agents that uses Jev to route queries to backends and re-rank evidence, with keyword fallback.
LibraryprototypePythonLocal long-term memory for coding agents with an optional Jev reranker that orders recalled memories.
ProjectproductionTypeScriptVolcengine's context database for agents, with a Jev rerank client that scores candidate documents with jev-latest as relevance.
LibraryproductionPythonFilters an assistant's memories by relevance, not resemblance: one Jev yes/no per memory in a single request, kept above a threshold.
ProjectbetaPythonMulti-user MCP 'agents' cloud' on Cloudflare Workers with an optional search stage that reranks candidates with Workers AI Jev scores.
MCP serverbetaTypeScript