How hd838a/remote-mic-app works
SayAll is a macOS menu-bar app that turns supported Bluetooth voice remotes into voice-input and Mac-control devices. The main user flow is remote input → voice/audio handling or mapped action → the active app; optional local transcript history can be read by authorized AI clients over stdio MCP. The README documents additional capabilities whose wiring is not shown in the sampled source, so those links are limited to documented relationships.
Main entry points: SayAllMCPService.swift MCP Service · RemoteButtonGestureRecognizer.swift Gesture Recognition · SettingsView.swift Settings UI · HIDRemoteMonitor.swift HID Monitor
Components 26
Mac App
- Settings UI
Sources/RemoteMic/SettingsView.swift - App Model
Sources/RemoteMic/BridgeAppModel.swift - App Shell
Sources/RemoteMic/RemoteMicRootView.swift
Remote Input
- HID Monitor
Sources/RemoteMic/HIDRemoteMonitor.swift - Input Scheduler
Sources/RemoteMic/HIDRemoteScheduler.swift - Gesture Recognition
Sources/RemoteMic/RemoteButtonGestureRecognizer.swift - Button Mapping
Sources/RemoteMic/RemoteButtons.swift - Voice Key Mode
Sources/RemoteMic/RemoteVoiceFunctionMapper.swift
Voice Audio
- Apple Audio Client
Sources/RemoteMic/AppleRemoteAudioClient.swift - Audio Capture Helper
Sources/AppleRemoteAudioCapture/main.swift - Voice Packet Parser
Sources/AppleRemoteAudioCore/AppleRemoteXPCVoiceParser.swift - Voice Session
Sources/RemoteMic/VoiceFnTapSessionController.swift - Audio Output
Sources/RemoteMic/AudioOutput.swift
Local History
- Transcript Capture
Sources/RemoteMic/TranscriptCaptureCoordinator.swift - Transcript Archive
Sources/RemoteMic/TranscriptArchiveStore.swift - Agent Access UI
Sources/RemoteMic/TranscriptAgentAccessModel.swift - Client Integration
Sources/RemoteMic/MCPClientIntegrationService.swift - MCP Helper
Sources/SayAllMCP/main.swift - MCP Service
Sources/SayAllMCPKit/SayAllMCPService.swift - Authorization Store
Sources/SayAllMCPKit/SayAllMCPAuthorizationStore.swift - History Query Store
Sources/SayAllMCPKit/SayAllMCPHistoryStore.swift - Audit Log
Sources/SayAllMCPKit/SayAllMCPAuditLog.swift
Other components
- User
- Active Mac App
- Bluetooth Remote
- AI Client
Connections 24
- User → Settings UI: configures
- Settings UI → App Model: updates settings
- User → Bluetooth Remote: presses
- Bluetooth Remote → HID Monitor: sends HID events
- HID Monitor → Input Scheduler: dispatches events
- Input Scheduler → Gesture Recognition: recognizes presses
- Gesture Recognition → Button Mapping: resolves actions
- Button Mapping → Active Mac App: performs mapped action
- Gesture Recognition → Voice Key Mode: routes voice key
- Voice Key Mode → Voice Session: starts or ends
- Apple Audio Client → Audio Capture Helper: controls capture
- Audio Capture Helper → Voice Packet Parser: feeds packets
- Voice Session → Audio Output: enqueues audio
- Audio Output → Active Mac App: provides microphone input
- Transcript Capture → Transcript Archive: saves records
- User → Agent Access UI: authorizes clients
- Agent Access UI → Authorization Store: manages access
- Client Integration → AI Client: configures client
- AI Client → MCP Helper: connects over stdio
- MCP Helper → MCP Service: dispatches requests
- MCP Service → Authorization Store: checks access
- MCP Service → History Query Store: queries history
- MCP Service → Audit Log: records requests
- History Query Store → Transcript Archive: reads records