Desktop App
OpenMotoko ships a native desktop app built with Tauri 2. It wraps the web UI in a native window with system integration features.
Features
Section titled “Features”| Feature | Plugin | Description |
|---|---|---|
| Auto-update | tauri-plugin-updater | Updates via GitHub Releases |
| Notifications | tauri-plugin-notification | Native OS notifications |
| Global shortcuts | tauri-plugin-global-shortcut | System-wide keyboard shortcuts |
| Deep links | tauri-plugin-deep-link | openmotoko:// URL scheme |
| Autostart | tauri-plugin-autostart | Launch at login |
| System tray | Built-in | Tray icon with Show/Quit menu |
| Shell access | tauri-plugin-shell | Local command execution |
| Dialogs | tauri-plugin-dialog | Native file/save dialogs |
Window configuration
Section titled “Window configuration”| Property | Value |
|---|---|
| Default size | 1200 x 800 |
| Minimum size | 800 x 600 |
| Frameless | Yes (custom title bar) |
| Position | Centered |
App identifier
Section titled “App identifier”ai.openmotoko.desktopBuilding from source
Section titled “Building from source”Prerequisites
Section titled “Prerequisites”- Rust toolchain (rustup)
- Node.js 24+
- pnpm 10+
- Platform-specific deps (see Tauri prerequisites)
cd packages/desktoppnpm installpnpm tauri buildThe built app appears in packages/desktop/src-tauri/target/release/bundle/.
Development
Section titled “Development”pnpm tauri devThis starts both the Vite dev server and the Tauri window with hot reload.
Platform notes
Section titled “Platform notes”- Bundle format:
.dmgand.app - Minimum version: macOS 10.15 (Catalina)
- Autostart via LaunchAgent
- Notarization supported
Windows
Section titled “Windows”- Bundle format: NSIS installer (per-machine)
- Deep link registration in the Windows registry
- Bundle format:
.deb,.AppImage - Tray icon via system tray protocol
Auto-update
Section titled “Auto-update”Updates are distributed via GitHub Releases. The app checks for updates on startup and notifies the user when a new version is available.
The update flow:
- App queries the GitHub Releases API
- If a newer version exists, a notification appears
- User confirms the update
- The app downloads and installs the update
- Restart to apply
Deep links
Section titled “Deep links”The openmotoko:// URL scheme allows other apps to open OpenMotoko directly:
openmotoko://chat?message=Helloopenmotoko://settings