Skip to content
NakliTechiePublic

About

Sovereign, native macOS launcher in Swift. On-device AI (Apple Foundation Models) behind a deterministic action harness that never claims an action it didn't run. No account, no server, no telemetry (AGPL-3.0).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Summon

A sovereign, native macOS launcher with on-device AI.
Summon apps, files, your clipboard, and answers — from one keystroke, on your Mac.

One app. macOS Sonoma 14+. No account, no server, no telemetry.

Latest release License AGPL-3.0 Telemetry: none AI: on-device

Summon — a sovereign, native macOS launcher with on-device AI

📖 Visual guide — every screen, captioned and searchable.

Install

Platform Command
macOS (Homebrew) brew install --cask naklitechie/tap/summon

The command taps naklitechie/homebrew-tap and installs the app in one step. Or grab the .zip from the latest release and drag Summon.app to /Applications.

Requires macOS Sonoma 14+ to run; on-device AI needs macOS 26+ with Apple Intelligence (without it, the launcher, clipboard, and search work and the AI rung degrades cleanly). The build is ad-hoc signed, not notarized — if macOS blocks it, right-click → Open once (or xattr -dr com.apple.quarantine "/Applications/Summon.app").

Smart Paste and window arrangement need the Accessibility permission. Because the build is ad-hoc signed, macOS drops that grant after every brew upgrade: open System Settings → Privacy & Security → Accessibility, select Summon, remove it with −, then add /Applications/Summon.app again with +.

Press ⌥Space to open the launcher; it lives in the menu bar and captures your clipboard in the background. The first launch offers Keep Ready at Login (on by default). No config file, no account, no restart. Point another tool at it over the local agent socket:

summon agent version          # the CLI face; the UNIX socket is default-off

Why

You reach for a launcher a hundred times a day, and it either respects that your Mac is yours or it doesn't. Summon keeps everything local: the index, the clipboard, the AI. No account to make, no server of ours to trust, nothing phoning home — not even opt-in telemetry.

Use something else if: you want the deepest third-party extension ecosystem — Raycast (proprietary, cloud AI, account) is far richer. You want a mature, scriptable workflow engine — Alfred (proprietary, paid Powerpack) is the standard. You just want app search and nothing more — Spotlight ships with macOS. Summon is for wanting a launcher and on-device AI and sovereignty in one tool.

On-device AI, and Smart Paste

Answers come from Apple Foundation Models, on your Mac. Ask a question and it answers inline; ask for a safe action ("set the volume to 30") and it runs; ask for a destructive one ("empty the trash") and it stages in amber for one-click Accept. The model never claims an action it didn't run — how the harness guarantees that.

Smart Paste (⌥⌘V) reads what you copied — a contact block, a signature — and fills a form's fields by meaning: email into Email, phone into Phone, name into the name field. Clean fields route instantly on-device; anything unclear is decided by a small local model. Every fill is reversible from the toast, and secure fields are never touched.

File search

Files come from Spotlight by default. An opt-in Swift index searches file and folder names with typo tolerance (mian finds main.rs), matches words against the folders above a file (summon pending), and stays current through FSEvents:

summon files enable && summon files index    # build once; the app keeps it live
summon files status                          # entries, snapshot size, everything excluded

It indexes your home folder and skips, by design: .git, .DS_Store; Chromium and Electron HTTP caches (Cache_Data); ~/.Trash, ~/Library/Caches; other apps' sandbox data (~/Library/Containers, Group Containers, Daemon Containers); anything a repository's .gitignore, .ignore or .git/info/exclude excludes. Symlinks are listed, never followed. Folders macOS protects stay out unless Summon has Full Disk Access. Names only; file contents are not indexed.

Web search and the agent face

Web search is off until you ask for it: a keyless Wikipedia floor by default, opt-in SearXNG for full search on Apple's container runtime (no Docker Desktop; Docker is a fallback). The first search asks permission; SearXNG may forward the query to its configured upstream engines.

Every capability is reachable by machine: a local CLI and a default-off UNIX socket, each call journaled with actor=. Two doors, one core.

Keys and commands

⌥Space                          open the launcher
⌥⇧C                             clipboard history (text · image · HTML · RTF)
⌥⌘V                             Smart Paste into the frontmost form
Tab  or  ⌘K                     act on the selected result
⌃⌥ + arrows / U I J K / ⏎ C     arrange the focused window

Verify it yourself

make verify    # merge gate: tests, lint, CLI e2e, sovereignty, no-model launcher, latency

The gate refuses a network primitive outside the two declared egress files, refuses an AI action that reports success without running, and refuses a launcher that dead-ends when no model is present. Sovereignty and no-model degradation are first-class test gates, run on every merge.

License

AGPL-3.0. Founding docs and specs in docs/ · what shipped in the CHANGELOG.

About

Sovereign, native macOS launcher in Swift. On-device AI (Apple Foundation Models) behind a deterministic action harness that never claims an action it didn't run. No account, no server, no telemetry (AGPL-3.0).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages