SkillAgentSearch skills...

Oval

No description available

Install / Use

/learn @shreyaspapi/Oval
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center">

Oval

A native macOS client for Open WebUI. Chat with your self-hosted AI — right from your Mac.

Downloads Latest Release License Platform

Download · Report Bug · Request Feature

<br>

Oval Demo

</div>

Features

Core

  • Real-time streaming chat with full markdown rendering (headings, bold, italic, code blocks with syntax highlighting and copy)
  • Model selection from all models on your Open WebUI server
  • Conversation management — search, time-grouped sidebar (Today / Yesterday / Previous 7 Days / etc.)
  • Chat persistence — conversations saved to your server, synced with the web UI
  • Auto-generated titles for new conversations
  • Multi-server support — add, switch, and manage multiple Open WebUI servers

Quick Chat

  • Global hotkey (Ctrl+Shift+Space) — Spotlight-style floating chat window, always accessible
  • Paste to chat (Ctrl+Shift+V) — paste clipboard content into a new quick chat
  • Compact input mode that expands into a full conversation view

Attachments & Input

  • File and image attachments — drag & drop, Cmd+V paste, or file picker
  • Web search toggle for retrieval-augmented generation
  • Voice input with on-device speech-to-text (Apple Speech framework)

Voice Mode

  • Floating voice window — ChatGPT-style compact window, draggable, stays on top
  • Text-to-speech — native macOS TTS for assistant responses
  • Chat play button — hear any assistant message read aloud
  • Instant stop — TTS stops mid-sentence when you hit stop

macOS Integration

  • Light and dark mode matching Open WebUI's design system
  • Liquid Glass UI effects (macOS Tahoe)
  • Always on top mode
  • Launch at login
  • Menu bar icon with quick access
  • Esc to close windows
  • Keyboard shortcuts throughout (Cmd+N, Cmd+F, Cmd+Shift+C, etc.)

Screenshots

| Login | Sidebar & Conversations | |:---:|:---:| | Login | Sidebar |

| Chat with Markdown & Code | Quick Chat (Ctrl+Shift+Space) | |:---:|:---:| | Chat | Quick Chat |

| Voice Mode | |:---:| | Voice Mode |

Requirements

  • macOS 26.0 (Tahoe) or later
  • An existing Open WebUI server
  • Oval does not host or provide AI models — it connects to your server

Installation

Download

Download the latest .dmg from the Releases page, open it, and drag Oval to your Applications folder.

The app is signed with Developer ID and notarized by Apple. It should open without any Gatekeeper warnings.

Mac App Store

<!-- [Download on the Mac App Store](https://apps.apple.com/app/oval-for-open-webui/idXXXXXXXXXX) -->

Coming soon.

Build from Source

  1. Clone the repository:
git clone https://github.com/shreyaspapi/Oval.git
cd Oval
  1. Open in Xcode:
open OpenwebUI/OpenwebUI.xcodeproj
  1. Select the OpenwebUI scheme, set your signing team, and build (Cmd+B).

  2. Run (Cmd+R).

Note: Requires Xcode 26.2+ with the macOS 26 SDK.

Keyboard Shortcuts

| Shortcut | Action | |---|---| | Ctrl+Shift+Space | Toggle Quick Chat | | Ctrl+Option+Space | Toggle main window | | Ctrl+Shift+V | Paste clipboard into new Quick Chat | | Cmd+N | New conversation | | Cmd+F | Search conversations | | Cmd+Shift+C | Copy last assistant response | | Cmd+Option+T | Toggle always on top | | Cmd+, | Settings | | Esc | Close window |

Architecture

Native SwiftUI app with macOS native TTS for voice playback.

OpenwebUI/
├── OpenwebUIApp.swift          # App entry point, window & menu config
├── ContentView.swift           # Root router (loading → connect → chat)
├── Models/
│   └── DataModels.swift        # All data models
├── Services/
│   ├── AppState.swift          # Main app state (@Observable)
│   ├── OpenWebUIClient.swift   # HTTP client (auth, models, chats, streaming)
│   ├── ConfigManager.swift     # Disk persistence for server configs
│   ├── VoiceModeManager.swift       # Voice conversation pipeline
│   ├── VoiceModeWindowManager.swift # Floating NSPanel for voice mode
│   ├── TTSManager.swift        # TTS playback (native macOS)
│   ├── SpeechManager.swift     # On-device speech-to-text (Apple Speech)
│   ├── HotkeyManager.swift     # Global keyboard shortcuts (CGEvent tap)
│   ├── MiniChatWindowManager.swift  # Floating NSPanel for Quick Chat
│   ├── LaunchAtLoginManager.swift   # SMAppService wrapper
│   ├── TrayManager.swift       # Menu bar status item
│   └── NotificationManager.swift
├── Theme/
│   └── AppColors.swift         # Adaptive color system (light/dark)
└── Views/
    ├── Chat/                   # Main chat UI
    │   ├── ChatView.swift      # Layout (ServerRail | Sidebar | Detail)
    │   ├── ChatAreaView.swift  # Messages + input + drag/drop
    │   ├── ChatInputView.swift # Input bar with attachments, mic, web search
    │   ├── VoiceModeView.swift # Voice conversation UI (floating window)
    │   ├── MiniChatView.swift  # Quick Chat UI
    │   ├── MessageBubbleView.swift
    │   ├── MarkdownTextView.swift
    │   └── ...
    ├── InstallationView.swift  # Login/connect screen
    └── Controls/
        └── VoiceModelSettingsView.swift  # Voice model download & selection

Security & Privacy

  • No data collection — no analytics, no telemetry, no tracking
  • All network traffic goes directly between your Mac and your Open WebUI server
  • Credentials stored locally in the app's sandboxed container
  • Voice TTS uses macOS native speech synthesis

See PRIVACY_POLICY.md for the full privacy policy.

Contributing

Contributions are welcome! Here's how to help:

License

This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.

Disclaimer

Oval is an independent, third-party application and is not officially affiliated with the Open WebUI project.

Support

Oval is free and open source. If you find it useful, consider supporting development:

<a href="https://buymeacoffee.com/shreyaspapi"><img src="https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black" alt="Buy Me a Coffee"></a> <a href="https://github.com/sponsors/shreyaspapi"><img src="https://img.shields.io/badge/GitHub%20Sponsors-ea4aaa?style=for-the-badge&logo=githubsponsors&logoColor=white" alt="GitHub Sponsors"></a>

Sponsors

Thank you to everyone who sponsors this project:

<!-- SPONSORS:START - Do not remove or modify this section --> <!-- This section is automatically updated -->

Become the first sponsor! GitHub Sponsors or Buy Me a Coffee

<!-- SPONSORS:END -->

Acknowledgments

  • Open WebUI team for creating an amazing self-hosted AI interface
  • Apple for SwiftUI and the macOS platform

Related Skills

View on GitHub
GitHub Stars34
CategoryDevelopment
Updated1d ago
Forks0

Languages

Swift

Security Score

70/100

Audited on Mar 30, 2026

No findings