Nova Assistant Roadmap
This document outlines planned features and improvements for Nova Assistant.
Human-readable docs also live in docs/ (GitHub Pages).
Current Status (v0.4.4)
- Basic chat interface with streaming responses
- Multiple AI model support (SmolLM, FastVLM, Gemma 3, Gemma 4)
- Automatic model selection based on query complexity
- Voice input via speech-to-text
- TTS speak response on assistant bubbles
- Screen capture and image attachment (on-demand MediaProjection)
- Tool execution (alarms, apps, web search, weather, SMS, tasks, notes)
- Tool visualization + streaming progress (EventChannel)
- RAG memory + custom memories
- Memory overview (stored vs derived, promote, ask-about-me)
- Message limits (model-aware caps + pre-send guards)
- Follow-up suggestions (bulb button chips + reroll)
- Settings JSON backup (export/import, no models)
- Knowledge base UI + real PDF text extraction → RAG
- Conversation summaries (extractive, injected into RAG)
- Edit user message + resend
- Response regeneration (reroll)
- Prompt presets
- Agent identity + assistant roles
- Model download, HF token, custom import (
.litertlm/.task) - Beginner/Expert modes + onboarding
- Tasks, notes, document analysis helpers
- MCP client (HTTP/SSE + stdio + Streamable HTTP + OAuth/PKCE)
- Notification tap + quick actions (open tasks / chat / ask Nova)
- Parallel sessions (capped to 1 on Android for RAM safety)
- CI + release workflows; docs GitHub Pages workflow
- Stability: no idle unload during LiteRT streaming (SIGABRT fix)
- Stability: vision engines always load with
supportImage - Stability: screenshot bytes via dedicated channel; capture not continuous
- Agent skill
.cursor/skills/nova-dev
v0.4.x additions
- Remote inference (OpenAI-compatible LAN client + settings screen)
- Share intent (Android share sheet → open chat with shared text)
- Adult mode (confirmation dialog + system prompt injection)
- Task management tools (create, list, complete to-dos via AI)
- Note management tools (create, search, list notes via AI)
- Shizuku/root power-user tools (force-stop, app info, battery settings)
- Custom prompt presets (full CRUD)
- Session history reinjection (reinject chat context on send)
- High-context KV budget + auto-compact
- Keep-warm policy (prevent idle unload when active)
- Model release policy (battery/RAM-aware release logic)
- Memory diagnostics service
- Settings backup/restore
- Inference backend selection (LiteRT / MediaPipe / Remote)
- Model capability badges on model cards
- Theme toggle (dark/light/system) — suggestion P0 #1
- Font scale setting — suggestion P0 #2
- Pin important messages — suggestion P0 #3
- Markdown export for conversations — suggestion P0 #4
- Conversation fork (duplicate + edit from any point) — suggestion P0 #5
Phase 1: Stability and Polish
High Priority
- Fix model re-download (canonical filename consistency)
- Fix tool call truncation / multi-call support
- Error handling (
ModelException+ action chips) - Memory management (RAG scoring / truncation)
- Battery optimization (idle release, lifecycle-aware)
- Offline mode indicator with Install action
- Inference lifecycle hardening (stream vs unload race)
- Vision engine always-on for vision models
- Low-RAM Android defaults (shorter idle, session cap, memory warning)
Medium Priority
- File/URL attachment, export, history search, timestamps, copy, reactions
- Onboarding + beginner/expert + model browser + import + selector
- Debug mode + HF token + external tool providers
- Strip leftover debug
AGENT_DBGinstrumentation after soak verification - Optional crash reporting (opt-in only)
Phase 2: Enhanced Intelligence
High Priority
- Context window management
- Multi-turn tool calls + visualization + streaming progress
- Model performance metrics
- MCP-like tool schemas + auto-model selection
- MCP Streamable HTTP + OAuth
- Remote inference (OpenAI-compatible LAN)
Medium Priority
- Semantic search (TF-IDF)
- Conversation summaries
- Proactive suggestions (bulb follow-up chips)
- Multi-language support
- Code syntax highlighting (Markdown)
- Document extract/chunk + Knowledge base UI + PDF extract
- Prompt presets
- Conversation branching (fork from any message) — suggestion P0 #5
- Response regeneration (reroll)
- Parallel session management
- Platform adaptation helpers
- In-chat message search (filter within current thread)
- Battery-aware model switching (auto-downgrade on low battery)
Phase 3: Platform Expansion
High Priority
- Windows support (native)
- Linux support (native)
- Watch companion
- Widget support (home screen widget; polish ongoing)
- Notification actions
Medium Priority
- Voice synthesis (TTS)
- Wake word detection
- Real-time translation
- Share intent (Android share sheet)
Phase 4: Advanced Features
High Priority
- Multi-modal input (audio/video/docs beyond current attachments)
- Plugin system
- Optional encrypted cloud sync
- MCP client (SSE/stdio/Streamable HTTP)
- MCP Streamable HTTP transport
Medium Priority
- Collaboration
- Learning mode (student assistant role exists; spaced-repetition drill TBD)
- Custom tool creation UI
- Structured data rendering (interactive tables + checklists in chat)
- Model benchmarking / comparison tool
- Context window usage visualization
Phase 5: Ecosystem
High Priority
- Public plugin marketplace
- Third-party model adapters
- Community prompt/tool packs
Non-goals (near term)
- GGUF inference
- Re-warming FGS
ModelService - Continuous screenshot encode
Suggested v0.4.x / v0.5 follow-ons
| Feature | Status | Notes |
|---|---|---|
| Conversation branching | ✅ Done | forkConversation in ChatHistoryService |
| Share message sheet | ✅ Done | Android share intent integration |
| In-chat message search | Open | Filter within current thread (not inter-conversation) |
| Battery-aware model switching | Open | Auto-downgrade to lighter model on low battery |
| Chat wallpaper / bubble theme | Open | Personalization beyond light/dark mode |
| Context window visualization | Open | Progress bar showing tokens used vs limit |
| Model benchmarking tool | Open | Compare response quality/speed across models |
| Structured data rendering | Open | Interactive tables and checklists in chat |
| Smart quick actions | Open | Context-aware action chips (translate, task, email) |
| In-chat code execution | Open | Sandboxed run_code tool for code snippets |
| Calendar/event tools | Open | Create/list events via CalendarContract |
| Pull-to-refresh conversation list | Open | Standard UX pattern |
| Model storage breakdown | Open | Show MB per model in settings |
| Screen timeout during streaming | Open | Keep awake during generation |
| Continuous dictation | Open | record package unused beyond STT |
| Free-RAM gate before Gemma 4 | Open | Soft warning exists |
Strip AGENT_DBG |
Open | Hygiene after soak |
| Desktop (Windows) scaffold | Open | Large platform lift |
| Wake word | Open | Battery/privacy cost |
| Custom tool creator UI | Open | After MCP HTTP soak |
| Clipboard-aware analysis | Open | “Analyze clipboard” quick action |