SNAPSHOT 2026-05-28·BUILD 0c187d0b·ENV public-demo·CC-BY 4.0·v0.1.0

doriiOS Tauri Desktop Lane

The macOS lane packages doriiOS as an Apple Silicon DMG for local aquatic research workstations. The app bundles a production Next.js runtime, starts it on localhost, and opens the Tauri webview at /?desktop=1.

Commands

npm run desktop:dev
npm run desktop:fmt
npm run desktop:check
npm run build:desktop
npm run desktop:smoke
npm run desktop:package
npm run desktop:notary:store
npm run desktop:notarize

desktop:package builds the app, signs with the configured Developer ID identity when APPLE_SIGNING_IDENTITY is set, creates the DMG, and prints the artifact path under src-tauri/target/release/bundle/dmg/.

Runtime Boundary

  • DORIIOS_DEPLOYMENT_PROFILE=desktop-local
  • Local server supervised by Rust on 127.0.0.1
  • App data root defaults to macOS Application Support
  • Static bootstrap remains only as a startup/status fallback
  • Public Vercel settings, fixture agents, and bundled demo data stay separate

Agent Providers

Desktop v1 exposes only:

  • Codex CLI: no credentials stored by doriiOS. Install and sign in to the Codex

CLI, then leave the provider set to codex.

  • OpenRouter: paste an API key in the desktop settings panel. The key is written

to macOS Keychain; desktop-settings.json stores only provider, model, CLI path, and data-root preferences.

The desktop release gate rejects any other provider in desktop settings.

Rust Commands Exposed To The UI

  • get_desktop_agent_status: provider, readiness, model, CLI/key status,

runtime URL, data root, and settings path.

  • save_desktop_agent_settings: provider/model/data root/Codex path plus an

optional OpenRouter Keychain write.

  • restart_desktop_runtime: restarts the supervised localhost runtime after

provider or path changes.

  • select_data_root: opens a macOS folder picker and returns the selected path.
  • open_data_root: creates and opens the active data root.

Developer ID Signing And Notarization

This repo expects the Humyn LLC Developer ID team when producing public desktop artifacts:

export APPLE_SIGNING_IDENTITY="3AF8D8003F783DA86164B4ADDC0274167E04859B"
npm run desktop:package

Store notarization credentials once in macOS Keychain. Apple prompts for the Apple ID and app-specific password; do not commit or paste those secrets into repo files.

npm run desktop:notary:store

After the Keychain profile exists, submit the signed DMG, wait for Apple, staple the ticket, and validate the stapled artifact:

npm run desktop:notarize

The default notary profile is doriiOS-notarytool. Override it with DORIIOS_NOTARY_PROFILE if needed.

DMG Install

  1. Build with npm run desktop:package.
  2. Notarize with npm run desktop:notarize for public distribution.
  3. Open the printed .dmg.
  4. Drag doriiOS.app to Applications.
  5. On an unnotarized local build, first launch may require right-click Open.
  6. Select Codex CLI or OpenRouter in the desktop panel.

No deploy, push, paid service setup, or third-party mutation is part of the local release gate.