Introduction & Features
Relevant source files
The following files were used as context for generating this wiki page:
Conduit provides a native mobile interface for Open WebUI, model endpoints, and self-hosted agents. It functions as a Flutter-based client that operates independently of or in conjunction with an Open WebUI server. The application prioritizes local data storage and direct device-to-provider communication to ensure privacy.
The system integrates multi-platform support for Large Language Models (LLMs) through various connection methods. It includes specialized features for mobile environments, such as streaming persistence during app backgrounding and native rendering of complex data types like Mermaid diagrams and LaTeX.
Sources: README.md:1-26, pubspec.yaml:1-5
Connectivity Modes
Conduit supports five primary methods for connecting to model backends. You select these during the initial launch or add them later through the settings interface.
| Connection Type | Description | Key Features |
|---|---|---|
| Open WebUI | Self-hosted server connection | Full workspace access, folders, tools, and web search. |
| Direct | OpenAI-compatible, Ollama, OpenRouter | Talk directly to providers or local machines via API keys. |
| Apple On-Device | iOS local SystemLanguageModel | Offline processing on iOS 26+; no API key required. |
| Apple PCC | Apple Private Cloud Compute | Private cloud models for iOS 27+ with Foundation Models. |
| Hermes | Self-hosted agents | Tool execution, sensitive step approvals, and scheduling. |
Sources: README.md:28-66
Connection Logic Flow
The following diagram illustrates how Conduit handles different backend requests based on the user's configuration.
The application manages different authentication paths and streaming protocols depending on the chosen backend.
Sources: README.md:30-80, README.md:148-160
Core Features
Mobile-Optimized Chat
Conduit implements token-by-token streaming over WebSockets to ensure the UI remains responsive during long-form generation. Transcripts persist when the application enters the background. The system supports organized chat management through folders, pinning, and temporary "incognito" sessions.
Sources: README.md:88-95
Native Rendering
The application uses native Flutter surfaces rather than web views to render content. This enables high-performance display of specialized blocks:
- Code: Syntax highlighting with copy/preview functionality.
- Diagrams: Native Mermaid diagram rendering.
- Mathematics: Support for LaTeX and math formulas.
- Media: Multimodal prompts, audio attachments, and clipboard image pasting.
Sources: README.md:97-106, packages/conduit_markdown/pubspec.yaml:1-5
Voice Activity Detection (VAD)
Conduit incorporates the Silero VAD model (v4 and v5) for voice-call modes and voice input. This system handles speech start and end detection across multiple platforms including iOS and Android.
The VAD system processes audio frames to detect real speech versus misfires before sending data to the model.
Sources: third_party/vad/UPSTREAM_README.md:1-50, pubspec.yaml:70-75
System Architecture & Dependencies
The project is structured as a Flutter workspace containing shared packages for core logic, markdown parsing, and theming.
| Package | Purpose | Dependencies |
|---|---|---|
conduit_core | Shared business logic | riverpod, dio |
conduit_markdown | Preprocessing and block parsing | markdown, html_unescape |
conduit_theme | Platform-specific UI styling | material_ui, cupertino_ui |
mermaid_flutter | Native diagram rendering | Pinned submodule under third_party/ |
Sources: pubspec.yaml:14-40, packages/conduit_markdown/pubspec.yaml:12-15
Release and Build Workflow
Conduit utilizes a CI-driven release script to manage versioning and asset deployment to Google Play and the App Store.
- Version Bump: The script updates
pubspec.yamlwith a new version and build number. - Changelog Generation: It generates Fastlane metadata for Android (
default.txt) and iOS (Deliverfile). - Deployment: It dispatches GitHub Actions workflows to build and upload release assets.
# Example release command for a patch update
./scripts/release.sh patch
Sources: scripts/release.sh:1-120
Privacy and Security
Conduit stores all credentials, including JWTs and API keys, in platform-specific secure storage: Keychain for iOS and Keystore for Android. No data is routed through developer-operated backends; all traffic moves directly between the user's device and the configured server.
Sources: README.md:188-200, AGENTS.md:3-12
Conduit serves as a bridge for self-hosted LLM environments, providing the native mobile features—such as reliable streaming, voice interaction, and complex document rendering—that are typically absent in standard web interfaces.