Repository navigation
abstractframework 0.3.0
[0.3.0] - 2026-09-24
A Mac install that needs no Terminal knowledge (a .pkg or a double-click .command, and an
uninstaller), install failures explained in plain words, and the meta-package pins abstractcore
2.15.0 and abstractgateway 0.4.1.
Changed (pins)
- abstractcore 2.15.0 (was 2.14.0) and abstractgateway 0.4.1 (was 0.3.0; 0.4.0 was never
published), in the base install and in theapple/gpuextras
(abstractgateway[apple|gpu]==0.4.1). The bootstrap scripts install
abstractgateway[<profile>,tray]==0.4.1and, with--with-console,abstractgateway-console
0.8.0 (was 0.7.0). The other pins are unchanged: AbstractRuntime 0.4.33, abstractagent 0.3.13,
AbstractMemory 0.3.0, abstractsemantics 0.0.5, abstractvoice 0.11.4, abstractvision 0.3.29,
abstractmusic 0.1.15, abstractassistant 0.5.0. - Browser apps released with it (
--with-apps,npx):@abstractframework/continuum0.3.0 (was
0.2.0) and@abstractframework/entity0.2.0 (was 0.1.0); flow 0.3.20, code 0.4.2 and observer
0.1.12 are unchanged. - The docs name the container images released with it:
ghcr.io/lpalbou/abstractgateway:0.4.1
andghcr.io/lpalbou/abstractcore-server:2.15.0. docs/backlog/planned/0859states the real stack port map (observer 3001, continuum 3002,
code 3003, entity 3004, flow 3005), asscripts/start-local.shand the gateway's
STACK_PORTSuse.scripts/lib/packages.txt: abstractgateway 0.4.1 depends on abstractcore directly
(abstractcore>=2.15.0), so its edge isabstractcore:dep(wasextra).
Added
- A Mac install that needs no Terminal knowledge.
scripts/lib/build_macos_installer.sh
buildsAbstractFramework-Installer.pkg(payload-free, "install for me only", no password) and
AbstractFramework-Installer-macOS.zip(Install AbstractFramework.commandand
Uninstall AbstractFramework.command). Both open the sameinstall.shin Terminal with a
banner, so every step stays visible and logged; the browser opens AbstractFramework, signed in,
at the end. The script signs and notarizes the.pkgwhen given a Developer ID
(AF_PKG_SIGN_IDENTITY,AF_NOTARY_PROFILE); without one it says the build is unsigned. scripts/uninstall.sh: asks before removing anything, removes the login item, the running
gateway and the gateway tool, and asks separately whether to delete your data (--purge) and,
when the installer added uv, uv with its Python and download cache (--remove-uv, about
2.5 GB after an Apple Silicon install).--yesruns without questions.install.sh --interactiveasks whether to start AbstractFramework at login (default yes; a
previous "no" is remembered) and, on--uninstall, the data and uv questions. Questions go to
the terminal, so it works throughcurl | sh. Answering "no" after an earlier "yes" removes the
login item and starts the gateway in the background.
Changed
- Every install failure says what to do next, in plain words.
install.shchecks internet
access to PyPI before changing anything (naming the proxy when one is set), recognises a
connection that drops mid-install, stops on folders it cannot write (with the exact
sudo chownfix), restarts itself natively when Terminal runs under Rosetta on Apple Silicon
(and explains the Terminal setting when piped), warns on macOS older than 13, and says why an
Apple Silicon Mac on macOS 13 gets the light profile.install.ps1has the same network check
and messages. - Re-runs repair and stay quiet. A gateway command that no longer starts (an interrupted or
damaged install) is reinstalled in place; a registered, running, unchanged login item is left
alone instead of restarted; an already-configured shell profile no longer produces a
uv tool update-shellwarning. The health wait is 180 s (the first start loads the engines) with
a progress line every 15 s. - The gateway's Network setting decides where it listens, not the installer.
install.shand
install.ps1no longer pass--host 127.0.0.1toabstractgateway service install(it reset a
"Local network" choice to localhost on every re-run); they pass--portonly. Without a login
item (background mode) they store the setting first (abstractgateway network set localhost --port Nwhen nothing is stored; a stored mode is kept and only the port aligned) and start plain
abstractgateway serve. Gateways without thenetworkcommand keep the old
serve --host 127.0.0.1 --port N. The login item itself runs plainservefrom
abstractgateway 0.4.1. - The installer ends with a short plain-language summary (where AbstractFramework is, that it
starts at login, the menu-bar icon, how to remove it) before the technical details. docs/install.mdis rewritten from a non-technical user's point of view (download, what you
will see, a table of every failure message and what to do, how to remove it); the one-line,
options and profile material follows under "Advanced". README and getting-started match.- llama.cpp GGUF is back in the one-line install, without a compiler.
install.shand
install.ps1takellama-cpp-pythonfrom upstream's prebuilt wheels for every profile, light
included: Metal 0.3.28 on Apple Silicon, CPU 0.3.35 on glibc Linux x86_64/aarch64 and Windows
x64 (--find-linkson the package page of abetlen's wheel index,--constraints uv-constraints.txt,--no-build-package llama-cpp-pythonso the PyPI sdist is never built).
Where no wheel exists (Intel Mac, musl Linux, Windows on ARM) or the wheel install fails, the
script installs without it and printsGGUF (llama.cpp) skipped: no prebuilt wheel for this machine; re-run with --full after installing a C compiler. The summary'sGGUF:line says what
was installed.--fullbuilds llama.cpp from source, now in the light profile too. CI's
bootstrap smoke importsllama_cppfrom the installed gateway on macOS, Linux and Windows and
checks GPU offload on macOS.
Known limitations
These are unchanged from 0.2.1 (the same packages, checked with uv pip install --dry-run --no-build against both releases). The one-line installer is not affected by the first two: it
installs the gateway, not abstractassistant, and builds pure-Python source packages.
- A plain
pip install abstractframeworkon Linux buildsevdevfrom source (a C compiler and
kernel headers), throughabstractassistant0.5.0 →pynput. langdetect,antlr4-python3-runtime,encodecandtransformers-stream-generatorare
published as source only; they are pure Python and build without a compiler.abstractframework[gpu]on Linux needs glibc 2.35 or later (Ubuntu 22.04+):mlx[cuda13],
pulled byabstractvision[all-gpu]throughmlx-gen, has onlymanylinux_2_35wheels.- The macOS
.pkgbuilt byscripts/lib/build_macos_installer.shis not signed yet, so
Gatekeeper asks the user to allow it ("Open Anyway").