Files
fidelity-ai-workspace/apps/mac/AIWorkspace/README.md

2.9 KiB

AI Workspace macOS Menu Bar App

Minimal SwiftUI MenuBarExtra app for controlling local AI Workspace services.

The app is intentionally a thin UI over the service manager. It reads live status from:

python3 scripts/aiw/services.py status --profile fidelity --json

and sends lifecycle actions through scripts/aiw/services.py.

Build

swift build --package-path apps/mac/AIWorkspace

Package as .app

apps/mac/AIWorkspace/scripts/package-app.sh

Install to ~/Applications/AIWorkspace.app:

apps/mac/AIWorkspace/scripts/package-app.sh --install

The script defaults to the per-user install location because this workspace is a developer-local utility and frequent rebuilds should not require sudo. To install system-wide instead, pass an explicit install directory:

INSTALL_DIR=/Applications apps/mac/AIWorkspace/scripts/package-app.sh --install
APP_PATH=/Applications/AIWorkspace.app apps/mac/AIWorkspace/scripts/install-start-at-login.sh

Avoid keeping both ~/Applications/AIWorkspace.app and /Applications/AIWorkspace.app installed unless you are intentionally comparing builds. They share the same bundle identifier (com.aiworkspace.menu) and can confuse LaunchServices, login item registration, and which copy opens at login. If both exist, quit any running AI Workspace instances and remove the stale copy.

Build a DMG

apps/mac/AIWorkspace/scripts/build-dmg.sh

This creates:

apps/mac/AIWorkspace/dist/AIWorkspace.dmg

The DMG contains AIWorkspace.app and an Applications shortcut for drag-and-drop installation.

One-step local install, optionally enabling start at login and opening the app:

apps/mac/AIWorkspace/scripts/install.sh --start-at-login --open

Start at login

Preferred: open the installed app and use the Start at Login toggle in the UI. The app uses macOS SMAppService for login item registration.

Development fallback after installing the app bundle:

apps/mac/AIWorkspace/scripts/install-start-at-login.sh

To remove the login item:

apps/mac/AIWorkspace/scripts/uninstall-start-at-login.sh

Run during development

swift run --package-path apps/mac/AIWorkspace AIWorkspace

Current actions

  • Refresh status
  • Start Fidelity services
  • Stop Fidelity services
  • Restart Context MCP
  • Open Mattermost through the service manager
  • Open Mattermost through the local proxy-managed launcher
  • Run Doctor
  • Copy Doctor JSON
  • Copy Photo Inbox URL
  • Copy recent logs
  • Open MCP Health
  • Open logs folder
  • Open project knowledge

Notes

  • This is not yet packaged as a signed .app bundle.
  • Start at login should be implemented later through a LaunchAgent or app login item.
  • Start at Login is available in the app UI through SMAppService. The LaunchAgent scripts are retained as development fallback utilities.
  • The app should remain a UI layer; service lifecycle remains in scripts/aiw/services.py.