MTPLX 1.0.2

A bug-fix release. Two ways the engine could refuse to start are gone, parallel agents stop tripping over each other, and model downloads work behind networks that block Hugging Face.

No more Degraded on every start

The Settings profile picker offered two options the engine never accepted, Auto and Sustained Max. Picking either saved a value that killed the engine at launch, so the app showed Degraded every time you pressed Play, with nothing pointing at the real cause. That class of bug is now closed from both sides: the engine accepts the old values (Auto means the default profile, Sustained Max means Sustained, and pinned fans stay a fan setting), existing configurations heal themselves when the app loads them, and the picker only offers profiles the engine actually runs.

Launches that lose their port also got smarter. If something took the port between the check and the start, or a listener the local probe cannot see is holding it, MTPLX now resolves the conflict and retries once on its own instead of failing with a raw port error.

Parallel agents stop colliding

Agent tools that fire many requests at once without session ids (LiteLLM batches, swival audits, anything that fans out) could fail with "session is already in flight" because requests sharing a prompt prefix resolved to the same session. A busy session now forks the request to a fresh session, so every parallel request completes; explicitly named sessions keep the strict behavior. Anonymous session ids are also random now instead of clock derived, which removes a rare collision under burst load.

Reported and fixed by Frank Denis (#95). First community patch in MTPLX, and a clean one.

Downloads work behind blocked networks

huggingface.co is blocked in mainland China, which made the guided download impossible there. You can now set a download mirror, either right in the onboarding download step or later in Settings under Advanced, and MTPLX uses it for model downloads. Your Hugging Face token is never sent to a mirror, so gated repos stay on the official endpoint.

Downloads

Existing installs update themselves; the app refreshes its engine automatically after updating.