
Discover macos products found across trusted public sources.
macOS is built for trackpads - external mice feel choppy and inconsistent by default. AirScroll fixes that with intelligent smoothing and acceleration control, making any mouse scroll as naturally as a trackpad. Ultra-lightweight with minimal battery and memory impact.

Local Motion Local Motion turns a local coding agent on and off for VS Code and Cursor. It chooses a compatible local model for your Mac, loads it when you need it, and frees the memory when you do not. What It Does Gives you one local-agent switch: turn on, connect Cursor, free memory. Chooses a compatible local coding model for this Mac. Reuses the installed model when possible, so turning it on again is quick. Keeps every downloaded model on disk and switches between them on demand, so you can run a maximum-size model normally and a lighter one when the Mac is busy. Connects Cursor automatically when running inside Cursor — model stays on this Mac, Cursor relays chats through its servers — without writing Cursor private state. Frees the loaded model from memory immediately when you are done. Keeps the runtime bound to 127.0.0.1. Under The Hood Profiles your Mac for architecture, memory, and model storage space. Sizes the model memory budget at 80% of unified memory, pegged to the Apple Silicon Metal wired-memory limit (the real ceiling for GPU-resident GGUF weights), and estimates load cost at 1.1x file size plus explicit KV-cache and server overheads. Fits the context window to the machine: the localMotion.contextTokens setting is a ceiling, and every model start uses the largest context the memory budget affords under it. Never blocks a start on current free memory. macOS reclaims cache and compresses idle apps on demand, and Local Motion reports an honest out-of-memory explanation if llama-server genuinely cannot load. Searches Hugging Face GGUF repositories and ranks compatible quantizations only when setup or advanced model controls need them. Downloads model files with resumable streaming. Finds or installs llama-server through Homebrew. Starts llama-server and a stable loopback OpenAI-compatible proxy. Connect Cursor to Local Agent starts the tunnel that makes the proxy reachable by Cursor's backend. In real VS Code no tunnel starts and the vscode.lm path stays fully local. Registers the running model with the VS Code Language Model API, with the provider's manage action opening the local-agent switch. Requirements macOS. VS Code or Cursor compatible with VS Code ^1.105.0. Homebrew, when llama-server is not already available on PATH, /opt/homebrew/bin, or /usr/local/bin; Local Motion uses it to install llama.cpp. Enough free disk and unified memory for the selected GGUF file. Localhost port 41434 available for the Cursor-facing proxy, or set localMotion.proxyPort to another port. If the preferred port is occupied, Local Motion falls back to an ephemeral port and shows updated setup values. cloudflared for the Cursor connection; when you connect Cursor, Local Motion installs it through Homebrew on demand, or set localMotion.cursorTunnelUrl to a public HTTPS tunnel URL you manage. Setup Install Local Motion. Local Motion opens the local-agent switch once on first startup. Click Turn On Local Agent. The setup panel also exposes advanced model controls, but the default path does not require choosing a repository, model size, or quantization. When a local model is already running, Local Motion: Connect Cursor to Local Agent runs the Cursor handoff directly from the command palette. If a size-valid installed model is stopped, the command starts it first; then it verifies the endpoint, copies the setup block, and opens Cursor Models settings. Turn On Local Agent may install llama.cpp through Homebrew and download the best compatible GGUF quantizations for this Mac. The default setup is a two-model pack: Max: Qwen3-Coder-30B-A3B and Mini: Gemma 4 26B A4B. Local Motion preinstalls both when they fit, then starts the selected model. It does not silently downgrade the one-click setup to older Qwen2.5 models; choose those explicitly from Advanced when needed. Set localMotion.runAutomagicalSetupOnFirstStartup to true only if you want that install/download to start automatically on first startup. The ladder is maintained from a live ranking; see README/Notes/model-selection.md and npm run models:check / npm run models:refresh. If setup fails or is cancelled, run Local Motion: Repair Local Agent. Run Local Motion: Free Memory to unload the local model immediately. Switching Models The setup panel shows Max and Mini as first-class choices with their selected quantization, download size, and estimated runtime memory. Select either model and use the main button to start, switch, or install the pack if it is not downloaded yet. The current model stops, the selected one starts, and it becomes the model that Turn On Local Agent starts next time. Max and Mini are replaceable slots. Paste a Hugging Face GGUF repository into either row and click Replace; Local Motion validates the best compatible Q4+ quantization, downloads it into that slot, and restarts the model only when that slot was already running. Run Local Motion: Diagnose Setup for a read-only status check of the installed model file, local runtime, proxy verification, copied Cursor values, and the remaining Cursor picker verification step. After Cursor setup succeeds once, Local Motion can restart the installed model automatically on future editor startups without downloading a new model, opening the setup panel, opening Cursor settings, or replacing the clipboard. The Cursor tunnel still starts only when you run Connect Cursor to Local Agent. Tunnel URLs can rotate across handoffs, so the setup panel marks previously copied Cursor values stale when the active Base URL changes. Disable localMotion.resumeAutomagicalSetupOnStartup to turn automatic local model restart off. For advanced manual control: Load a Hugging Face GGUF repository. Pick a quantization marked Compatible. Click Install and Turn On; Local Motion installs the quantization and starts the local model. Use Connect Cursor to Local Agent when you want Cursor chat to use it. Connect Cursor to Local Agent verifies GET /v1/models through the Cursor-facing tunnel with the current session key, copies the full setup block, opens Cursor Settings (in plain VS Code, the filtered settings editor instead), and leaves one-click copy controls visible for: OpenAI API Key: the current session key Override OpenAI Base URL: the active public Cursor tunnel Base URL Add Custom Model: the active Local Motion model ID Full setup block In Cursor's API Keys section, turn on OpenAI API Key after pasting the session key. A saved key with that provider toggle off makes Cursor reject the selected custom model before it sends any request. See the custom-model validation debugging guide. Cursor Coverage Cursor does not expose a stable extension API for mutating its native model picker or private settings. Local Motion deliberately does not write Cursor SQLite databases, secure storage, settings.json, or other private application state. Known Cursor limit (confirmed 2026-07-01): Cursor routes every custom-model request through its own cloud backend, which refuses private addresses with Provider returned error: Access to private networks is forbidden. A http://127.0.0.1:41434/v1 Base URL therefore cannot work in Cursor's native chat, in any build. The proven workaround is a public HTTPS tunnel (cloudflared or ngrok) in front of the Local Motion proxy — with the tradeoff that prompts then transit Cursor's backend and the tunnel, so the Cursor path is "local compute", not "fully private". Anyone with the tunnel URL and current session key can reach the proxy while the tunnel is up, and Cursor's Zero Data Retention does not apply to custom keys. Full failure analysis, fix matrix, and setup steps: Cursor private-network block guide. The fully local path (vscode.lm provider) works in real VS Code only; Cursor does not implement the VS Code Language Model API. Cursor's OpenAI Base URL override is global in Cursor settings and may not apply to every Cursor surface. Custom API keys officially power chat models only — Tab autocomplete, Apply, and Auto never use the custom endpoint, and Agent mode is best-effort. Treat setup as proven only for the Cursor surface you manually test, such as Cmd+L chat. Do not assume Agent, Composer, Inline Edit, or Tab autocomplete use the tunnel until verified in your Cursor build. Local Motion keeps the loopback proxy stable by preferring http://127.0.0.1:41434/v1, but Cursor must use the active public tunnel Base URL shown by Connect Cursor to Local Agent. If that URL changes, the setup panel marks previously copied Cursor values stale and offers Copy Updated Setup. Privacy Local Motion binds its runtime services to 127.0.0.1. Model files are stored in the extension global storage directory, outside the workspace. VS Code Language Model API requests stay on loopback. Cursor requests use local compute but transit Cursor's backend and the configured tunnel before reaching the Local Motion proxy. Requests sent to the proxy are sanitized before forwarding to llama-server. Development npm install npm run check npm run lint npm test npm run package The CI GitHub Actions workflow runs the same deterministic gate on pull requests and pushes: install, typecheck, lint, test, and package. Optional local runtime smoke proof: npm run smoke:local-runtime This downloads the default compatible GGUF when it is not already cached, starts llama-server, verifies the Cursor-facing proxy, and sends one local chat completion. Open this folder in VS Code or Cursor, run the Extension Development Host, and execute Local Motion: Open Local Agent. Contributing and Security Found a defect or have an idea worth trying? Start with CONTRIBUTING.md. Do not put a vulnerability, session key, or private prompt in an issue; use the private reporting path in SECURITY.md. Publishing Local Motion publishes to the Visual Studio Marketplace with vsce. Local package proof: npm run check npm run lint npm test npm run package Manual Marketplace publish: VSCE_PAT=<token> npx vsce publish -p "$VSCE_PAT" GitHub Actions publish: Create or verify the Visual Studio Marketplace publisher ID from package.json. Add a repository secret named VSCE_PAT with Marketplace Manage scope. Run the Publish VS Code Extension workflow manually. Microsoft recommends moving automated publishing to Entra ID before global Azure DevOps Personal Access Tokens retire on December 1, 2026. See Local Native LLM Extensions for VS Code and Cursor on macOS for the sidecar architecture field guide.
Website · Download · Changelog Mispher turns speech into clean text anywhere on macOS, then goes further - dictation cleanup, rewrite-in-place, translation, and an on-device agent that plans, uses tools, and answers. No cloud, no accounts. Nothing leaves your Mac. Install Homebrew (recommended) - a signed, notarized build, no Xcode required: brew install --cask dsaad68/tap/mispher Direct download - grab the latest signed Mispher.dmg from the releases page (or the website), open it, and drag Mispher to Applications. On first launch Mispher walks you through downloading its on-device models. They live in your local Hugging Face cache and run entirely on your Mac. What it does Summon the radial dial with a hotkey and flick toward a mode - or press an arrow key. Every slice is remappable. Mode What it does Transcribe Fast, accurate speech-to-text dropped straight into any focused field. Parakeet for English, Nemotron for ~40 languages. Translate Speak in one language, insert another - auto-translate everything you dictate, or a one-off into a target language. Rewrite Speak an instruction and Mispher rewrites the selected text in place. Ask Hold, speak a question, and an on-device agent plans, uses tools, and streams the answer back. Talk however suits you: hold to push-to-talk, tap to toggle, or go fully hands-free with recording that ends on a silence timeout. Three overlay styles keep it readable but unobtrusive, and voice modes and Ask can each use their own. The agent Ask runs an on-device DeepAgent - it plans, calls tools, and streams back an answer. Out of the box it can: 👁️ See your screen - take a screenshot and reason over what's on it 📝 Use Apple Notes - list, read, create, and update notes 📁 Work with files - read and edit files in a working folder 📋 Touch the clipboard - read and write the system clipboard 🔌 Connect MCP servers - bring your own Model Context Protocol tools You decide which tools the agent may use and how each call is approved - approve, ask, or deny, per tool or per server. Private by design Speech recognition, cleanup, translation, and the agent all run locally in Apple's MLX framework on Apple Silicon. There is no server to send audio to, no account to create, and nothing to opt out of because there's nowhere for your words to go. Mispher uses LFM2.5 models (an 8B-A1B planner and a vision model) for the agent and dedicated speech models for transcription, all via MLX. Requirements macOS 26+ (Tahoe) Apple Silicon (arm64) Build from source Open the app project in Xcode and build the Mispher scheme: open app/Mispher/Mispher.xcodeproj Xcode resolves the DeepAgents-swift Swift package on first build (a one-time network fetch). Xcode 26+ is required - its build system emits MLX's Metal shader library, which swift build does not co-locate.

TargetBridge Apple dropped Target Display Mode in late 2014 with the 5K iMac — and it never came back. TargetBridge brings it back via software, streaming your screen at up to 5K over a direct Thunderbolt connection, e.g. to an iMac. It's free and open source software, no subscription and no dongle required. If it is useful to you, spread the news and give us a ⭐ on GitHub. Sponsoring the TargetBridge project is also very welcome: TargetBridge 3.1 TargetBridge 3.1 keeps the multi-Mac workspace foundation from 3.0 and adds scriptable remote connection controls for the Sender: mirror mode and extended desktop mode multiple receivers from one sender experimental Network Link transport in addition to Thunderbolt Bridge streamed system audio shared JSON localization for Sender and Receiver official manifest-based addons Input Dockstation with master/slave keyboard and mouse control text clipboard sync tied to the active input master remote brightness control from the sender automatic receiver discovery and extended-layout restore remote connection automation via URL scheme, CLI wrapper, launch args, and SSH recipes Feature Guides Overview hub: docs/Features.md Mirror mode and Extended Desktop: docs/Features.md#display-modes Multi-receiver layouts: docs/Features.md#multi-receiver-workflows Network Link (experimental): docs/Features.md#network-link-experimental Audio Relay: docs/Features.md#audio-relay Input Dockstation, clipboard sync, and master/slave roles: docs/Features.md#input-dockstation Remote brightness control: docs/Features.md#remote-brightness-control Remote connection & automation (URL scheme, launch args, SSH, login/wake): docs/Automation.md Shared translations and language files: docs/Features.md#shared-translations Thunderbolt networking extras (SSH/SFTP, file sharing, Internet Sharing): docs/Features.md#thunderbolt-networking-extras Core Features Sender can stream either a mirrored desktop or an extended virtual display. See Display Modes. One sender can drive multiple receiver Macs over separate cables. See Multi-Receiver Workflows. Stream profiles range from 2560 x 1440 to 5120 x 2880 with H.264/HEVC selection based on capability. See Display Modes. Receiver discovery is automatic over Bonjour. Extended-display arrangement is remembered per receiver when possible. See Display Modes. Thunderbolt Bridge remains the primary low-latency path, with Network Link available as an experimental addon-gated transport. See Network Link. Official Addons TargetBridge now has a conservative manifest-based addon system. Official manifests ship with the app, and user manifests can be imported from the settings UI. Network Link: local Ethernet/Wi-Fi transport path for the same display pipeline. See docs/Addons.md#official-addons and Network Link. Audio Relay: streamed system audio from sender to receiver. See docs/audio.md and docs/Addons.md#official-addons. Input Dockstation: keyboard/mouse relay, master/slave roles, slave switching, and text clipboard sync. See docs/Addons.md#input-dockstation and Input Dockstation. Requirements Sender: Apple Silicon Mac (M1 or later), macOS 14 Sonoma or later Receiver: Intel or Apple Silicon Mac, macOS 11 Big Sur or later Thunderbolt cable See also docs/Hardware.md for hardware details, tested cables, adapters, and Thunderbolt networking ideas. Download → Download latest release (pre-built apps, no Xcode needed) TargetBridge-arm64.app.zip — Sender (for Apple Silicon Macs) TargetBridge-Receiver-arm64.app.zip — Apple Silicon Receiver (use machine as monitor for sender) TargetBridge-Receiver-x86_64.app.zip — Intel Receiver (use machine as monitor for sender) Unzip and double-click. On first launch, grant Screen Recording permission to the sender. If you build from source, app outputs go into build/ folder. "App is damaged" warning? macOS quarantines unsigned apps downloaded from the browser. Run this in Terminal, then try again: xattr -cr ~/Downloads/TargetBridge-arm64.app xattr -cr ~/Downloads/TargetBridge-Receiver-arm64.app xattr -cr ~/Downloads/TargetBridge-Receiver-x86_64.app Permissions Sender usually needs Screen Recording. Input Dockstation may also require Accessibility and Input Monitoring, depending on the active role. Receiver may require Accessibility or Input Monitoring when it participates in input relay. In practice, Input Dockstation is a two-sided feature: one Mac captures input, the other injects it, so permissions may be needed on both Sender and Receiver. See docs/Addons.md#input-dockstation for the permission matrix. Quick start Italian: docs/QuickStart-IT.md English: docs/QuickStart-EN.md 中文: docs/QuickStart-ZH.md Translation guide: docs/Translations.md Detailed Documentation Feature overview: docs/Features.md Remote connection & automation: docs/Automation.md Addon manifests and capability model: docs/Addons.md Audio transport internals: docs/audio.md Hardware, cables, adapters, and Thunderbolt Bridge networking: docs/Hardware.md Translation workflow: docs/Translations.md Binary verification: docs/verify-binaries.md Licensing and brand TargetBridge source code is available under the MIT License. Please preserve the required copyright and license notices when redistributing copies or substantial portions of the software. Project branding and commercial use are handled separately from the source code license. For now, the canonical source-code license is: LICENSE Screenshots Sender (Apple Silicon Mac) — multi-session dashboard: Sender — active mirrored stream (5K, HEVC): Receiver (Intel iMac) — waiting for sender: macOS Displays — extended desktop target: macOS Displays — mirrored desktop target:
PixPin is a fast, flexible tool for screenshots, screen recordings, and OCR. Capture, pin, and annotate easily. Download for macOS and Windows.

Our AI finds products from public sources, then rotates exposure so useful newcomers have a fair chance to be seen.
Learn how discovery works