In May 2026, Google DeepMind announced Magic Pointer: turning the mouse cursor into an AI interface that understands "this" and "that" through Gemini, by capturing the visual context around the pointer (press coverage, MarkTechPost).
This repo is a homemade implementation of the same concept, running entirely on macOS, powered by Mistral instead of Gemini:
Hold Command, draw a red trail with your mouse to point at an area of the screen while speaking, release: the screenshot (with the trail) and your voice transcript are sent to the Mistral API, and the answer streams into a floating bubble that follows your cursor.
Everything runs locally on the Mac — only the Mistral API calls leave the machine (no telemetry, no proprietary cloud).
- Hold Command → a red trail appears, draw over the area you care about while speaking.
- Release → the screenshot (with the trail) and the audio are sent to
Mistral:
voxtral-mini-latestfor transcription,mistral-medium-3.5for vision analysis. - A floating bubble (native macOS vibrancy blur, rounded corners) appears
near the cursor with an iMessage-style typing animation while waiting,
then displays the answer streaming as it's generated, with basic
markdown rendering (
**bold**,`code`). - The bubble follows the cursor in real time (60 Hz), stays visible across Spaces and full-screen apps, and dismisses itself automatically a few seconds after the answer finishes.
- A real keyboard shortcut (
Cmd+C,Cmd+Tab,Cmd+click...) while Command is held cancels the capture — only holding Command alone triggers the gesture.
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
cp .env.example .env
# then edit .env and set MISTRAL_API_KEY=your_keyGrant these (System Settings > Privacy & Security) to the Python binary running the script:
- Accessibility — to detect the global Command hold
- Screen Recording — for the screenshot capture
- Microphone — for voice input
./venv/bin/python main.pyThen: hold Command, draw, speak, release.
magic_pointer/hotkey.py— Command-alone hold detection (CGEventTap), cancels on a real shortcutmagic_pointer/overlay.py— transparent window + red mouse trailmagic_pointer/audio_capture.py— microphone recordingmagic_pointer/screen_capture.py— full-screen capturemagic_pointer/mistral_client.py— Mistral API calls (transcription + streaming vision)magic_pointer/result_panel.py— floating bubble (vibrancy blur, cursor follow, typing animation, markdown)magic_pointer/display.py— background-thread → bubble bridge (thread-safe viaAppHelper.callAfter)main.py— orchestrator
- Only one screen is handled (the one under the cursor at hold time)
- No automated action execution (click, typing...) — only a displayed answer
- Markdown rendering limited to
**bold**and`code`