7565d6caef59f31864d42f4a61cec833ff0bb89a
- Remove JetBrainsMono font assets (using google_fonts instead) - Add adaptive icon and PNG fallbacks for launcher - Build successful: app-release.apk (23.7MB) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Captain Claude Mobile
App Android para interactuar con Captain Claude via chat y acceder a sesiones screen.
Características
- Chat en tiempo real con Captain Claude via WebSocket
- Renderizado de Markdown con syntax highlighting
- Terminal interactiva para sesiones screen
- Autenticación JWT
- Tema oscuro
Requisitos
- Flutter SDK >= 3.0.0
- Android SDK
- Backend API corriendo en
captain.tzzrarchitect.me
Instalación
# Clonar repo
git clone https://git.tzzr.net/tzzr/captain-mobile.git
cd captain-mobile
# Instalar dependencias
flutter pub get
# Ejecutar en debug
flutter run
# Build APK release
flutter build apk --release
Estructura
lib/
├── main.dart # Entry point
├── config/
│ └── api_config.dart # Configuración API
├── models/
│ ├── message.dart # Modelo de mensaje
│ ├── session.dart # Modelo de sesión screen
│ └── user.dart # Modelo de usuario
├── services/
│ ├── api_service.dart # Llamadas REST
│ ├── auth_service.dart # Autenticación
│ ├── chat_service.dart # WebSocket chat
│ └── terminal_service.dart # WebSocket terminal
├── providers/
│ ├── auth_provider.dart # Estado autenticación
│ └── chat_provider.dart # Estado chat
├── screens/
│ ├── login_screen.dart # Pantalla login
│ ├── chat_screen.dart # Pantalla chat principal
│ ├── sessions_screen.dart # Lista sesiones screen
│ └── terminal_screen.dart # Terminal interactiva
└── widgets/
├── message_bubble.dart # Burbuja de mensaje
├── code_block.dart # Bloque de código
└── markdown_viewer.dart # Visor markdown
Backend API
El backend está en apps/captain-mobile/ del repo captain-claude:
captain_api.py- FastAPI con WebSocket- Puerto: 3030
- Endpoints:
POST /auth/login- AutenticaciónGET /sessions- Listar sesiones screenGET /history- Historial conversacionesWS /ws/chat- Chat con CaptainWS /ws/terminal/{session}- Terminal
Configuración
Editar lib/config/api_config.dart para cambiar la URL del servidor:
static const String baseUrl = 'https://captain.tzzrarchitect.me';
static const String wsUrl = 'wss://captain.tzzrarchitect.me';
Credenciales por defecto
- Usuario:
captain - Password:
tzzr2025
Desarrollo
Backend
cd apps/captain-mobile
./venv/bin/uvicorn captain_api:app --reload --port 3030
App
flutter run -d <device_id>
Licencia
Propietario - TZZR
Description
Languages
Dart
99.8%
Kotlin
0.2%