Repository navigation
v1.0.0: Core Chat Pipeline Release
This release establishes the minimum viable architecture for a character-based chat application on Android, integrating the OpenRouter API.
⚙️ Core Components & Functionality
- Character Data Model: The
Characterentity defines parameters includingname,personality(system prompt),model, and optional fields fortemperatureandmaxTokens. - Persistence Layer: All critical application state, including
User,Character,Conversation, andMessageentities, is managed by the Room persistence library. - API Interaction: Networking is handled by Retrofit against the
https://openrouter.ai/api/endpoint. TheApiRequestobject is constructed using user and character parameters, including thetemperatureandmax_tokensfields. - Conversation Flow:
- New conversations are initiated via
CharacterViewModel.startNewConversation(), which atomically creates a newConversationrow and, if provided, the character's initial assistant message. - Message history is retrieved using a
LiveData<List<Message>>observer scoped to the current conversation ID.
- New conversations are initiated via
- Markdown Rendering: The
MessageAdapterutilizes the Markwon library to render Markdown content (including tables viaTablePlugin) within chat messages.
🚧 Works In Progress (WIP)
- Regenerate Functionality: The UI exposes a Regenerate menu option when long-pressing an assistant message.
- Edit Message: The Edit Message menu item is present but currently non-functional.