Highlights
- Search your Mac to add sources. Add Source gains a search step backed by Spotlight: type a few characters and ranked file and folder hits come back, addable in one click. Results float ingestible, name-matching, recently-modified files first and stay clear of Trash,
node_modules, and~/Libraryclutter. Anything you add routes through the same path as a drag-and-drop, so folders become synced folder sources and OKF bundles import exactly as they always have. - Box, Dropbox, and iCloud Drive are first-class folder sources. Alchemy detects your cloud sync roots and offers them as quick-picks in "Add folder" — the picker opens inside the drive so you drill to the subfolder you actually want instead of ingesting the whole thing. Box Notes (
.boxnote) now parse into real text, both the modern and the legacy format; Dropbox Paper (.paper) stubs resolve to their content; and iCloud placeholder files are downloaded on demand instead of being skipped. - Slash commands in the chat composer. Type
/and a compact picker opens over every command, grouped by Generate, Learning, Documents, and Actions. All 18 generators are there — trailing text becomes custom instructions — alongside/add,/model,/research,/grep,/note,/report, and/clear. Fuzzy matching tolerates spaces and hyphens, Tab completes, and an unrecognized slash just sends as ordinary text. The full list also lives in Settings → Shortcuts. - Exact-match search from chat.
/grepexposes the ripgrep engine — previously reachable only through MCP — directly in the composer, rendering hits inline with no model call and nothing persisted to the transcript. - The interface follows your macOS text size. WKWebView ignores the system Accessibility text-size slider, so Alchemy now reads the effective Dynamic Type size natively and rescales the entire UI to match, live on window focus. The whole app moved from fixed pixels to a semantic type scale to make this possible. Your own chat and reader size adjustments compose on top, and PDF export is pinned so printed output never scales.
- Capture pages that require a login. The hidden capture window is a cookieless session, so anything behind a sign-in or on an intranet always came back as a wall. The browser extension now reads the rendered page from your own logged-in tab and hands it to the app through the same path a normal capture uses. Enable it in Settings → Sources.
Fixes
- Prompts sent to the on-device model now fit its 8192-token window, and re-trim to the measured token count when dense sources — code, RFCs, CJK text — tokenize heavier than the estimate predicted.
- The system text scale is anchored at the slider's Default position, so the interface renders at its design size there instead of only at the smallest stop.
- Settings → Models rows load independently per provider; one unreachable or hung provider no longer leaves every other row stuck on "checking…".
- The Mac search field no longer applies autocorrect, spellcheck, or auto-capitalization, so filename queries stay literal.
- Search results are filtered to files Alchemy can actually add, removing the dimmed rows that only invited dead clicks.
Notes
Login-walled page capture requires the browser extension and is off by default — turn it on in Settings → Sources. Clipped pages are snapshots: re-sync stays a no-op, since the app itself still can't reach them.
Full Changelog: v0.24.0...v0.25.0