The menu bar is a native macOS control surface for Eyra. The guided installer builds and installs Eyra.app under ~/.local/share/eyra/ when the bundle can be prepared. Open it:
eyra menu
Check the menu state without launching it:
eyra menu --json --check
The JSON response includes mode, swiftRequired, swiftAvailable, and fallbackCommand. There are three states:
  • Normal install: eyra menu opens the installed app bundle.
  • Source checkout: eyra menu can run the SwiftPM developer path when Swift/Xcode command-line tools are installed.
  • Fallback: eyra open opens the local Web control UI.
Build the app bundle from source:
scripts/build_menu_bar_app.sh
eyra menu
The menu bar can:
  • Show whether Eyra’s local control service is running.
  • Start, stop, or restart the local control service.
  • Open the Web UI.
  • Run Doctor.
  • Open guided setup in Terminal.
  • Open logs and docs.
  • Toggle simple voice and privacy settings.
  • Toggle memory and memory auto-save.
  • Open or reload the compact memory and instruction files.
  • Show whether the local model and voice path need attention.
It does not replace Eyra’s safety system. Network tools, Mac control tools, connectors, Realtime voice, MCP, and external agents stay off until you enable them. Risky actions still go through Eyra’s policy and approval gates.

Status

The menu shows plain-language status:
  • Local model ready or Local model needs setup
  • Voice: Ready, Voice: Partly ready, Voice: Needs attention, or Voice: Off
  • Web control running or Web control stopped
  • A privacy line that says whether data leaves your Mac by default
If the local model needs setup, choose Open setup in Terminal or run:
eyra setup
If voice needs attention, choose Run Doctor or run:
eyra doctor

Simple Settings

The menu bar exposes front-door settings only:
  • Voice input
  • Speech output
  • Network tools
  • Mac control tools
  • Connectors
  • Memory
  • Memory auto-save
  • Realtime voice
Advanced settings still exist in the terminal and docs. Use:
eyra settings
eyra settings --json
eyra settings get MODEL
eyra settings set LIVE_SPEECH_ENABLED false
Secret values are never shown by the menu bar or eyra settings.

Control Service

The menu bar controls Eyra through stable local commands:
eyra status --json
eyra settings --json
eyra start
eyra stop
eyra restart
eyra open
eyra logs
eyra start starts the local Web control service on localhost. Non-health Web endpoints still require a token.

Limits

The current menu bar app is a native SwiftUI menu-bar control surface. It does not install a privileged helper, does not require sudo, does not publish anything, and does not enable optional tools by itself. The local bundle is ad-hoc signed when codesign is available. It is not notarized in this release line.