Local AI Cat module
Global Transcription (menu bar)
Current shipping, testing, and product context for this part of Local AI Cat.
Status
Where it stands
- Platforms
- macOS
- Release channels
- Alpha · Beta · Main
- Distribution
- Indoor · Outdoor
- AlphamacOS
- BetamacOS
- Outdoor · Direct downloadmacOS
- Indoor · App StoremacOS
Description
What it does
macOS only. FeatureGlobalTranscription owns GlobalTranscriptionService session state and public lifecycle, queue/orchestration policy, GlobalTranscriptionFeatureController/LaunchParticipant, the live .menuBar contribution and detailed engine/background controls, TranscriptionWindowManager plus loading/recording/status views, and FeatureAutoPaste completion orchestration. The package participant, contribution factory, service, and window manager are the sole live owners; the former app service/window/menu paths are removed. The app injects Whisper/audio/history runtime effects, Carbon/NSEvent hotkey registration, CGWindow active-window capture, TCC permission checks/requests, one NSPanel host, and clipboard/CGEvent/notification paste effects. APPLE PERMISSION DIFFERENCE: Outdoor uses an NSEvent global monitor for a configurable modifier-only hotkey (default Right ⌘), gated on Accessibility (AXIsProcessTrusted); Indoor uses Carbon RegisterEventHotKey for a fixed ⌃⌥Space with no special permission. Screen Recording remains required for active-window title routing. PENDING: hotkey, menu-bar, panel, permission, active-window capture, and paste verification in a real macOS session.
Headless Local API
Drive it over the loopback API
Logging / observability: provisional grade L0 — structured=0 print=7 sentry=0.
- discover
- present
- execute
- present
- observe
- present
- configure
- partial
- cancel/stop
- present
- reset
- not applicable
No Local API operation paths are matched to this module yet.
Media
See it in action
Backlog / improvements
What comes next
No improvements are listed for this module yet.
History
How it got here
No change history has been published for this module yet.

