🚧 [WIP] This app is a work in progress, and only basic features are implemented.
🤖 [Vibe Project] The vast majority of the code was implemented by Cursor.
Mobile App for OpenCode and more
OpenMode is a mobile client for OpenCode (and more, maybe). Built with Flutter, it provides a seamless and intuitive interface for interacting with AI assistants, managing code projects, and enhancing your development workflow on the go.
Screen_recording_20250825_000558.mp4
- 🤖 AI Chat Interface: Engage in natural conversations with AI assistants
- 🔗 Server Connection: Connect to OpenCode servers with configurable settings
- 💬 Session Management: Create and manage multiple chat sessions
- 🎨 Modern UI: Beautiful dark theme with Material Design 3
- 📱 Cross-platform: Built with Flutter for iOS and Android
- ⚡ Real-time Communication: Instant messaging with AI assistants
- 🔧 Configurable: Flexible server configuration options
- Flutter SDK (>=3.8.1)
- Dart SDK
- Android Studio / Xcode (for mobile development)
- OpenCode server instance
-
Clone the repository
git clone https://github.com/your-username/openmode.git cd openmode -
Install dependencies
flutter pub get
-
Run the app
flutter run
- Launch the app
- Navigate to Server Settings
- Configure your OpenCode server:
- Host Address: Your server IP (e.g., 127.0.0.1)
- Port: Your server port (e.g., 4096)
- Tap Test Connection to verify connectivity
- Save your settings
Screenshots coming soon...
OpenMode follows Clean Architecture principles with clear separation of concerns:
lib/ ├── core/ # Core utilities and constants │ ├── constants/ # App and API constants │ ├── di/ # Dependency injection │ ├── errors/ # Error handling │ ├── network/ # Network client configuration │ └── utils/ # Utility functions ├── data/ # Data layer │ ├── datasources/ # Local and remote data sources │ ├── models/ # Data models │ └── repositories/ # Repository implementations ├── domain/ # Business logic layer │ ├── entities/ # Business entities │ ├── repositories/ # Repository interfaces │ └── usecases/ # Business use cases └── presentation/ # UI layer ├── pages/ # App screens ├── providers/ # State management ├── theme/ # App theming └── widgets/ # Reusable UI components - Framework: Flutter
- Language: Dart
- State Management: Provider
- HTTP Client: Dio
- Local Storage: SharedPreferences
- Dependency Injection: GetIt
- Architecture: Clean Architecture
- Design System: Material Design 3
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenCode team for the amazing AI assistant platform
- Flutter team for the excellent mobile framework
- Material Design team for the beautiful design system
