cogwheel0/conduit

Native iOS and Android client for Open WebUI, direct OpenAI-compatible, Ollama, and Hermes agents.

2,083

stars

1,454

commits

Dart

primary language

Sep 3, 2026

updated

conduit.mobile
ai-agents
ai-assistant
android
chat
chatbot
cross-platform
dart
flutter
ios
llm
llm-client
mobile-app
ollama
openai
openrouter
open-webui
openwebui
privacy
self-hosted
selfhosted

README

Conduit

Conduit icon

A native mobile client for Open WebUI, your own model endpoints, and self-hosted agents.

Latest Release GitHub all downloads License: GPL-3.0

Get it on Google Play Download on the App Store

Vercel OSS Program   cogwheel0/conduit: #1 Dart repository of the day on Trendshift

Connect · Screenshots · Features · Getting Started · Privacy · Build from Source


Conduit demo


Open WebUI is excellent on the desktop. On mobile it breaks down at the edges: authentication behind a reverse proxy, streaming that drops when the app backgrounds, getting a screenshot into a prompt, starting a chat from the home screen. Conduit is a real Flutter app built to close that gap, and as of 4.0 it works with or without an Open WebUI server at all.

Your chats live on your device first. Nothing routes through a backend the maintainer operates.

Ways to connect

On first launch Conduit asks how you want to connect. Pick one, add the others later, and skip any sign-in you don't need.

Open WebUIYour self-hosted serverFull feature set: chats, folders, notes, channels, workspace, tools, web search, image generation
DirectOpenAI-compatible, Ollama, OpenRouterTalk straight to a provider or a model on your own machine. No Open WebUI account required
Apple On-DeviceApple IntelligenceRun Apple's local model offline on eligible iOS 26 devices without an API key
Apple PCCApple Private Cloud ComputeUse Apple's private cloud model on eligible iOS 27 devices without an API key
HermesYour self-hosted agentAn agent that runs tools, asks before sensitive steps, and works on a schedule

Direct connections cover OpenAI-compatible endpoints (Chat Completions or Responses), LM Studio, Azure-style API versions, native Ollama, and first-party OpenRouter. Bring an API key, or skip it for a local endpoint that doesn't want one. Direct connections you already configured in Open WebUI come along automatically. Keys and custom headers stay in platform secure storage.

Apple On-Device is an iOS-only Direct provider backed by Apple's local SystemLanguageModel. It requires iOS 26 and Apple Intelligence, works offline, and supports streaming, sampling controls, and JSON-schema responses with a 4K context window. Image input, reasoning controls, and tool calling are not available.

Apple Private Cloud Compute is an iOS-only Direct provider. It uses Apple's Foundation Models framework, streams responses through the same chat path as other Direct models, and requires iOS 27, Apple Intelligence availability, and Apple's managed PCC entitlement. It supports image input, reasoning levels, sampling and output limits, JSON-schema responses, live quota/context status, and an optional on-device fallback for PCC network failures. Tool calling is not enabled.

Hermes Agent connects to your own Hermes server. You watch its tools work live, approve sensitive steps before they run, and let scheduled agents run while you sleep. Conversations and schedules get their own tab, and Conduit only exposes the capabilities your server actually reports.

Screenshots

ChatConnectChatsVoice
Multimodal chat with an image attachment and streaming responseChoose a Conduit chat backendChat with rich replies and Ask Conduit inputVoice call mode listening with call controls

What you get

Chat that survives mobile

Token-by-token streaming over WebSocket. The transcript holds its place while a response grows, pinned prompts stay put, and long conversations load without stalling the UI. Search across conversations, organize with folders, pin what matters, or start a temporary chat that leaves nothing behind.

Rendering that holds up on a phone

Native Flutter surfaces, not a web view wrapped in a shell:

  • syntax-highlighted code blocks with copy and preview
  • Mermaid diagrams rendered natively
  • LaTeX and math
  • expandable reasoning, tool-call, and code-execution sections
  • inline citations, source cards, and follow-up suggestions
  • Chart.js embeds

A real Workspace

Models, knowledge, prompts, tools, and skills as native screens with unified settings navigation. Sections you don't have permission for simply don't appear.

Everything else

AreaWhat's included
Files and mediaUploads, re-attaching previously uploaded server files, multimodal prompts, clipboard image paste, audio attachments
NotesAutosave, pinning, AI-generated titles, AI enhancement, audio recording, all available offline
ChannelsThreads and reactions, when your server enables them
VoiceVoice input with on-device or server speech recognition, plus a full voice-call mode
Home screenWidgets on iOS and Android for new chat, mic, camera, photos, and clipboard; app quick actions; iOS App Intents and Shortcuts
SharingShare-sheet ingestion from other apps straight into a prompt
TerminalInteractive sessions over WebSocket with a file browser, shown only when your server exposes it
PersonalizationLight, dark, and system themes; five accent palettes; adaptive Material and Cupertino UI; haptics
Languages14 locales: English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Russian, Simplified and Traditional Chinese, Czech, Slovak, Polish

Server-dependent features (channels, notes, web search, image generation, toggle filters, terminal) appear only when your deployment exposes them.

Built for self-hosted reality

Most mobile clients assume a plain login form. Real deployments rarely look like that.

  • Every auth path Open WebUI offers: username and password, LDAP, manual JWT entry, SSO and OAuth providers.
  • Reverse proxies actually work: oauth2-proxy, Authelia, Authentik, Pangolin, and Cloudflare Tunnel, by capturing the right cookies and session state on-device.
  • Custom headers during setup for environments that require X-API-Key, Authorization, or organization routing headers.
  • Credentials in Keychain or Keystore, never plain-text local storage.
  • Tracks upstream: Conduit supports Open WebUI 0.11.

Getting started

Install from the App Store or Google Play, then pick how you want to connect.

Open WebUI
  1. Launch Conduit and choose Open WebUI.
  2. Enter your instance's base URL.
  3. Add any required custom headers.
  4. Sign in with username and password, LDAP, JWT, SSO, or proxy auth.
  5. Pick a model and start chatting.
Direct connection
  1. Launch Conduit and choose Direct connection.
  2. Add an OpenAI-compatible or Ollama profile with its base URL and any API key or custom headers.
  3. Test the connection, enable it, and select a discovered or manually entered model.
  4. Choose whether new direct chats use Open WebUI history when one is signed in, or stay only on this device. Existing chats keep their current location.
  5. Start chatting. No Open WebUI account required.
Apple On-Device
  1. On an eligible iOS 26 device, launch Conduit and choose Apple On-Device.
  2. Conduit checks Apple Intelligence and local-model availability. No API key or network connection is required.
  3. Start chatting. New Apple-only installations keep Direct history on the device unless you later enable Open WebUI history.
Apple Private Cloud Compute
  1. On an eligible iOS 27 device, launch Conduit and choose Apple Private Cloud Compute.
  2. Conduit checks Apple Intelligence and PCC availability. No API key is required.
  3. Start chatting. New PCC-only installations keep Direct history on the device unless you later enable Open WebUI history.
Hermes Agent
  1. Launch Conduit and choose Hermes Agent.
  2. Enter your Hermes server URL and API_SERVER_KEY.
  3. Optionally set a memory key to scope the agent's long-term memory to you. One is generated automatically on first chat if you leave it blank.
  4. Open the Hermes tab for conversations and scheduled agents.

Privacy

  • Chats, notes, and drafts are stored on your device. Notes and drafts stay available without a connection.
  • Credentials use platform secure storage: Keychain on iOS, Keystore on Android.
  • No third-party analytics or advertising SDKs.
  • Diagnostic logging is local and transient.
  • No developer-operated backend relays your data. Traffic goes from your device to the server or provider you configured, and nowhere else.
  • Signing out lets you choose what stays behind. Clearing everything clears on-device chats too, and fails safely rather than half-deleting.

Full details in PRIVACY_POLICY.md.

Build from source

See docs/BUILDING.md for requirements, submodules, codegen, verification, project layout, and troubleshooting.

git clone --recursive https://github.com/cogwheel0/conduit.git
cd conduit
flutter pub get
dart run build_runner build
flutter run -d ios   # or: flutter run -d android

Clone recursively and run build_runner. The Mermaid renderer is a submodule, and generated Dart files are git-ignored.

Contributing

Conduit is actively developed and feedback is welcome.

Unsolicited pull requests are not the primary contribution path right now. Open an issue or discussion first so changes line up with the roadmap.

Enterprise and white-label

For private distribution, internal deployment support, or a custom enterprise/white-label build, open a discussion or reach the maintainer at cogwheel@cogwheel.app.

Support

If Conduit is useful to you, you can support development through GitHub Sponsors or Buy Me a Coffee.

Acknowledgements

License

Released under the GPL-3.0 License.

Conduit is an independent client and is not affiliated with Open WebUI.

Contributors

cogwheel0

1,446 commits

t0lot

3 commits

larsb24

2 commits

andrewchen

1 commits

cogwheel0/conduit

Native iOS and Android client for Open WebUI, direct OpenAI-compatible, Ollama, and Hermes agents.

2,083

stars

1,454

commits

Dart

primary language

Sep 3, 2026

updated

conduit.mobile
ai-agents
ai-assistant
android
chat
chatbot
cross-platform
dart
flutter
ios
llm
llm-client
mobile-app
ollama
openai
openrouter
open-webui
openwebui
privacy
self-hosted
selfhosted

README

Conduit

Conduit icon

A native mobile client for Open WebUI, your own model endpoints, and self-hosted agents.

Latest Release GitHub all downloads License: GPL-3.0

Get it on Google Play Download on the App Store

Vercel OSS Program   cogwheel0/conduit: #1 Dart repository of the day on Trendshift

Connect · Screenshots · Features · Getting Started · Privacy · Build from Source


Conduit demo


Open WebUI is excellent on the desktop. On mobile it breaks down at the edges: authentication behind a reverse proxy, streaming that drops when the app backgrounds, getting a screenshot into a prompt, starting a chat from the home screen. Conduit is a real Flutter app built to close that gap, and as of 4.0 it works with or without an Open WebUI server at all.

Your chats live on your device first. Nothing routes through a backend the maintainer operates.

Ways to connect

On first launch Conduit asks how you want to connect. Pick one, add the others later, and skip any sign-in you don't need.

Open WebUIYour self-hosted serverFull feature set: chats, folders, notes, channels, workspace, tools, web search, image generation
DirectOpenAI-compatible, Ollama, OpenRouterTalk straight to a provider or a model on your own machine. No Open WebUI account required
Apple On-DeviceApple IntelligenceRun Apple's local model offline on eligible iOS 26 devices without an API key
Apple PCCApple Private Cloud ComputeUse Apple's private cloud model on eligible iOS 27 devices without an API key
HermesYour self-hosted agentAn agent that runs tools, asks before sensitive steps, and works on a schedule

Direct connections cover OpenAI-compatible endpoints (Chat Completions or Responses), LM Studio, Azure-style API versions, native Ollama, and first-party OpenRouter. Bring an API key, or skip it for a local endpoint that doesn't want one. Direct connections you already configured in Open WebUI come along automatically. Keys and custom headers stay in platform secure storage.

Apple On-Device is an iOS-only Direct provider backed by Apple's local SystemLanguageModel. It requires iOS 26 and Apple Intelligence, works offline, and supports streaming, sampling controls, and JSON-schema responses with a 4K context window. Image input, reasoning controls, and tool calling are not available.

Apple Private Cloud Compute is an iOS-only Direct provider. It uses Apple's Foundation Models framework, streams responses through the same chat path as other Direct models, and requires iOS 27, Apple Intelligence availability, and Apple's managed PCC entitlement. It supports image input, reasoning levels, sampling and output limits, JSON-schema responses, live quota/context status, and an optional on-device fallback for PCC network failures. Tool calling is not enabled.

Hermes Agent connects to your own Hermes server. You watch its tools work live, approve sensitive steps before they run, and let scheduled agents run while you sleep. Conversations and schedules get their own tab, and Conduit only exposes the capabilities your server actually reports.

Screenshots

ChatConnectChatsVoice
Multimodal chat with an image attachment and streaming responseChoose a Conduit chat backendChat with rich replies and Ask Conduit inputVoice call mode listening with call controls

What you get

Chat that survives mobile

Token-by-token streaming over WebSocket. The transcript holds its place while a response grows, pinned prompts stay put, and long conversations load without stalling the UI. Search across conversations, organize with folders, pin what matters, or start a temporary chat that leaves nothing behind.

Rendering that holds up on a phone

Native Flutter surfaces, not a web view wrapped in a shell:

  • syntax-highlighted code blocks with copy and preview
  • Mermaid diagrams rendered natively
  • LaTeX and math
  • expandable reasoning, tool-call, and code-execution sections
  • inline citations, source cards, and follow-up suggestions
  • Chart.js embeds

A real Workspace

Models, knowledge, prompts, tools, and skills as native screens with unified settings navigation. Sections you don't have permission for simply don't appear.

Everything else

AreaWhat's included
Files and mediaUploads, re-attaching previously uploaded server files, multimodal prompts, clipboard image paste, audio attachments
NotesAutosave, pinning, AI-generated titles, AI enhancement, audio recording, all available offline
ChannelsThreads and reactions, when your server enables them
VoiceVoice input with on-device or server speech recognition, plus a full voice-call mode
Home screenWidgets on iOS and Android for new chat, mic, camera, photos, and clipboard; app quick actions; iOS App Intents and Shortcuts
SharingShare-sheet ingestion from other apps straight into a prompt
TerminalInteractive sessions over WebSocket with a file browser, shown only when your server exposes it
PersonalizationLight, dark, and system themes; five accent palettes; adaptive Material and Cupertino UI; haptics
Languages14 locales: English, German, Spanish, French, Italian, Japanese, Korean, Dutch, Russian, Simplified and Traditional Chinese, Czech, Slovak, Polish

Server-dependent features (channels, notes, web search, image generation, toggle filters, terminal) appear only when your deployment exposes them.

Built for self-hosted reality

Most mobile clients assume a plain login form. Real deployments rarely look like that.

  • Every auth path Open WebUI offers: username and password, LDAP, manual JWT entry, SSO and OAuth providers.
  • Reverse proxies actually work: oauth2-proxy, Authelia, Authentik, Pangolin, and Cloudflare Tunnel, by capturing the right cookies and session state on-device.
  • Custom headers during setup for environments that require X-API-Key, Authorization, or organization routing headers.
  • Credentials in Keychain or Keystore, never plain-text local storage.
  • Tracks upstream: Conduit supports Open WebUI 0.11.

Getting started

Install from the App Store or Google Play, then pick how you want to connect.

Open WebUI
  1. Launch Conduit and choose Open WebUI.
  2. Enter your instance's base URL.
  3. Add any required custom headers.
  4. Sign in with username and password, LDAP, JWT, SSO, or proxy auth.
  5. Pick a model and start chatting.
Direct connection
  1. Launch Conduit and choose Direct connection.
  2. Add an OpenAI-compatible or Ollama profile with its base URL and any API key or custom headers.
  3. Test the connection, enable it, and select a discovered or manually entered model.
  4. Choose whether new direct chats use Open WebUI history when one is signed in, or stay only on this device. Existing chats keep their current location.
  5. Start chatting. No Open WebUI account required.
Apple On-Device
  1. On an eligible iOS 26 device, launch Conduit and choose Apple On-Device.
  2. Conduit checks Apple Intelligence and local-model availability. No API key or network connection is required.
  3. Start chatting. New Apple-only installations keep Direct history on the device unless you later enable Open WebUI history.
Apple Private Cloud Compute
  1. On an eligible iOS 27 device, launch Conduit and choose Apple Private Cloud Compute.
  2. Conduit checks Apple Intelligence and PCC availability. No API key is required.
  3. Start chatting. New PCC-only installations keep Direct history on the device unless you later enable Open WebUI history.
Hermes Agent
  1. Launch Conduit and choose Hermes Agent.
  2. Enter your Hermes server URL and API_SERVER_KEY.
  3. Optionally set a memory key to scope the agent's long-term memory to you. One is generated automatically on first chat if you leave it blank.
  4. Open the Hermes tab for conversations and scheduled agents.

Privacy

  • Chats, notes, and drafts are stored on your device. Notes and drafts stay available without a connection.
  • Credentials use platform secure storage: Keychain on iOS, Keystore on Android.
  • No third-party analytics or advertising SDKs.
  • Diagnostic logging is local and transient.
  • No developer-operated backend relays your data. Traffic goes from your device to the server or provider you configured, and nowhere else.
  • Signing out lets you choose what stays behind. Clearing everything clears on-device chats too, and fails safely rather than half-deleting.

Full details in PRIVACY_POLICY.md.

Build from source

See docs/BUILDING.md for requirements, submodules, codegen, verification, project layout, and troubleshooting.

git clone --recursive https://github.com/cogwheel0/conduit.git
cd conduit
flutter pub get
dart run build_runner build
flutter run -d ios   # or: flutter run -d android

Clone recursively and run build_runner. The Mermaid renderer is a submodule, and generated Dart files are git-ignored.

Contributing

Conduit is actively developed and feedback is welcome.

Unsolicited pull requests are not the primary contribution path right now. Open an issue or discussion first so changes line up with the roadmap.

Enterprise and white-label

For private distribution, internal deployment support, or a custom enterprise/white-label build, open a discussion or reach the maintainer at cogwheel@cogwheel.app.

Support

If Conduit is useful to you, you can support development through GitHub Sponsors or Buy Me a Coffee.

Acknowledgements

License

Released under the GPL-3.0 License.

Conduit is an independent client and is not affiliated with Open WebUI.

Contributors

cogwheel0

1,446 commits

t0lot

3 commits

larsb24

2 commits

andrewchen

1 commits

Languages

Dart

92.3%

Swift

5.4%

Kotlin

2.2%