v0.4.0
The first-run experience, rebuilt end to end — plus mouse everywhere, a smarter composer, background sessions, and a working fallback chain.
Onboarding, redesigned
- Intro splash: the atomic mark under a seeded starfield, with the tagline typing itself in. Any key — or any mouse click — continues; every setup screen is centred and mouse-navigable (#220–#228)
- The backend choice explains what each path costs (privacy · money · time); Esc-skip is remembered instead of re-running setup on every launch
- Local models: a "Recommended models" picker sized to your machine's RAM, live download bars with rate/ETA (and ambient atoms to keep you company),
press cto configure a cloud model mid-download, andpress sto skip straight to the agent — the pull continues with a progress chip in the top bar - Any GGUF from Hugging Face: paste an
owner/repoor URL and download it like a catalog model — built on the groundwork by @sachin-detrax in #38 - If both backends aren't set up, the flow offers the other one exactly once — never after a custom endpoint, and never again after you've seen it
Composer & home screen
- The input grows upward over the transcript instead of pushing the screen around; Shift+arrows select, Ctrl/Cmd+C copies to the system clipboard, Ctrl/Cmd+X cuts, Ctrl/Cmd+V pastes; right-click opens a cut/copy/paste menu on any text field
- The meta row is three live controls — backend · provider/model · status: switch backend (cloud/local/custom), switch or add providers, pick models with type-to-filter. In local mode it shows your chosen model and the daemon's health with live RAM usage
- Session title stays on one row (#221); long model names in the download chip are capped
Sessions & reliability
- Creating or switching sessions no longer waits for the agent: a running turn detaches, keeps working in its old session, and replays its transcript when you switch back — approvals stay scoped to the session that owns them
- Turns against a not-yet-downloaded local model fail fast with the model name and live download progress, instead of a bare transport error after a retry burn
- The fallback-chain pane's edits (add / move / remove / append-local) now actually persist — they were silently dropped before — and the pane is clickable
- External llama.cpp: reverse-proxy path prefixes are preserved, probe errors show on the pane you're looking at, and
--api-keyservers are detected with guidance (ATOMIC_AGENT_LLAMA_API_KEY)
For testing
A hosted stub llama-server is available at https://llama-stub-vercel.vercel.app (happy path at /, path-prefix at /llama, api-key at /auth, OpenAI-only at /openai) — see TESTING.md in the repo.
Merged: #220, #221, #222, #223, #224, #225, #226, #227, #228 by @plombeer31
Full Changelog: v0.3.7...v0.4.0