2.2 KiB
2.2 KiB
AI Workspace Menu Bar App Design
Goal
Provide a small native macOS control surface for the AI Workspace Service Manager.
The app should not reimplement service logic. It should call the service manager/daemon API or CLI and display status, actions, and diagnostics.
Recommended Shape
- SwiftUI
MenuBarExtraapp. - Local-only, no cloud dependency.
- Start at login optional through
LaunchAgentlater. - Read-only status by default; explicit user actions for start/stop/restart.
Initial UI
AI Workspace ▾
Profile: Fidelity
Services
✓ Context MCP Running
✓ Mattermost Proxy Running
✓ Mattermost Desktop Launched
✓ Photo Inbox Running
Actions
Start Fidelity
Stop Fidelity
Restart Context MCP
Open Mattermost
Open Photo Inbox Folder
Copy Photo Inbox Upload URL
Open Project Knowledge
Open Logs
Diagnostics
Run Doctor
Copy Doctor JSON
Show Recent Errors
Settings
Start at Login
Open Config Folder
Backend Contract
The first version can shell out to:
python3 scripts/aiw/services.py status --profile fidelity
python3 scripts/aiw/services.py doctor --profile fidelity --json
python3 scripts/aiw/services.py start --profile fidelity
python3 scripts/aiw/services.py stop --profile fidelity
python3 scripts/aiw/services.py restart aiw-context-mcp --profile fidelity
Longer term, prefer a small local daemon HTTP/Unix-socket API so the UI does not parse terminal text except doctor --json.
Production-Ready Rules
- Do not store secrets in the app bundle.
- Do not expose services beyond localhost unless explicitly configured.
- Show whether a process is managed or externally running.
- Surface missing dependencies from doctor checks.
- Never let the app promote project memory automatically.
- Keep capture services and context MCP separate; the app only orchestrates lifecycle.
Implementation Phases
- CLI-backed SwiftUI menu bar app using
doctor --jsonfor status. - Add profile selector and service action buttons.
- Add LaunchAgent support for start at login.
- Replace shell parsing with a daemon API if daily use proves stable.