Add macOS app bundle packaging, native launcher, and MACOS_APP_PACKAGING guide

This commit is contained in:
Adolfo Reyna
2026-08-08 17:37:52 -04:00
parent 757261ebfd
commit 6e8a578e86
8 changed files with 431 additions and 3 deletions
+52
View File
@@ -0,0 +1,52 @@
"""py2app setup configuration for building VoiceAgent.app."""
from setuptools import setup
APP = ["app_main.py"]
DATA_FILES = [
("swift", ["swift/speech-helper", "swift/llm-helper"]),
]
OPTIONS = {
"argv_emulation": False,
"iconfile": None,
"plist": {
"CFBundleName": "VoiceAgent",
"CFBundleDisplayName": "VoiceAgent",
"CFBundleIdentifier": "com.voiceagent.mac",
"CFBundleVersion": "1.0.0",
"CFBundleShortVersionString": "1.0.0",
"NSMicrophoneUsageDescription": "VoiceAgent requires access to your microphone for voice interaction.",
"NSSpeechRecognitionUsageDescription": "VoiceAgent uses on-device speech recognition to process your spoken input.",
"NSHumanReadableCopyright": "Copyright © 2026 Adolfo Reyna. All rights reserved.",
"LSMinimumSystemVersion": "14.0",
"NSHighResolutionCapable": True,
},
"includes": [
"bot",
"brain",
"voice_manager",
"claude_llm",
"apple_llm",
"apple_stt",
"apple_tts",
"speech_analyzer_stt",
"echo_guard",
"global_hotkey",
"push_to_talk",
"journal",
"memory_tools",
"transcript_repair",
"vocabulary",
"spoken_text",
"sounddevice_transport",
],
}
setup(
app=APP,
name="VoiceAgent",
data_files=DATA_FILES,
options={"py2app": OPTIONS},
setup_requires=["py2app"],
)