Cadabra.app 2.0 beta 2 #5
abra-code
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Requires: macOS 14.6 or later (Apple silicon)
Summary: This beta is about the first ten minutes with the app: finding a model, downloading one, and never
being handed a broken one.
First run opens the model download browser
Launching Cadabra with no model installed used to open the Local Models picker on an empty table,
with nothing on screen saying where models come from. Cadabra now checks whether any model is
installed and opens the Hugging Face browser instead when the answer is none - downloading a model
being the only useful move at that point. Closing that browser hands back to the model picker, so a
first run no longer ends with the download finished and no window on screen.
Apple's on-device foundation model does not count as installed for this check: it needs no download
and is present on every eligible Mac, so counting it would retire the first-run branch on exactly
the machines it exists for.
Launch and the picker now read the same list of folders when they scan for models, so the two can
no longer disagree about what "no models installed" means.
"Download Models" instead of "Browse Hugging Face"
Hugging Face is not a household name, and someone new to running local models has no reason to know
what it is. The entry points now say Download Models - in the main window and in the Local
Models picker - while the browser window itself still names Hugging Face as the source it is
searching ("Download Models - Hugging Face").
Interrupted downloads can no longer masquerade as models
Downloads used to be written straight to the model's final name. Any death the app could not clean
up after - a force quit, a kernel panic, a power cut - left a truncated file sitting at exactly the
name the model picker scans for. The picker listed it, showed its size, and handed it to a loader
that could only fail.
Every transfer now lands in a
<final>.partstaging file and is moved into place only once it iscomplete and the size the server declared. A staging name matches neither the
*.ggufscan nor theMLX
config.json/*.safetensorsshape, so an interrupted download is invisible to the picker byconstruction.
What this means in practice:
there rather than starting over. If the server refuses to resume, Cadabra spends that one attempt
and restarts the file from the top.
because leaving it meant a corrupt model in the picker on the next launch. It is safe to keep now,
so however many gigabytes had arrived survive the quit.
server declares is no longer reported as cached - it is downloaded again. Pressing Download is
what repairs a file a previous build left truncated.
config.jsonbeside only some of its weights, which used to look like a whole model. When thefolder has a
model.safetensors.index.json, Cadabra now requires every shard that index names tobe present before it will offer the model. Folders with no index are unchanged - there is nothing
to be incomplete against.
Upgrading from 2.0b1
Drop the new Cadabra.app in place of the old one. Downloaded models, settings, and chat history are
untouched.
One thing worth knowing: a GGUF download that was interrupted under 2.0b1 or earlier may have
left a truncated
.gguffile under its real name, and the picker still lists it as a model. If onefails to load, download it again from the model browser - Cadabra compares what is on disk against
the size the server declares now, so a short file is re-fetched rather than reported as already
downloaded. No manual deletion needed. Incomplete MLX folders are caught by the new shard check
regardless of which version created them, and simply stop appearing in the picker.
This discussion was created from the release Cadabra.app 2.0 beta 2.
All reactions