Perch
Hit a shortcut, a chat panel drops from the menu bar, and you are talking to the model on your own machine or home server. Point it at any OpenAI-compatible endpoint.
This is a Mac app. Open this page on a Mac to download it.
Download for macOSThis early build is not notarized by Apple yet, so macOS will ask you to allow it once. The steps are below.
at a glance
- price
- Free
- runs on
- Apple Silicon, macOS 12 or later
- download
- 3.2 MB DMG, version 0.1.0
- privacy
- No account and no telemetry
Screens and a walkthrough
Ask a question from the compact chat window.
0:23 · silent, with on-screen explanations
read the walkthrough
- Check the connection. Choose the model server in Settings, then return to the chat window.
- Ask a question. Type a question and send it to the selected model.
- Read the answer. The answer arrives in the same window. This recording uses a simulated streamed response.
what it does
Lives in the menu bar
Click the bird or hit ⌥⇧Space to drop the chat panel under the icon. Click away and it hides. Replies stream in token by token with markdown, code blocks, and copy buttons.
Any OpenAI-compatible endpoint
llama-swap, llama.cpp server, Ollama, LM Studio, vLLM. The model picker is fed live from the server, and you can keep several servers configured and switch between them.
Stays on your machine
Requests go only to the server you set. Chat history is JSON on disk. No accounts, no telemetry, and no Accessibility permission, since it never touches other apps.
how it works
Perch was written for a local llama-swap box reached over Tailscale, but nothing in it is tied to that. The HTTP happens in a Rust core rather than the web view, so there is no CORS to fight and the streaming stays fast. System prompt, temperature, the keyboard shortcut, and launch-at-login are all in Settings.
good to know
What do I need to run it?
Any OpenAI-compatible chat endpoint. Ollama on the same Mac works out of the box; a home server over Tailscale works just as well. You point Perch at the URL.
Does my conversation leave my machine?
Only as the request to the server you configured. There is no other network traffic, no analytics, and the history stays in a local file.
Does it support authenticated or hosted APIs?
Not yet. Endpoints must be unauthenticated, which fits llama-swap or Ollama behind Tailscale. Auth-header support is on the list.
Which Macs does it run on?
Apple Silicon Macs (M1 and later) on macOS 12 or newer.
Opening it the first time
This early build is not notarized with Apple yet, so macOS blocks the first launch. Open the app once, then go to System Settings > Privacy & Security, scroll down, and click Open Anyway. If macOS calls the app damaged instead, run xattr -d com.apple.quarantine on the app in Terminal once. Notarized builds are coming.
Check the download: shasum -a 256 Perch_0.1.0_aarch64.dmg should print a02e3bd83b235c83f1704503792518ff2a291c46b22238d2a5a7216eba73ea88.