Skip to content

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.

FeaturePluginDescription
Auto-updatetauri-plugin-updaterUpdates via GitHub Releases
Notificationstauri-plugin-notificationNative OS notifications
Global shortcutstauri-plugin-global-shortcutSystem-wide keyboard shortcuts
Deep linkstauri-plugin-deep-linkopenmotoko:// URL scheme
Autostarttauri-plugin-autostartLaunch at login
System trayBuilt-inTray icon with Show/Quit menu
Shell accesstauri-plugin-shellLocal command execution
Dialogstauri-plugin-dialogNative file/save dialogs
PropertyValue
Default size1200 x 800
Minimum size800 x 600
FramelessYes (custom title bar)
PositionCentered
ai.openmotoko.desktop
  • Rust toolchain (rustup)
  • Node.js 24+
  • pnpm 10+
  • Platform-specific deps (see Tauri prerequisites)
Terminal window
cd packages/desktop
pnpm install
pnpm tauri build

The built app appears in packages/desktop/src-tauri/target/release/bundle/.

Terminal window
pnpm tauri dev

This starts both the Vite dev server and the Tauri window with hot reload.

  • Bundle format: .dmg and .app
  • Minimum version: macOS 10.15 (Catalina)
  • Autostart via LaunchAgent
  • Notarization supported
  • Bundle format: NSIS installer (per-machine)
  • Deep link registration in the Windows registry
  • Bundle format: .deb, .AppImage
  • Tray icon via system tray protocol

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:

  1. App queries the GitHub Releases API
  2. If a newer version exists, a notification appears
  3. User confirms the update
  4. The app downloads and installs the update
  5. Restart to apply

The openmotoko:// URL scheme allows other apps to open OpenMotoko directly:

openmotoko://chat?message=Hello
openmotoko://settings