Translate README to English

This commit is contained in:
Rodrigo Rodriguez (Pragmatismo) 2025-12-12 13:40:39 -03:00
parent d88331e570
commit 79140e9eb3

238
README.md
View file

@ -1,39 +1,39 @@
# BotOS - Android & HarmonyOS powered by General Bots # BotOS - Android & HarmonyOS powered by General Bots
**BotOS** transforma qualquer Android ou HarmonyOS em um sistema dedicado ao General Bots, removendo todo bloatware de fabricantes (Samsung, Huawei, Xiaomi, Honor, etc) e substituindo pela interface GB. **BotOS** transforms any Android or HarmonyOS device into a dedicated General Bots system, removing all manufacturer bloatware (Samsung, Huawei, Xiaomi, Honor, etc) and replacing it with the GB interface.
## Plataformas Suportadas ## Supported Platforms
### Mobile ### Mobile
- **Android** (AOSP, Samsung One UI, Xiaomi MIUI, etc) - **Android** (AOSP, Samsung One UI, Xiaomi MIUI, etc)
- **HarmonyOS** (Huawei, Honor) - **HarmonyOS** (Huawei, Honor)
### Embedded / IoT ### Embedded / IoT
- **Raspberry Pi** (Zero, 3, 4, 5) - Linux com display LCD/HDMI - **Raspberry Pi** (Zero, 3, 4, 5) - Linux with LCD/HDMI display
- **Orange Pi** - Alternativa econômica ao Raspberry - **Orange Pi** - Budget Raspberry alternative
- **Banana Pi** - Boards ARM com display - **Banana Pi** - ARM boards with display
- **BeagleBone** - Industrial IoT - **BeagleBone** - Industrial IoT
- **Arduino** (com ESP32/ESP8266) - Display OLED/LCD + WiFi - **Arduino** (with ESP32/ESP8266) - OLED/LCD display + WiFi
- **ESP32** - Displays TFT/OLED - **ESP32** - TFT/OLED displays
- **Rock Pi** - Boards RK3399/RK3588 - **Rock Pi** - RK3399/RK3588 boards
- **NVIDIA Jetson** - AI no edge com display - **NVIDIA Jetson** - Edge AI with display
- **LattePanda** - x86 embedded - **LattePanda** - x86 embedded
- **ODROID** - Boards Hardkernel - **ODROID** - Hardkernel boards
### Displays Suportados ### Supported Displays
- LCD Character (16x2, 20x4) - LCD Character (16x2, 20x4)
- OLED (128x64, 128x32) - OLED (128x64, 128x32)
- TFT/IPS (320x240, 480x320, 800x480) - TFT/IPS (320x240, 480x320, 800x480)
- E-ink/E-paper - E-ink/E-paper
- HDMI (qualquer resolução) - HDMI (any resolution)
## Níveis de Instalação ## Installation Levels
| Nível | Requisitos | O que faz | | Level | Requirements | What it does |
|-------|-----------|-----------| |-------|-------------|--------------|
| **1** | Apenas ADB | Remove bloatware, instala BotOS como app | | **1** | ADB only | Removes bloatware, installs BotOS as app |
| **2** | Root + Magisk | Boot animation GB, BotOS como system app | | **2** | Root + Magisk | GB boot animation, BotOS as system app |
| **3** | Bootloader desbloqueado | Substitui Android inteiro por BotOS | | **3** | Unlocked bootloader | Replaces entire Android with BotOS |
## Quick Start ## Quick Start
@ -42,33 +42,33 @@ cd botos/rom
./install.sh ./install.sh
``` ```
O instalador detecta automaticamente o dispositivo e mostra as opções disponíveis. The installer automatically detects the device and shows available options.
## Arquitetura ## Architecture
``` ```
┌─────────────────────────────────────────────────────────────────────────────┐ ┌─────────────────────────────────────────────────────────────────────────────┐
VEL 3: GSI │ LEVEL 3: GSI │
│ ┌─────────────────────────────────────────────────────────────────────────┐│ │ ┌─────────────────────────────────────────────────────────────────────────┐│
│ │ Android AOSP customizado - Zero apps de fabricante ││ │ │ Custom Android AOSP - Zero manufacturer apps ││
│ │ Boot animation GB desde inicialização ││ │ │ GB boot animation from startup ││
│ │ BotOS integrado como launcher único ││ │ │ BotOS integrated as single launcher ││
│ └─────────────────────────────────────────────────────────────────────────┘│ │ └─────────────────────────────────────────────────────────────────────────┘│
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
VEL 2: MAGISK MODULE │ LEVEL 2: MAGISK MODULE │
│ ┌─────────────────────────────────────────────────────────────────────────┐│ │ ┌─────────────────────────────────────────────────────────────────────────┐│
│ │ Android original + Magisk ││ │ │ Original Android + Magisk ││
│ │ Bloatware removido via overlay ││ │ │ Bloatware removed via overlay ││
│ │ Boot animation GB ││ │ │ GB boot animation ││
│ │ BotOS como system app privilegiado ││ │ │ BotOS as privileged system app ││
│ └─────────────────────────────────────────────────────────────────────────┘│ │ └─────────────────────────────────────────────────────────────────────────┘│
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
VEL 1: DEBLOAT + APP │ LEVEL 1: DEBLOAT + APP │
│ ┌─────────────────────────────────────────────────────────────────────────┐│ │ ┌─────────────────────────────────────────────────────────────────────────┐│
│ │ Android original (Samsung/Huawei/Xiaomi/etc) ││ │ │ Original Android (Samsung/Huawei/Xiaomi/etc) ││
│ │ Bloatware removido via ADB (sem root) ││ │ │ Bloatware removed via ADB (no root) ││
│ │ BotOS instalado como app normal ││ │ │ BotOS installed as normal app ││
│ │ Pode ser definido como launcher padrão ││ │ │ Can be set as default launcher ││
│ └─────────────────────────────────────────────────────────────────────────┘│ │ └─────────────────────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────────────────────────┘
@ -76,55 +76,55 @@ O instalador detecta automaticamente o dispositivo e mostra as opções disponí
│ BotOS App (Tauri) │ │ BotOS App (Tauri) │
├─────────────────────────────────────────────────────────────────────────────┤ ├─────────────────────────────────────────────────────────────────────────────┤
│ botui/ui/suite │ Tauri Android │ src/lib.rs (Rust) │ │ botui/ui/suite │ Tauri Android │ src/lib.rs (Rust) │
│ (Interface Web) │ (WebView + NDK) │ (Backend + Hardware) │ │ (Web Interface) │ (WebView + NDK) │ (Backend + Hardware) │
└─────────────────────────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────────────────────────┘
``` ```
## Estrutura do Projeto ## Project Structure
``` ```
botos/ botos/
├── Cargo.toml # Dependências Rust/Tauri ├── Cargo.toml # Rust/Tauri dependencies
├── tauri.conf.json # Config Tauri → botui/ui/suite ├── tauri.conf.json # Tauri config → botui/ui/suite
├── build.rs # Build script ├── build.rs # Build script
├── src/lib.rs # Entry point Android ├── src/lib.rs # Android entry point
├── icons/ ├── icons/
│ ├── gb-bot.svg # Ícone fonte │ ├── gb-bot.svg # Source icon
│ ├── icon.png (512x512) # Ícone principal │ ├── icon.png (512x512) # Main icon
│ └── */ic_launcher.png # Ícones por densidade │ └── */ic_launcher.png # Icons by density
├── scripts/ ├── scripts/
│ ├── generate-icons.sh # Gera PNGs do SVG │ ├── generate-icons.sh # Generate PNGs from SVG
│ └── create-bootanimation.sh # Gera animação de boot │ └── create-bootanimation.sh # Generate boot animation
├── capabilities/ ├── capabilities/
│ └── default.json # Permissões Tauri │ └── default.json # Tauri permissions
├── gen/android/ # Projeto Android gerado ├── gen/android/ # Generated Android project
│ └── app/src/main/ │ └── app/src/main/
│ ├── AndroidManifest.xml # HOME intent (launcher) │ ├── AndroidManifest.xml # HOME intent (launcher)
│ └── res/values/themes.xml # Tema dark GB │ └── res/values/themes.xml # GB dark theme
└── rom/ # Tools de instalação └── rom/ # Installation tools
├── install.sh # Instalador interativo ├── install.sh # Interactive installer
├── scripts/ ├── scripts/
│ ├── debloat.sh # Remove bloatware (sem root) │ ├── debloat.sh # Remove bloatware (no root)
│ └── build-magisk-module.sh # Gera módulo Magisk │ └── build-magisk-module.sh # Generate Magisk module
└── gsi/ └── gsi/
├── README.md # Instruções GSI/AOSP ├── README.md # GSI/AOSP instructions
└── device/pragmatismo/botos/ # Device tree AOSP └── device/pragmatismo/botos/ # AOSP device tree
``` ```
## Pré-requisitos ## Prerequisites
### Para compilar BotOS App ### To compile BotOS App
```bash ```bash
# Rust e Android targets # Rust and Android targets
rustup target add aarch64-linux-android armv7-linux-androideabi rustup target add aarch64-linux-android armv7-linux-androideabi
# Android SDK e NDK # Android SDK and NDK
export ANDROID_HOME=$HOME/Android/Sdk export ANDROID_HOME=$HOME/Android/Sdk
export NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653 export NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653
@ -132,34 +132,34 @@ export NDK_HOME=$ANDROID_HOME/ndk/25.2.9519653
cargo install tauri-cli cargo install tauri-cli
``` ```
### Para instalar em dispositivos ### To install on devices
```bash ```bash
# ADB # ADB
sudo apt install adb sudo apt install adb
# Para gerar ícones/boot animation # To generate icons/boot animation
sudo apt install librsvg2-bin imagemagick sudo apt install librsvg2-bin imagemagick
``` ```
## Compilação ## Building
```bash ```bash
cd botos cd botos
# Gerar ícones # Generate icons
./scripts/generate-icons.sh ./scripts/generate-icons.sh
# Inicializar projeto Android # Initialize Android project
cargo tauri android init cargo tauri android init
# Build APK # Build APK
cargo tauri android build --release cargo tauri android build --release
``` ```
## Instalação ## Installation
### Método Rápido (Interativo) ### Quick Method (Interactive)
```bash ```bash
cd botos/rom cd botos/rom
@ -167,45 +167,45 @@ chmod +x install.sh
./install.sh ./install.sh
``` ```
### Método Manual ### Manual Method
#### Nível 1: Debloat + App (Sem Root) #### Level 1: Debloat + App (No Root)
```bash ```bash
# Conectar dispositivo via USB (debug ativo) # Connect device via USB (debug enabled)
cd botos/rom/scripts cd botos/rom/scripts
./debloat.sh ./debloat.sh
# Instalar APK # Install APK
adb install ../gen/android/app/build/outputs/apk/release/app-release.apk adb install ../gen/android/app/build/outputs/apk/release/app-release.apk
# Definir como launcher: Home → BotOS → Sempre # Set as launcher: Home → BotOS → Always
``` ```
#### Nível 2: Magisk Module (Com Root) #### Level 2: Magisk Module (With Root)
```bash ```bash
# Gerar módulo # Generate module
cd botos/rom/scripts cd botos/rom/scripts
./build-magisk-module.sh ./build-magisk-module.sh
# Copiar para dispositivo # Copy to device
adb push botos-magisk-v1.0.zip /sdcard/ adb push botos-magisk-v1.0.zip /sdcard/
# No celular: Magisk → Modules → + → Selecionar ZIP → Reboot # On phone: Magisk → Modules → + → Select ZIP → Reboot
``` ```
#### Nível 3: GSI (Bootloader Desbloqueado) #### Level 3: GSI (Unlocked Bootloader)
Veja instruções detalhadas em `rom/gsi/README.md`. See detailed instructions in `rom/gsi/README.md`.
## Bloatware Removido ## Bloatware Removed
O debloat remove automaticamente: The debloat automatically removes:
**Samsung One UI:** **Samsung One UI:**
- Bixby, Samsung Pay, Samsung Pass - Bixby, Samsung Pay, Samsung Pass
- Apps duplicados (Email, Calendar, Browser) - Duplicate apps (Email, Calendar, Browser)
- AR Zone, Game Launcher - AR Zone, Game Launcher
**Huawei EMUI/HarmonyOS:** **Huawei EMUI/HarmonyOS:**
@ -222,80 +222,80 @@ O debloat remove automaticamente:
- MSA (analytics), Mi Apps - MSA (analytics), Mi Apps
- GetApps, Mi Cloud - GetApps, Mi Cloud
**Universal (todos):** **Universal (all):**
- Facebook, Instagram pré-instalados - Pre-installed Facebook, Instagram
- Netflix, Spotify pré-instalados - Pre-installed Netflix, Spotify
- Jogos como Candy Crush - Games like Candy Crush
## Boot Animation ## Boot Animation
Para customizar a animação de boot (requer root): To customize the boot animation (requires root):
```bash ```bash
# Gerar animação # Generate animation
./scripts/create-bootanimation.sh ./scripts/create-bootanimation.sh
# Instalar (root) # Install (root)
adb root adb root
adb remount adb remount
adb push bootanimation.zip /system/media/ adb push bootanimation.zip /system/media/
adb reboot adb reboot
``` ```
## Desenvolvimento ## Development
```bash ```bash
# Dev mode (conecta ao dispositivo) # Dev mode (connects to device)
cargo tauri android dev cargo tauri android dev
# Logs # Logs
adb logcat -s BotOS:* adb logcat -s BotOS:*
``` ```
## Parceria China ## China Partnership
BotOS foi criado para vendas/parcerias na China, oferecendo: BotOS was created for sales/partnerships in China, offering:
- Celulares com sistema "limpo" - sem bloatware - Phones with "clean" system - no bloatware
- Interface única conectada ao General Bots - Unique interface connected to General Bots
- Experiência simplificada para usuários finais - Simplified experience for end users
- Controle total do dispositivo - Full device control
- Suporte a dispositivos HarmonyOS (Huawei/Honor) - Support for HarmonyOS devices (Huawei/Honor)
- Dispositivos IoT/Embedded (Raspberry Pi, ESP32, etc) - IoT/Embedded devices (Raspberry Pi, ESP32, etc)
- Quiosques e terminais de autoatendimento - Kiosks and self-service terminals
## Interface Embedded (LCD/Teclado) ## Embedded Interface (LCD/Keyboard)
Para dispositivos com recursos limitados, use a interface embedded em `botui/ui/embedded/`: For devices with limited resources, use the embedded interface at `botui/ui/embedded/`:
```bash ```bash
# Raspberry Pi com display LCD # Raspberry Pi with LCD display
chromium-browser --kiosk --app=http://localhost:8088/embedded/ chromium-browser --kiosk --app=http://localhost:8088/embedded/
# ESP32 com display TFT (via WebView) # ESP32 with TFT display (via WebView)
# Configure BOTSERVER_URL no firmware # Configure BOTSERVER_URL in firmware
# Terminal character mode # Character terminal mode
# Use botui/ui/embedded/ com CONFIG.maxMsgLen ajustado # Use botui/ui/embedded/ with CONFIG.maxMsgLen adjusted
``` ```
### Características da Interface Embedded ### Embedded Interface Features
- Otimizada para displays 320x240 até 16x2 caracteres - Optimized for displays 320x240 down to 16x2 characters
- Alto contraste (verde/preto, e-ink) - High contrast (green/black, e-ink)
- Baixo consumo de memória (max 10 mensagens) - Low memory usage (max 10 messages)
- Navegação por teclado (Enter envia, Esc limpa) - Keyboard navigation (Enter sends, Esc clears)
- Reconexão automática - Auto reconnection
## Recursos ## Features
- 🏠 **Launcher Mode**: Substitui home screen - 🏠 **Launcher Mode**: Replaces home screen
- 🤖 **Interface Chat**: botui/ui/suite - 🤖 **Chat Interface**: botui/ui/suite
- 🦀 **Backend Rust**: Via Tauri - 🦀 **Rust Backend**: Via Tauri
- 📍 **GPS**: Acesso a localização - 📍 **GPS**: Location access
- 📷 **Câmera**: Via plugins Tauri - 📷 **Camera**: Via Tauri plugins
- 🔔 **Notificações**: Push notifications - 🔔 **Notifications**: Push notifications
- 🌐 **Internet**: Comunicação com botserver - 🌐 **Internet**: Communication with botserver
- 🎨 **Boot Animation**: Customizável com gb-bot.svg - 🎨 **Boot Animation**: Customizable with gb-bot.svg
## Licença ## License
AGPL-3.0 AGPL-3.0