Skip to content

AbstractFramework 0.6.2

Choose a tag to compare

@lpalbou lpalbou released this 29 Sep 05:44
· 220 commits to main since this release

One line installs, upgrades and repairs AbstractFramework, and Update in the consoles and the
menu-bar icon runs that same line. Pins: AbstractGateway 0.7.2, AbstractCore 2.19.0,
AbstractVision 0.3.31, Abstract3D 0.3.1 (new in the matrix: AbstractCore now installs it) and the
terminal consoles abstractgateway-console 0.11.1 and
abstractcore-console 0.4.1; every other version is unchanged from 0.6.1.

Changed

  • One line installs, upgrades and repairs. Re-running the install line (or double-clicking
    Install AbstractFramework.command again) finds the existing install and says what it does:
    AbstractFramework <yours> found: upgrading to AbstractFramework <latest> or already up to date for installs from 0.6.2 on, which record their release. An install made by 0.6.1 or
    earlier recorded none, so its first upgrade says AbstractFramework found (abstractgateway 0.7.1; its release was not recorded): upgrading to AbstractFramework 0.6.2.
    The summary lists what changed, old -> new, under Changes, and ends with Upgraded: … or
    Already up to date: …; nothing changed. install.ps1 does the same on Windows. See
    Upgrade.
  • Update in the web console, the terminal console and the menu-bar icon runs the installer
    (AbstractGateway 0.7.2). For an install made by the AbstractFramework installer, the check
    compares your AbstractFramework release with the latest one, and Update runs the latest
    install.sh with --no-start. Before you confirm, it shows the installer's address, commit,
    sha256 and the exact command. The result says what moved and offers the restart, says
    already up to date, or shows why it didn't finish. On Windows, the check shows the PowerShell
    line to paste. See From the console or the menu-bar icon.
  • Your install options are remembered. A re-run keeps the profile, port, start at login, a
    custom --data-dir, and --no-console, --no-code-cli, --no-core-cli, --no-tray and
    --full, and says which ones it kept. --with-console, --with-code-cli, --with-core-cli,
    --with-tray and --no-full (Windows: -WithConsole, -WithCodeCli, -WithCoreCli,
    -WithTray, -NoFull) turn one back.
  • The libraries land on the release's tested versions. The installer installs AbstractCore,
    AbstractRuntime, AbstractAgent, AbstractSkill, AbstractMemory, AbstractSemantics and the voice,
    vision, music and 3D packages at exactly the versions of the AbstractFramework release, not only at
    the gateway's minimums. --print-versions (-PrintVersions) lists the release and that matrix.
    --pin latest still installs the newest gateway and libraries, and records no release.
  • The gateway restarts whenever anything changed, a library alone included: the macOS login
    item through launchd, a running Linux systemd --user service with systemctl --user restart,
    and a background gateway by starting it again. On Windows the installer stops the gateway before
    it changes any file and starts it again afterwards. AbstractGateway 0.7.2 fixes the macOS
    5: Input/output error when the login item is replaced: it waits until launchd has removed the
    previous job and retries. When the login item cannot be registered, the gateway starts in the
    background instead, so an upgrade never leaves it stopped.
  • Upgrading from 0.6.1 or earlier. Those installs did not record their options, so the first
    re-run reads them from what is installed (the terminal console, abstractcode, the tray extra,
    the AbstractCore commands, a --full build, a custom data directory through the gateway
    pointer), says what it found and records it; you can also repeat your options once. The Update
    button of AbstractGateway 0.7.1 and earlier cannot upgrade an installer install: re-run the line
    once. See Upgrading from 0.6.1 or earlier.
  • --no-start (-NoStart) upgrades without starting or restarting the gateway and says when a
    restart is due. It keeps this install's port even when a program the installer did not start
    holds it.
  • One installer at a time. A second installer for the same data directory (the line re-run
    while a console's Update runs, or the other way round) stops with another AbstractFramework installer is already running and changes nothing. The lock of an interrupted run is taken over
    by the next one.
  • Install AbstractFramework.command runs the latest installer from GitHub, so double-clicking
    it again upgrades. It uses the copy it came with only when GitHub cannot be reached, and says so.
  • --pin latest (-Pin latest) upgrades an existing install with the same profile, voice and
    llama.cpp setup (uv tool install --upgrade), and the summary's upgrade lines give the commands
    that work.
  • AbstractCore has three install settings (AbstractCore 2.19.0): pip install abstractcore
    (light: every remote provider, the built-in tools, media inputs, the server and console, and the
    voice, vision, music and 3D plugins with their remote backends; about 600 MB for AbstractCore
    alone in a fresh Python 3.12 environment), pip install "abstractcore[apple]" (adds every local engine an Apple silicon Mac runs) and pip install "abstractcore[gpu]" (adds every local engine an NVIDIA or AMD machine runs). The earlier extra
    names still install as deprecated aliases; see AbstractCore's
    Installation.
    abstract3d now comes with AbstractCore in every profile, pinned at 0.3.1.
  • Recommendations for every capability (AbstractCore 2.19.0).
    abstractcore models recommendations shows the recommended model for text, image input, speech
    output, speech input, image, video and music on every kind of machine (--host: this one), with
    the engine, the download size, the memory need and whether it fits. On Apple silicon the fit
    estimate follows the measured GPU memory limit (about 75% of unified memory by default). The text
    tiers are unchanged: Qwen3.5 9B below 24 GB (on an 8 GB Mac it reads as tight, with a small context), Qwen3.8 27B
    from 24 GB, Qwen3.8 Flash-Next from 128 GB. A model that runs only with a small context, such as
    Qwen3.8 27B on a 24 GB Mac, says so and prints the sudo sysctl iogpu.wired_limit_mb=… command
    that gives it more (20480 on 24 GB, 114688 for Flash-Next on 128 GB); nothing runs it for you.
    The recommended image model is memory-gated: on an 8 GB Mac the gateway's first-run guide shows
    it as not available here, with the reason, and a saved image or video route that does not fit is
    flagged. See AbstractCore's
    Recommended models.
  • Faster video by default (AbstractVision 0.3.31). Each Wan2.2 model has its own
    speed-oriented default size: 832x480 (TI2V-5B: 121 frames at 24 fps; T2V-A14B and I2V-A14B: 81
    frames at 16 fps), and the video is decoded in overlapping tiles, so the decode no longer sets the
    memory peak. Measured on Apple silicon (MLX peaks at 832x480 with tiled decode), TI2V-5B needs
    about 16.3 GiB for text-to-video and 16.6 GiB for image-to-video (about 60 GiB at the previous
    1280x704 default), so the recommended video route is written on Macs with 32 GB of unified memory
    or more, and a 24 GB Mac is told the GPU memory limit that makes it fit. T2V-A14B and I2V-A14B
    (about 38.3 and 38.4 GiB, measured) fit a 48 GB Mac once its GPU memory limit is raised. Pass width, height, num_frames, fps and steps for
    another size. The memory figures are AbstractVision/mlx-gen's measurements (the engine keeps the
    text encoder and VAE in memory), not the model's own requirement.
  • Left and Right switch screens in both terminal consoles (abstractgateway-console 0.11.1,
    abstractcore-console 0.4.1): the previous or next screen in browse mode, wrapping at both ends,
    like Ctrl+P / Ctrl+N. A focused element that uses the arrows keeps them: a text field moves
    its caret, a list or tabs bar changes its selection, a dialog keeps every key, and a focused
    scrolling pane scrolls.

Documentation

  • Upgrade: upgrading everything, the gateway only, from the consoles
    or the menu-bar icon, restarting the gateway, upgrading the apps and checking versions. README and
    Getting started lead with an Install section: the Mac package and the one-line commands.