Skip to content

Razdnut/conduit

 
 

Repository files navigation

Conduit


Screenshot 1

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.

Features

Core Features

  • 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

Advanced Features

  • 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

Screenshots

Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6

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:
git clone https://github.com/yourusername/conduit.git
cd conduit
  1. Install dependencies:
flutter pub get
  1. Generate code:
flutter pub run build_runner build --delete-conflicting-outputs
  1. Run the app:
# For iOS
flutter run -d ios

# For Android
flutter run -d android

Building for Release

Android

flutter build apk --release
# or for App Bundle
flutter build appbundle --release

iOS

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

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.

  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

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 page.

About

Native mobile client for Open‑WebUI. Chat with your self‑hosted AI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dart 98.2%
  • Kotlin 1.1%
  • Other 0.7%