Two big local models fight over one Mac's memory. My fix is a small router that apps talk to instead of the model.
What it does
Listens on the addresses your apps already use for each model.
On the first real request, starts that model and stops the other one first.
Passes the request through, including streamed replies.
After 15 minutes idle, stops the model and frees the memory.
Answers "which models do you have?" without loading anything, so apps can check cheaply.
What to expect
First request after idle: 3 seconds for a small model, about 27 for a 27B one.
Switching models: one stops, the other starts.
Your apps don't change at all.
Build your own
Ask Claude or ChatGPT: "Write a small Python web server that listens on port A and port B. A request on A should start [command for model A] on a private port, stopping model B first if it's running, wait for it to be healthy, then proxy the request, streaming the response. Stop any model idle for 15 minutes." Then run it as a background service that starts at login.