How yaenovin/rikkahub-revised works
Rikkahub Revised is an Android AI chat client. Its principal workflow is a user composing a message, the chat service preparing and submitting a request to a configured model provider, and streamed results becoming conversation messages. The broader product also supports search and local tools, knowledge and memory retrieval, generated media, speech input, and durable conversation state. The graph reflects documented capabilities and the supplied source excerpts; several runtime connections are conceptual because the relevant call sites were not sampled.
Main entry points: ChatService.kt Chat service · ChatInput.kt Chat interface · providers Provider adapters · Transformer.kt Context transforms
Components 20
Chat experience
- Chat service
app/src/main/java/me/rerere/rikkahub/service/ChatService.kt - Chat interface
app/src/main/java/me/rerere/rikkahub/ui/components/ai/ChatInput.kt - Message models
ai/src/main/java/me/rerere/ai/ui/Message.kt
AI runtime
- Provider manager
ai/src/main/java/me/rerere/ai/provider/ProviderManager.kt - Provider adapters
ai/src/main/java/me/rerere/ai/provider/providers - Stream handling
ai/src/main/java/me/rerere/ai/provider/stream/StreamChunkDecoder.kt
Tools and context
- Context transforms
app/src/main/java/me/rerere/rikkahub/data/ai/transformers/Transformer.kt - Memory services
app/src/main/java/me/rerere/rikkahub/data/memory/MemoryEmbeddingService.kt - Knowledge base
app/src/main/java/me/rerere/rikkahub/data/repository/KnowledgeBaseRepository.kt - Web search
search/src/main/java/me/rerere/search/SearchService.kt - Assistant tools
app/src/main/java/me/rerere/rikkahub/data/ai/tools/ConversationTools.kt
Persistence
- App database
app/src/main/java/me/rerere/rikkahub/data/db/AppDatabase.kt - Conversation repository
app/src/main/java/me/rerere/rikkahub/data/repository/ConversationRepository.kt - Provider settings
app/src/main/java/me/rerere/rikkahub/data/datastore/PreferencesStore.kt
Media and integrations
- Image generation
app/src/main/java/me/rerere/rikkahub/data/ai/ChatImageGenerationService.kt - Video generation
app/src/main/java/me/rerere/rikkahub/data/video/VideoGenerationCoordinator.kt - Speech recognition
speech/src/main/java/me/rerere/asr/providers/VolcengineASRController.kt - Chat file store
app/src/main/java/me/rerere/rikkahub/data/files/FilesManager.kt
Other components
- User
- Model API
Connections 23
- User → Chat interface: composes
- Chat interface → Chat service: submits message
- Chat service → Context transforms: prepares context
- Chat service → Provider manager: requests inference
- Provider manager → Provider adapters: dispatches request
- Provider adapters → Model API: sends request
- Model API → Provider adapters: streams response
- Provider adapters → Stream handling: decodes events
- Stream handling → Chat service: delivers chunks
- Chat service → Message models: updates messages
- Chat service → Conversation repository: persists conversation
- Conversation repository → App database: reads and writes
- Chat service → Provider settings: uses configuration
- Context transforms → Memory services: retrieves memories
- Context transforms → Knowledge base: retrieves documents
- Chat service → Assistant tools: dispatches tools
- Assistant tools → Web search: performs search
- Chat service → Image generation: generates images
- Image generation → Provider manager: requests generation
- Image generation → Chat file store: saves images
- Chat service → Video generation: coordinates generation
- Chat interface → Speech recognition: captures speech
- Speech recognition → Chat interface: returns transcript