Repository navigation
Add Voice Assistant plugin - #515
Merged
ggbond268 merged 89 commits intoNov 2, 2026
Merged
Conversation
This was referenced Oct 31, 2026
xcv58
marked this pull request as ready for review
October 31, 2026 22:44
This was referenced Nov 1, 2026
5 tasks done
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.
Problem and result
Add an optional Voice Assistant plugin for controlling enabled MacTools features through a spoken conversation. A global shortcut opens a compact floating panel and starts listening; the same shortcut stops and dismisses it. Stop ends audio while keeping the panel visible, and the panel can expand for longer conversations.
This PR includes the voice runtime, floating interface, setup, and fresh state adapters needed for the complete feature. Host capability discovery, session grants, application launching, and native confirmations already landed in #513.
Changes
voice-controlidentifiers/preferences/shortcuts, declare minimum host 2.2.1, include third-party notices, and regenerate plugin inventories and website data.Review fixes
Verification
9fbc02f5f5e57294fc65cc803c6475347d61ea4f, based on upstream main192e93e564cb360c313fc725bef9effb5768c237.make cipassed at979053d7: 3,147 native tests passed, six skipped; all 245 script tests and frozen PluginKit v7 binary compatibility passed. Seven focused regressions cover capture/converter mute safety, buffered input invalidation, old-session failure isolation, policy cancellation, and Shade observation ordering.git diff --checkpasses. The complete diff has 77 files, 13,614 additions and 28 deletions; most added lines are localization and generated metadata. There are no additional host Core/App or PluginKit source changes.UI evidence
Entry point: enable Voice Assistant in Marketplace, save a personal API key in its settings, then invoke its action or an assigned global shortcut. The floating panel provides input/output captions and levels, mute, Stop, settings, allowed features, and expand/dismiss controls.
Settings — light and dark
Native Retina captures from the compact settings plugin at
9fbc02f5, using an isolated first-use profile with no API key and microphone permission ungranted. No audio or API request was needed for these stills. The profile contains only Voice Assistant plus the host's built-in capabilities, so its feature count differs from the fully configured live demo.First-use connection and microphone setup
Live demo — 2:30
MacTools-Voice-Assistant-PR-1080.mp4
AI-generated command prompts are played from an iPhone; MacTools actions and assistant replies are live. The recording preserves action/response timing within each section. It demonstrates:
The GitHub attachment is a size-limited copy of the approved recording. Native Retina source footage and full-quality sharing exports are retained separately.
Checklist
The provider adapters are included here, superseding xcv58#6.