Skip to content

feat: kid mode#42

Open
jayinatlanta wants to merge 277 commits intotimmyy123:mainfrom
jayinatlanta:kidmode
Open

feat: kid mode#42
jayinatlanta wants to merge 277 commits intotimmyy123:mainfrom
jayinatlanta:kidmode

Conversation

@jayinatlanta
Copy link
Copy Markdown
Contributor

Adds Kid Mode (Settings feature).
In settings, set up Kid Mode with a four digit PIN, then choose to enable. With Kid Mode, every tool is filtered through guardrails right at the model call level. The model is instructed to help only with age-appropriate tasks, and to refer the user to an adult, or other specific child-friendly source. In testing, it proves to do a good job suggesting kid-friendly resources, but refusing to answer or assist with inappropriate topics.
Disable in the same way as before, from settings using the four digit pin selected earlier.

This is a strong feature for privacy-sensitive families who want their children to begin to use AI, in a highly controlled setting. Building on LLM-Hub's inherent privacy and offline features, this adds safety for children to experiment with AI with various tools on their own devices.

…ableMarkdownText and improving MessageBubble layout. Introduce selectedModel state in ChatViewModel for immediate UI feedback on model selection.
…n in ChatScreen. Add Google Play Store badge to README for easier installation.
- Integrated DuckDuckGo web search service to fetch current information based on user queries.
- Updated InferenceService to include a parameter for enabling/disabling web search.
- Enhanced response generation logic to incorporate web search results when applicable.
- Added UI toggle in SettingsScreen to enable/disable web search feature.
- Updated ChatViewModel and ThemeViewModel to manage web search preferences.
- Implemented SearchIntentDetector to identify when a web search is needed based on user input.
…and InferenceService for improved context management
…ussian languages

- Created strings.xml for Spanish (values-es) with 11048 entries.
- Created strings.xml for French (values-fr) with 11543 entries.
- Created strings.xml for Portuguese (values-pt) with 10930 entries.
- Created strings.xml for Russian (values-ru) with 15367 entries.

These resources include translations for common phrases, chat functionality, about screen details, terms of service, navigation, error messages, accessibility descriptions, and model information.
- Added new strings for initializing neural network and model selection in Portuguese, Russian, and English.
- Updated acknowledgments to include contributions from Google, Meta, Microsoft, and HuggingFace.
- Improved translations for various UI elements and descriptions.
- Introduced new settings options for appearance, language selection, and web search functionality.
- Enhanced error messages and chat management strings for better user experience.
- Updated Terms of Service with the latest information.
- Version bump to 1.0.8.
- Bumped versionCode to 9 and versionName to 1.0.9 across relevant files.
- Improved markdown parsing to support link detection and styling, allowing for better user interaction with links in chat messages.
- Updated string resources to reflect the new version number in multiple languages.
- Bumped versionCode to 10 and versionName to 1.1.0 across relevant files.
- Improved loading indicator animations in ChatScreen for a smoother user experience.
- Updated string resources for model download screen with localized strings in multiple languages.
- Adjusted the system locale detection method in LocaleHelper for better accuracy.
- Updated MessageEntity to include attachment file name and size.
- Modified ChatRepository to handle new attachment parameters when adding messages.
- Improved ChatScreen to enable attachments for all models and added support for vision models.
- Enhanced ChatViewModel to process various file types, including images, documents, and text files, with detailed error handling and user feedback.
- Introduced FileUtils utility class for file handling, including extraction of text from PDFs, Word documents, Excel spreadsheets, and PowerPoint presentations.
- Added new strings for file attachment messages and error notifications in strings.xml.
- Updated ModelDownloadScreen to include pause and resume actions for model downloads.
- Enhanced ModelVariantItem to display paused state and provide buttons for pausing and resuming downloads.
- Implemented broadcast receiver in ModelDownloadViewModel to handle download progress, completion, and errors.
- Refactored ModelDownloadService to manage active downloads, including pause and cancel actions.
- Added localized strings for pause and resume actions in multiple languages.
- Introduced new methods in ModelDownloadViewModel for pausing and resuming downloads, utilizing the service for background operations.
- Implemented audio recording functionality in the ChatScreen and integrated it with the ChatViewModel.
- Added UI components for audio support, including badges and message handling.
- Enhanced model download screen to display audio and vision capabilities.
- Updated string resources for audio recording and multimodal support in multiple languages.
- Created AudioInputService for managing audio recording, including WAV format handling.
- Added file paths configuration for audio file access.
…ction

- Replaced MediaPipe-based text embedding service with AI Edge RAG SDK's Gecko embedding model.
- Updated EmbeddingService interface and MediaPipeEmbeddingService class to support Gecko models.
- Implemented model selection UI in SettingsScreen and ModelDownloadScreen for user to choose embedding models.
- Added functionality to load and manage selected embedding models in ThemeViewModel and RagServiceManager.
- Enhanced error handling and logging for embedding initialization and generation.
- Updated string resources for embedding model features in multiple languages.
…nce UI indicators, and update localization strings
- Introduced MemoryDao and MemoryDocument classes for managing memory documents in the database.
- Implemented MemoryProcessor to handle the embedding process for documents, including status updates and error handling.
- Added new strings for global memory management in English, Portuguese, and Russian, enhancing user experience and localization.
- Updated existing strings to improve clarity and consistency.
…oved context search, and relaxed lexical fallback for user queries
…toration, and add global document chunk management
…struction clarity in RagService

- Updated the response message format in ChatViewModel for consistency.
- Revised memory instruction in RagService to improve clarity and guidance on user memory handling.
timmyy123 and others added 26 commits February 14, 2026 00:13
…loyment target selection mode to DROPDOWN; refine NPU support logic for model selection
timmyy123 added a commit that referenced this pull request Feb 15, 2026
@timmyy123
Copy link
Copy Markdown
Owner

Hey Jay, thanks for the pr again!
However there're still a few issues:
The vibecode feature always gets stuck after generating partial code
Screenshot 2026-02-15 185438
I tried both gemma3n e4b litertlm and ministral3 3b the results are very similar, it first generated for like 5 mins then gave an imcomplete piece of code like the screenshot then stuck in generation again and never finished the code.
Leaving vibecode didn't unload the model, I then went to creAltors and saw same model from vibecode is loaded. I then pressed generate persona and it crashed, I think it might be the generation in vibecode is still running even I left that screen and It ran out of ram.
I then reopened the app, generated a persona in creAltors, it took me to chat screen however the same model I loaded in creAltors shows not loaded in chat screen but it can still give answer when i send prompt
image
I've merged all your changes plus some of my ui improvements into this branch https://github.com/timmyy123/LLM-Hub/tree/pr-40 please pr into this branch in the future for these 2 new features as we need to fix the bugs before merging to main

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants