Skip to content

Commit ea5aff1

Browse files
committed
Add README.md
1 parent c55f0b8 commit ea5aff1

1 file changed

Lines changed: 115 additions & 0 deletions

File tree

README.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# Nano.Ai
2+
3+
An AI-native mobile platform for Android that brings powerful language models directly to your device.
4+
5+
![Android](https://img.shields.io/badge/Android-12%2B-green)
6+
![Kotlin](https://img.shields.io/badge/Kotlin-2.1.21-purple)
7+
![Jetpack Compose](https://img.shields.io/badge/Jetpack%20Compose-Material3-blue)
8+
9+
## Features
10+
11+
### Offline AI Chat
12+
- Run large language models locally on your device
13+
- Support for GGUF format models via Llama.cpp
14+
- No internet connection required for inference
15+
- Full privacy - your data never leaves your device
16+
17+
### Online AI (OpenRouter)
18+
- Access 100+ cloud models through OpenRouter API
19+
- Seamless switching between offline and online models
20+
- Streaming responses with real-time token generation
21+
22+
### Text-to-Speech (TTS)
23+
- 11 premium voices (American & British, Male & Female)
24+
- Completely offline using Sherpa-ONNX
25+
- Real-time audio synthesis as responses generate
26+
27+
### Plugin System
28+
- Extensible architecture with dynamic plugin loading
29+
- Tool calling support for LLM function execution
30+
- Create custom plugins with Compose UI integration
31+
- JSON-based plugin manifest system
32+
33+
### DataHub & RAG
34+
- Vector database for knowledge injection
35+
- Retrieval-Augmented Generation support
36+
- Encrypted data pack loading
37+
- Dynamic context injection for specialized tasks
38+
39+
### Code Canvas
40+
- Syntax highlighting for generated code
41+
- Live preview support
42+
- Easy copy-to-clipboard functionality
43+
44+
## Architecture
45+
46+
```
47+
Nano.Ai/
48+
├── app/ # Main Android application
49+
├── ai-module/ # AI inference & model management
50+
├── plugins/ # Plugin system & management
51+
├── plugin-api/ # Plugin API definitions
52+
├── data-hub-lib/ # Vector DB & RAG with native C++
53+
└── libs/ # Pre-built AAR libraries
54+
```
55+
56+
## Tech Stack
57+
58+
- **Language**: Kotlin 2.1.21
59+
- **UI**: Jetpack Compose with Material3
60+
- **AI Engine**: Llama.cpp (via native AAR)
61+
- **TTS Engine**: Sherpa-ONNX
62+
- **Database**: Room ORM
63+
- **Async**: Kotlin Coroutines & Flow
64+
- **Encryption**: libsodium
65+
66+
## Requirements
67+
68+
- Android 12+ (API 31)
69+
- arm64-v8a or x86_64 architecture
70+
- Minimum 4GB RAM recommended for local inference
71+
72+
## Building
73+
74+
### Prerequisites
75+
- JDK 17
76+
- Android SDK 36
77+
- Android NDK (for native components)
78+
79+
### Build Debug APK
80+
```bash
81+
./gradlew assembleDebug
82+
```
83+
84+
### Build Release APK
85+
```bash
86+
./gradlew assembleRelease
87+
```
88+
89+
## Project Structure
90+
91+
| Module | Package | Purpose |
92+
|--------|---------|---------|
93+
| app | `com.nano.ai` | Main application, UI, ViewModels |
94+
| ai-module | `com.nano.ai.module` | Model management, inference services |
95+
| plugins | `com.nano.ai.plugins` | Plugin loading & management |
96+
| plugin-api | `com.nano.ai.plugin.api` | Base plugin classes & interfaces |
97+
| data-hub-lib | `com.nano.ai.datahub` | Vector DB, RAG, native JNI |
98+
99+
## Permissions
100+
101+
```xml
102+
INTERNET - Online model API access
103+
POST_NOTIFICATIONS - Service notifications
104+
FOREGROUND_SERVICE - Background inference
105+
RECORD_AUDIO - Voice input (STT)
106+
MANAGE_EXTERNAL_STORAGE - Model file access
107+
```
108+
109+
## Contributing
110+
111+
Contributions are welcome! Please feel free to submit pull requests.
112+
113+
## License
114+
115+
This project is provided as-is for educational and personal use.

0 commit comments

Comments
 (0)