Major upgrade: persistent memory, Firefox default, voice config, system control#9
Open
nlaaroussi wants to merge 2 commits into
Open
Major upgrade: persistent memory, Firefox default, voice config, system control#9nlaaroussi wants to merge 2 commits into
nlaaroussi wants to merge 2 commits into
Conversation
…em control Core changes: - Persistent 3-tier conversation memory: per-message SQLite logging, rolling session summaries (every 5 messages), end-of-session Haiku compaction, and cross-session context injected into every LLM call on reconnect - Memory extraction: Haiku extracts facts/preferences/decisions after every exchange and stores them as searchable memories - Edge TTS migration: replaced Fish Audio with edge-tts (free, no API key). Voice defaults to en-GB-RyanNeural - Firefox set as default browser across all browse actions - "pull up" is now a universal Firefox command — any descriptive phrase opens Firefox search; bare app names (1-2 words, no articles) still switch the app - Weather location corrected from St. Petersburg FL to Leicester UK (°C) - Calendar and Mail no longer auto-launch on startup — only used if already open - Model config externalised: JARVIS_FAST_MODEL and JARVIS_SMART_MODEL env vars - Local LLM support via LM Studio (LOCAL_LLM_MODEL) with Anthropic fallback - system_control.py: AppleScript-based macOS system automation (app switching, volume, keyboard shortcuts, window management) - dispatch_registry.py: blueprint column, increased response storage to 10k chars - work_mode.py: Claude Code session timeout raised from 5 to 15 minutes - planner.py: plans serialise to JSON blueprints for sub-agent reading - HANDBOOK.md: operations and configuration guide Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- SIGTERM/SIGINT handlers registered in lifespan — on pkill or Ctrl+C, all active WebSocket sessions generate a Haiku summary and persist to SQLite before the process exits. Previously a hard kill discarded the final session summary. - Global _active_sessions registry tracks live sessions with buffer, client, and rolling summary refs. Deregistered on clean disconnect so the signal handler only touches sessions that didn't close gracefully. - Rolling summary synced to registry after each mid-session compaction. 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
edge-tts(free, no API key required). Default voice:en-GB-RyanNeural. Configurable viaEDGE_TTS_VOICEin.env.[ACTION:BROWSE]actions route to Firefox. Falls back to Chrome only if explicitly requested."pull up [anything]"opens Firefox with a search. Bare app names (1–2 words, no articles) still switch the app. Works for any query: weather, search, research, navigation.JARVIS_FAST_MODELandJARVIS_SMART_MODELenv vars allow model swapping without touching code.LOCAL_LLM_MODEL) with automatic Anthropic fallback.system_control.py— new module for AppleScript-based macOS automation: app switching, volume, keyboard shortcuts, window management..jarvis_blueprint.jsonfor sub-agent consumption.HANDBOOK.md— operations and configuration guide covering all commands,.envvariables, file map, and troubleshooting.Test plan
.enven-GB-RyanNeural"pull up the weather forecast for London"— confirm Firefox opens with weather search"pull up Spotify"— confirm app switches, does not open browser"what's on my calendar today"— confirm works only if Calendar is already opendata/jarvis.dbsessions table for a new summary entryLOCAL_LLM_MODELfallback by stopping LM Studio mid-session🤖 Generated with Claude Code