Skip to content
eric-volzPublic

About

Spotlight-style launcher for macOS with an AI assistant that works with your apps and files. Your choice of model, confirmation before every action, no telemetry.

Topics

Resources

Contributing

Security policy

Accessibility

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Orbit app icon

Orbit

Search everything. Ask anything. Stay in control.

A native macOS launcher with a built-in AI assistant that works with your files, Mail, Notes, Calendar, Reminders, Photos and Shortcuts, using the language model you choose, and asks before it acts.

macOS 14+ Swift 6 Apple silicon and Intel License: MIT No telemetry Documentation

Get started · Features · How it works · Privacy · Documentation · Contributing

Orbit's panel twice: on the left, instant search for “ma” lists Mail, Maps, files and contacts; on the right, a chat where Orbit found three Telekom invoices, read one and answered with the amount and due date.

Why Orbit?

Press ⌥ Space and Orbit appears: one fast panel for everything on your Mac. Type a few letters and your apps, files and contacts are there before you finish typing. Ask a question instead, and Orbit's assistant gets to work: it searches your mail, reads the PDF, checks your calendar and drafts the reply. Anything that would change something waits for your OK on a card you can still edit.

⚡ Instant
Apps appear about 85 ms after your last keystroke, files and contacts right after. Instant search never asks a model.
🧠 Capable
25 tools across Files, Mail, Notes, Contacts, Calendar, Reminders, Photos, Shortcuts, links and system settings.
✋ In control
Actions with consequences wait on a confirmation card. Mail is never sent for you, and no tool deletes anything.
🔒 Private
No Orbit server, no account, no telemetry. Content goes to the model only when a question needs it, and the chat shows what was sent.
🔌 Your model
Your Claude subscription through Claude Code, the Anthropic API, or a fully local model with Ollama or LM Studio.
♿ For everyone
Keyboard control of almost everything, VoiceOver support, the macOS display settings, and both English and German.

What you can ask

Ask Orbit… …and it
📄 “Find the Telekom invoice from March. How much was it?” searches your files with Spotlight, reads the PDF and answers with a file card
✉️ “What did Lisa write me last?” then “Tell her Thursday works.” finds the message and opens Mail's own reply window, with the text on your clipboard
📅 “What do I have tomorrow?” lists every event of the day, including recurring, declined and canceled ones
➕ “Add the dentist on Tuesday at 2 pm.” shows a confirmation card with title, time and calendar, then creates the event
✅ “Remind me tomorrow at 9 to call Lisa.” creates the reminder with an alert, after you confirm
📝 “What's in my recipe note?” searches Notes and reads the note, including lists and tables
🖼️ “Show me my photos from July 2025.” shows a grid of thumbnails; a click opens the photo in Photos
👤 “What's Max's phone number?” finds the contact and shows a contact card
🧩 “Turn on Do Not Disturb.” finds the matching shortcut in your Shortcuts and runs it after you confirm
🌗 “Switch to dark mode.” · “A bit quieter, please.” changes the appearance or the volume after you confirm
🖱️ Select a paragraph or a few files, press ⌥ Space: “Summarize this.” takes your selection as context, shown as chips above the input

Orbit answers in the language you write in. See the tools reference for everything it can do.

A closer look

Results you can act on. Answers come with cards: messages that open in Mail, drafts and replies ready for your review, files you can preview with Space, drag into another app or show in Finder. All cards except contact cards work from the keyboard.

Mail cards in dark mode: a list of two emails, an email draft opened in Mail for review, and a reply whose text is on the clipboard.

You stay in control. Before Orbit creates, runs or changes anything, it shows a card with exactly what will happen. Edit the values, then press ⌘ Return or click the button; ⌘ . cancels. Links from mails, notes or web pages never open by themselves, and look-alike domains show their real, punycode form.

An “Open link” card that reveals a look-alike domain as xn--80ak6aa92e.com, a “Start a new email” card listing To and Cc, and a refused local-network link.

Your day at a glance. Events from every calendar, with recurring, declined and canceled events marked; reminders with due dates, lists and overdue ones in red. New events and reminders are created only after you confirm.

Calendar cards: six events for Monday with locations and states, a newly saved event, a reminders card and a newly saved reminder.

More screenshots
A grid of photo thumbnails with favorites, videos and an iCloud-only placeholder An expanded file card with seven files
Photos by date, album, favorites and kind File cards with Quick Look, drag and drop and Show in Finder
An editable Create event card, decided cards and notices Notices that explain what went wrong and offer Try Again or Open Settings
Confirmation cards and notices Clear notices with the button that fixes the problem
Settings, Model tab, connected to a Claude subscription with a usage bar Settings, Permissions tab with the status of every permission
Your Claude subscription, with usage at a glance Every permission, its status and why Orbit needs it
The setup assistant's welcome step Context chips above the input: a selected file and a selected sentence
A one-minute setup assistant Your selection as context, removable with one key

How it works

How Orbit works: the shortcut opens one panel; typing shows instant local results, asking hands the question to the assistant, which works with the language model you choose and with tools on your Mac, and waits for your confirmation before actions with consequences.

Orbit is a single native app (Swift 6, SwiftUI and AppKit) that lives in your menu bar. Instant search runs entirely on your Mac. When you ask a question, Orbit's agent streams the answer from your language model and calls tools as needed: Spotlight for files, AppleScript for Mail and Notes, EventKit for Calendar and Reminders, PhotoKit for Photos, and /usr/bin/shortcuts for your shortcuts. With the Claude subscription, Orbit runs your own Claude Code as the engine and serves its tools to it through a private, token-protected connection on 127.0.0.1. The architecture overview has the details.

Choose your model

What you need Good to know
Claude subscription (via Claude Code) Claude Pro or Max, and the Claude desktop app or Claude Code, signed in No API key. Usage counts toward your plan, and Orbit shows it and warns at 80% and 95%.
Anthropic API An API key from the Anthropic Console Pay per use. The key is stored in your login keychain only.
OpenAI-compatible Ollama, LM Studio, OpenAI or any Chat Completions server with tool support With Ollama or LM Studio, nothing leaves your Mac at all.

You can switch at any time, even in the middle of a chat. See Choosing a language model.

Note

In Claude subscription mode, Orbit doesn't talk to Anthropic itself. It starts the Claude Code you installed, unmodified, and you sign in through Anthropic's own browser flow; Orbit never reads, stores or forwards your Claude credentials. Anthropic's terms decide how a subscription may be used (see Claude Code: legal and compliance). If you're unsure whether your use fits, choose the Anthropic API or a local model instead.

Privacy and safety by design

  • Nothing in between. Orbit has no server, no account, no analytics and no update checks. Its only network connection is the language model you configured (with the Claude subscription, Claude Code's connection).
  • Only what a question needs. Instant search never leaves your Mac. The assistant reads a mail, a note or a file only when it needs it, and every answer lists what was sent, such as “3 emails sent to Claude”.
  • Content is data, not instructions. Text from mails, notes, files and web pages reaches the model clearly marked as data, so a message can't take over the assistant.
  • Secrets stay secret. Keychains, SSH keys, .env files, password-manager data, password fields and Orbit's own data are never read or listed.
  • Nothing happens behind your back. Actions with consequences wait for your confirmation, mail is never sent for you, links from content need your OK, and links into your local network are refused unless you typed them.
  • Local storage. Chats live in a local database (the last 100), API keys in the keychain, and the logs never contain prompts, answers or file names. Every permission is optional.

Read more: Privacy · Permissions · Security model

Get started

Requirements: Orbit runs on macOS 14 Sonoma or later, on Apple silicon or Intel, with one of the language models above. Building it, for now the only way to get it, needs macOS 15.2 or later.

Build from source. There is no prebuilt download yet: you build Orbit yourself, which takes a few minutes and needs no Apple developer account, only the Command Line Tools (xcode-select --install) or Xcode 16.3 or later. These commands build and install the current release, 0.1.0; the Releases page lists every version with its changes:

git clone --branch v0.1.0 https://github.com/eric-volz/Orbit.git &&
cd Orbit &&
Scripts/build-app.sh release &&
cp -R build/release/Orbit.app /Applications/ &&
open /Applications/Orbit.app

If Orbit is installed already, follow Updating instead, which removes the old copy first.

Orbit appears in the menu bar (it has no Dock icon), and a short setup assistant helps you choose a language model, check the shortcut and allow the permissions you want. Every step can be skipped. A self-built app is signed ad hoc, so macOS asks for permissions again after each rebuild; Getting started shows how a development certificate avoids that.

➡️ Getting started walks through every step, with screenshots.

Keyboard at a glance

Keys What they do
⌥ Space Open or close Orbit from any app (change it in Settings)
Type, then ↑ ↓ Return or ⌘ 1 to ⌘ 9 Open an app, file or contact from instant search
Return on “Ask Orbit”, or ⌘ Return Ask the assistant
Escape Stop the answer, or close the panel
⌘ N Start a new chat
Tab, then Space Move to the latest card, then Quick Look the selected file
⌘ Return · ⌘ . Run or cancel the waiting confirmation card
⌘ R Try again after an error

All shortcuts: Keyboard shortcuts

FAQ

Do I need an API key?
No. You can use your Claude Pro or Max subscription through Claude Code, or a local model with Ollama or LM Studio. An Anthropic API key or any OpenAI-compatible server works too.
Can Orbit run completely offline?
Yes. With a local model in Ollama or LM Studio, Orbit makes no connection outside your Mac. Pick a model that supports tools, such as gpt-oss or qwen3.
Will it send emails or delete things on its own?
No. Drafts and replies open in Mail for you to review and send, no tool deletes anything, and every action with consequences waits for your confirmation.
Why does it ask for so many permissions?
It doesn't have to: every permission is optional and only unlocks its own tools, such as Calendars for the calendar tools. Without one, those tools are switched off and everything else keeps working. Orbit reads permission states without triggering a prompt; macOS asks only when you click Allow… or a tool needs access for the first time.
Which languages does Orbit speak?
The interface is available in English and German and follows your macOS language settings. The assistant answers in the language of your message.

More answers: Troubleshooting · Known limitations

Documentation

Read it online at eric-volz.github.io/Orbit, with search and dark mode, or browse the same pages right here in docs/.

Using Orbit Contributing
Getting started Architecture
User guide The agent and adding a tool
Choosing a language model LLM providers and Claude Code
Tools reference Security model
Permissions and Privacy Development and Testing
Keyboard shortcuts and Accessibility Localization and Releasing
Troubleshooting and Known limitations Manual acceptance checks and Performance

The documentation index lists every page.

Contributing

Contributions are welcome: bug reports, ideas, translations, documentation and code. Orbit is a plain Swift package with a few scripts, so the Command Line Tools are enough to compile it, run the unit tests (on mocks and invented data only) and start a debug build:

Scripts/swiftpm.sh build
Scripts/swiftpm.sh test
Scripts/build-app.sh debug && open build/debug/Orbit.app

Want to try the assistant without any account? Start the scripted FakeLLMServer and run a debug build on the invented test data; Development shows how. Please read CONTRIBUTING.md before you open a pull request, and report security issues privately as described in SECURITY.md.

Built with

Swift 6, SwiftUI and AppKit, GRDB.swift for the chat database and KeyboardShortcuts for the global shortcut. Thanks to their authors.

License

Orbit is released under the MIT License. Copyright © 2026 The Orbit Authors.

Orbit is an independent project and is not affiliated with, endorsed by or sponsored by Anthropic, OpenAI or Apple. Claude and Claude Code are trademarks of Anthropic. Apple, Mac, macOS, Spotlight and the names of Apple's apps are trademarks of Apple Inc.

About

Spotlight-style launcher for macOS with an AI assistant that works with your apps and files. Your choice of model, confirmation before every action, no telemetry.

Topics

Resources

Contributing

Security policy

Accessibility

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages