Stable on GitHub Releases · Apple silicon · macOS 14 and later
Models larger than your memory, on your Mac.
Set one memory ceiling. When a mixture-of-experts model does not fit, Astronomical streams the experts the router selects from your SSD, keeps the precision the model declares, and answers every request on this Mac.
One captured development run of Qwen3.6-35B-A3B-oQ4e-mtp. It demonstrates the operating mode; it is not a throughput claim. Results vary by model, context, storage, and Mac.
On this Mac
Install it. Open the Library. Launch your coding agent.
Astronomical is a local model runner for one person on Apple silicon. Open the app and the runner goes live on this Mac; three surfaces show and use it.
- The menu
- Effective memory, expert residency, graphics-processor use, prompt progress, and prompt reuse, while you work.
- Observatory
- The local console on the same loopback address: install from the Library, watch status, and send a chat without a separate monitoring stack.
- The local API
- OpenAI-compatible Chat Completions, Responses, embeddings, and image generation, plus Anthropic-compatible Messages, over loopback only.
astronomical launch claude,codex, oropencodestarts the agent already pointed at this Mac. Connect a coding agent →
Stable is on GitHub Releases — open it and the local runner goes live on this Mac; Observatory is the local console for the Library, status, and interim chat.
Capabilities
What the app does today.
Shipped product surfaces. Speed still depends on the model, context, storage, and the memory you leave for the rest of the Mac.
- Chat locally
- Observatory or any local OpenAI- or Anthropic-compatible client. Tool calls, Responses, and Messages share the same loopback server.
- Vision in the same chat
- Attach an image; a vision-capable model sees it on this Mac and the image does not leave the laptop.
- Generate an image
- A text prompt becomes one lossless PNG through the local image endpoint or
astronomical image, served by the same app. - Install from the Library
- Download a curated public model; Astronomical verifies the payload before the model becomes discoverable.
- One memory ceiling
- Set the model RAM your laptop can spare. Complete experts stay resident when they fit; selected experts stream from storage when the request needs room.
- No hidden quantization
- A tighter ceiling never silently downgrades the model. Paging keeps the artifact's declared types; unsupported files fail validation instead of being guessed from a name.
- Launch a coding agent
astronomical launch claude,codex, oropencoderuns the agent on a local model for one session, with the model's real context window declared, without touching the agent's own settings.- Embed text
- The embeddings endpoint or
astronomical embedturns text into vectors for search and retrieval that stay on this Mac. - Drive it from the terminal
astronomical respondanswers one prompt,modelslists and downloads,statusshows the worker and resident model, anddoctorchecks which instance the command line talks to.
How it decides
Fully in memory when it fits. Streamed when it does not.
You never pick a mode. The runner projects what the next request needs, keeps every expert resident when the whole sparse payload fits, and pages router-selected experts from the SSD when live context needs the room. When the room comes back, the complete expert layers do too.
Claims need receipts.
Each field note separates architecture facts, acceptance evidence, and open questions. Failed ideas stay on the record.
Evidence standard
Fast is a measurement, not an adjective.
- Representative work. Performance claims use at least 10,000 input tokens and about 500 output tokens, the shape of a coding-agent turn, after a small warmup, on an optimized build, with the exact workload disclosed.
- Memory beside speed. Throughput is reported with model precision, effective memory ceiling, and peak MLX memory.
- Cold and warm separated. Operating-system file reuse is not presented as SSD performance, and throughput runs disable the persistent prompt cache so a cache hit never passes for speed.
- Failed ideas stay visible. A smaller command count or a prettier trace is not a win unless end-to-end behavior improves.