Fix requirements.txt encoding + macOS/Linux compatibility#13
Open
aligulzarvohra wants to merge 5 commits into
Open
Fix requirements.txt encoding + macOS/Linux compatibility#13aligulzarvohra wants to merge 5 commits into
aligulzarvohra wants to merge 5 commits into
Conversation
- Rewrote requirements.txt from UTF-16 to UTF-8 (was unreadable by pip) - Removed Windows-only packages (comtypes, pycaw, win10toast, pywinauto) that caused install failures on macOS/Linux - Added pyproject.toml and uv.lock for reproducible installs via uv - Added .python-version pinning Python 3.12+ (code uses 3.10+ syntax) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lder
Major overhaul personalising Jarvis-MK37 for Ali Ahmad and adding
several new capabilities needed to run reliably on macOS without Homebrew.
Identity & branding
- Rename assistant from Jarvis/Fatih → A.L.I (Autonomous Linked Intelligence)
- Fix long_term.json: stored name was "Sia" → corrected to Ali Ahmad
- All log lines, UI labels, and system prompt updated to A.L.I / Ali
UI (ui.py)
- Full rewrite: fullscreen space-themed HUD (tkinter canvas)
- 280 twinkling stars, 5 nebula clouds, animated orbital rings around centre orb
- Live system stats panel (CPU / memory / disk / network via psutil)
- Conversation log panel with colour-coded entries
- ESC = exit fullscreen, F11 = re-enter, F4 = mute toggle
Wake word (wakeword.py)
- sounddevice-based VAD (no pyaudio / no Homebrew required)
- Calibrates ambient noise threshold on startup (3.5x RMS, min 0.004)
- Background Google Speech Recognition thread
- Writes .wake_signal file when main.py is already running to trigger
passive-mode exit without relaunching a second process
- 1.5s capture window for short phrases ("Ali", "Hey Ali")
Passive mode (main.py)
- After 60s of user silence, mic audio stops being forwarded to Gemini
- Wakes instantly on .wake_signal file or text box input
- Passive state shown in UI status bar
Multi-task queue (main.py + task_queue tool)
- Persistent pending_tasks.json in memory/
- task_queue tool: add / list / done / clear
- System prompt instructs Ali to queue all tasks then execute sequentially
Website builder (actions/website_builder.py)
- Playwright headless browser visits awwwards.com, screenshots gallery
- Gemini Vision analyzes screenshots for design brief (colours, typography,
animations, layout patterns)
- Gemini generates full HTML/CSS/JS with GSAP ScrollTrigger, custom
magnetic cursor, product cards with 3D tilt, grain texture, Google Fonts
- Files written to ~/Desktop/ali_sites/<topic>/
- Local HTTP server + auto-open in browser
- Timestamped build_log.txt; show_build_log tool for progress visibility
- Premium hand-coded fallback template if Gemini output is malformed
Audio improvements (main.py)
- CHUNK_SIZE 1024 -> 4096 to reduce mid-sentence gaps
- Pre-buffer 3 chunks before playback with latency=low
- Fixed dangling set_speaking(True) call in _play_audio loop
macOS compatibility
- Gemini model updated to gemini-2.5-flash-native-audio-latest
- requirements.txt re-encoded UTF-8, Windows-only packages removed
- start.sh: launches wakeword.py in background, traps EXIT to clean up
- Bluetooth / AirPods support added to computer_settings.py
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove memory/long_term.json from tracking (contained private info) - Add .gitignore blocking api_keys.json, memory/*.json, .wake_signal - install_daemon.sh: LaunchAgent so wakeword.py auto-starts at login - website_builder: 6 genuinely different layout variants (cinematic, editorial, brutalist, kinetic, luxury_minimal, immersive_dark) randomly selected per build — ensures every site looks different - Each build saves to timestamped directory so nothing is overwritten - Gemini prompt strictly enforces the chosen layout structure - core/prompt.txt: updated tool routing for new capabilities Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Transforms Jarvis-MK37 into A.L.I — macOS-native voice assistant with space UI, wake word daemon, passive mode, multi-task queue, and award-quality website builder.
Security
memory/long_term.jsonremoved from tracking (contained private session data).gitignoreadded: blocksconfig/api_keys.json,memory/*.json,.wake_signalFeatures
🤖 Generated with Claude Code