Files
iiEsaywebUIapp/README.md

229 lines
6.6 KiB
Markdown
Raw Normal View History

2025-08-12 20:49:43 +05:30
# Conduit
2025-08-10 01:20:45 +05:30
2025-08-18 21:28:56 +05:30
<div align="center">
2025-08-27 12:14:37 +05:30
![Latest Release](https://img.shields.io/github/v/release/cogwheel0/conduit?display_name=tag&color=8A2BE2)
![GitHub all downloads](https://img.shields.io/github/downloads/cogwheel0/conduit/total?style=flat-square&label=Downloads&logo=github&color=0A84FF)
2025-08-27 12:33:15 +05:30
<a href="https://groups.google.com/g/conduit">
<img src="https://github.com/pioug/google-play-badges/raw/refs/heads/main/svg/English.svg" alt="Get it on Google Play" style="height:56px;"/>
</a>
<a href="https://apps.apple.com/us/app/conduit-open-webui-client/id6749840287">
<img src="https://developer.apple.com/assets/elements/badges/download-on-the-app-store.svg" alt="Download on the App Store" style="height:56px;"/>
</a>
2025-08-27 12:14:37 +05:30
2025-08-18 21:28:56 +05:30
</div>
<br>
2025-08-27 12:14:37 +05:30
<div align="center">
<img src="fastlane/metadata/en-US/images/conduit-demo.gif" alt="Conduit Demo" style="height:600px;"/>
2025-08-27 12:14:37 +05:30
</div>
<br>
2025-08-12 13:07:10 +05:30
2025-08-10 01:20:45 +05:30
Conduit is an open-source, cross-platform mobile application for Open-WebUI, providing a native mobile experience for interacting with your self-hosted AI infrastructure.
## Table of Contents
- [Features](#features)
- [Screenshots](#screenshots)
- [Requirements](#requirements)
- [Quickstart](#quickstart)
- [Installation](#installation)
- [Building for Release](#building-for-release)
- [Configuration](#configuration)
- [Localization (i18n)](#localization-i18n)
- [Compatibility](#compatibility)
- [Docs](#docs)
- [Architecture](#architecture)
- [Troubleshooting](#troubleshooting)
- [Security & Privacy](#security--privacy)
- [Contributing](#contributing)
- [License](#license)
- [Support](#support)
## Quickstart
```bash
git clone https://github.com/cogwheel0/conduit && cd conduit
flutter pub get
flutter pub run build_runner build --delete-conflicting-outputs
flutter run -d ios # or: -d android
```
2025-08-10 01:20:45 +05:30
## Features
### Core Features
2025-08-12 13:07:10 +05:30
- **Real-time Chat**: Stream responses from AI models in real-time
- **Model Selection**: Choose from available models on your server
- **Conversation Management**: Create, search, and manage chat histories
- **Markdown Rendering**: Full markdown support with syntax highlighting
- **Theme Support**: Light, Dark, and System themes
2025-08-10 01:20:45 +05:30
### Advanced Features
2025-08-12 13:07:10 +05:30
- **Voice Input**: Use speech-to-text for hands-free interaction
- **File Uploads**: Support for images and documents (RAG)
- **Multi-modal Support**: Work with vision models
- **Secure Storage**: Credentials stored securely using platform keychains
- **Folder Management**: Organize conversations into folders; create, rename, move, and delete
2025-08-12 13:07:10 +05:30
## Screenshots
| | | | |
| --- | --- | --- | --- |
| <img src="fastlane/metadata/en-US/images/phoneScreenshots/2.png" alt="Screenshot 2" width="200" /> | <img src="fastlane/metadata/en-US/images/phoneScreenshots/3.png" alt="Screenshot 3" width="200" /> | <img src="fastlane/metadata/en-US/images/phoneScreenshots/4.png" alt="Screenshot 4" width="200" /> | <img src="fastlane/metadata/en-US/images/phoneScreenshots/5.png" alt="Screenshot 5" width="200" /> |
2025-08-10 01:20:45 +05:30
## Requirements
- Flutter SDK 3.0.0 or higher
- Android 6.0 (API 23) or higher
- iOS 12.0 or higher
- A running Open-WebUI instance
## Installation
1. Clone the repository:
```bash
git clone https://github.com/yourusername/conduit.git
cd conduit
```
2. Install dependencies:
```bash
flutter pub get
```
3. Generate code:
```bash
flutter pub run build_runner build --delete-conflicting-outputs
```
4. Run the app:
```bash
# For iOS
flutter run -d ios
# For Android
flutter run -d android
```
## Building for Release
### Android
```bash
flutter build apk --release
# or for App Bundle
flutter build appbundle --release
```
### iOS
```bash
flutter build ios --release
```
## Configuration
### Android
The app requires the following permissions:
- Internet access
- Microphone (for voice input)
- Camera (for taking photos)
- Storage (for file selection)
### iOS
The app will request permissions for:
- Microphone access (voice input)
- Speech recognition
- Camera access
- Photo library access
## Localization (i18n)
See the dedicated documentation: [docs/localization.md](docs/localization.md)
## Compatibility
| Conduit App | OpenWebUI | Notes |
| --- | --- | --- |
| 1.x | 0.3.x+ | Uses OpenAPI schema at `assets/openapi.json` |
## Docs
- Localization: `docs/localization.md`
- Architecture (planned): `docs/architecture.md`
- Theming (planned): `docs/theming.md`
- Release Process (planned): `docs/release.md`
2025-08-10 01:20:45 +05:30
## Architecture
The app follows a clean architecture pattern with:
- **Riverpod** for state management
- **Dio** for HTTP networking
- **WebSocket** for real-time streaming
- **Flutter Secure Storage** for credential management
### Project Structure
```
lib/
├── core/
│ ├── models/ # Data models
│ ├── services/ # API and storage services
│ ├── providers/ # Global state providers
│ └── utils/ # Utility functions
├── features/
│ ├── auth/ # Authentication feature
│ ├── chat/ # Chat interface feature
│ ├── server/ # Server connection feature
│ └── settings/ # Settings feature
└── shared/
├── theme/ # App theming
├── widgets/ # Shared widgets
└── utils/ # Shared utilities
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Developer workflow:
```bash
flutter analyze
flutter pub run build_runner build --delete-conflicting-outputs
# flutter test # add when tests are available
```
2025-08-10 01:20:45 +05:30
1. Fork the project
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## Troubleshooting
- iOS: ensure recent Xcode, run `cd ios && pod install`, set signing team in Xcode if building on device.
- Android: minSdk 23+, ensure correct Java and Gradle; if builds fail, try `flutter clean`.
- Codegen conflicts: `flutter pub run build_runner build --delete-conflicting-outputs`.
## Security & Privacy
- Credentials are stored using platform secure storage (Keychain/Keystore).
- No analytics or telemetry are collected.
- Network calls are only made to your configured OpenWebUI server.
2025-08-10 01:20:45 +05:30
## License
This project is licensed under the GPL3 License - see the LICENSE file for details.
## Acknowledgments
- Open-WebUI team for creating an amazing self-hosted AI interface
- Flutter team for the excellent mobile framework
- All contributors and users of Conduit
## Support
For issues and feature requests, please use the [GitHub Issues](https://github.com/cogwheel0/conduit/issues) page.