Skip to content

Eugene Plexus v0.1.0-alpha.6

Pre-release
Pre-release

Choose a tag to compare

@troycorbinz troycorbinz released this 02 Oct 03:40
· 111 commits to main since this release

The sixth public alpha. It remains a prerelease: not a stable release, and
not a claim of production readiness. Start with the
installation guide.

alpha.5 updates from the console: Nodes → Versions → Update on each
machine, or run the installer again. See Moving to alpha.6.
From alpha.6 that page is under Machines.

Changes since alpha.5

Workbench, Eugene's own chat app

  • Install Workbench from the console (Apps), on any machine in your
    install. It is a chat app for the models your machines serve, with web
    search when you turn it on, attachments, and answers that keep going if you
    close the tab.
  • You sign in with Eugene. With nobody added, Workbench asks for Eugene's
    passphrase. Add people under People in the console and each signs in
    with their own name and password, and sees only their own chats.
  • On a Windows service or a Linux system install, each app runs in an
    operating-system account of its own
    , so it cannot read Eugene's keys,
    passphrase or another app's key. Apps can send their logs to Eugene, and
    they appear on the machine's Logs page.
  • The story of the first chat a person had in it, unedited:
    It looked itself up.

Web search, run by your install

  • Add a search account under Backends: a SearXNG you run (free), or a
    Brave Search key. With both, the free one is tried first.
  • Models search the web through any of the three doors: chat
    (web_search_options), Responses (web_search) and Anthropic Messages
    (web_search_20250305). Claude Code's WebSearch and Codex's live search
    are run by your install's search account.
  • The search runs here; only the search terms go to the search service.
    A client key says whether it may search.
  • image_generation runs on /v1/responses with an image model you have.

Settings built for your machine

  • Build settings for this machine, on a model's page, measures the model
    on this machine's card and offers a choice between faster replies and a
    longer context, in tokens a second and tokens of context. Choose an accuracy
    level; the result is saved as a profile, and launching it uses exactly what
    was measured. It asks before stopping any model that is running.
  • Mixture-of-experts models are scored for what they are: their experts
    can stay in system memory while the rest runs on the card. An 8 GB card is
    now offered a 30B mixture-of-experts model, measured at 46 tokens a second
    on such a card, where it was offered nothing that size before. The starter
    set gains that class, and after a Low build the builder can offer a smaller
    file of the same model.
  • A running model says which profile it was launched from.

Clearer settings and screens

  • The console is organised as Library · Backends · Gateway · Machines, and
    every setting is on one Settings page by topic, with a search box.
  • Every setting shows the value in effect: unset, default, inherited and
    unknown are said as such, and a setting that waits for a restart says so.
  • Updates follow released versions by default (Settings → Updates). A
    machine that never chose keeps what it followed.

Other changes

  • MLX on Apple silicon is no longer experimental. It is checked on
    GitHub's macOS runners, which expose Metal; it has not been run on a
    physical Mac by us.
  • A tool call a local model would get wrong is repaired: a named
    tool_choice on llama.cpp is answered through structured output, which took
    the measured models from 0 of 6 to 28 of 28.

Fixes

  • Installing an app from another machine's console no longer loops you
    through sign-in.
  • A profile with Flash attention on no longer fails to start. llama.cpp
    needs --flash-attn on, and a bare --flash-attn swallowed the next flag.
  • Two runtimes of one model can be told apart: each shows its profile.
  • A reply that searched no longer reads twice in Workbench. A model told
    to search can write an answer before searching; that text is now folded
    under Written before searching, and only the answer after the search goes
    back to the model.
  • Searches on a Brave free-plan account are spaced out, so a second search
    in the same turn is no longer refused, and a used-up monthly quota is said
    as such.

Known issues

  • The Flash attention box shows off when unticked, but llama.cpp then
    decides for itself and usually turns it on
    (agent #6).
  • A confirmation inside a table row (for example The engine stops; the model
    files stay.
    ) can widen the page so its buttons need a sideways scroll
    (ui #14).
  • Brave's rate-limit headers are read as Brave documents them; they have not
    been seen from a live Brave account by us.
  • A recovery checkpoint leaves out an app's data on a Linux system install
    (Workbench's chats are kept by systemd outside Eugene's folder), and has not
    been checked with an app installed on Windows
    (specs #11).

Verification and limits

  • The exact pins passed Windows and Linux CI, the installer suites, and
    container acceptance before the image was published.
  • The packaged installers passed a clean install on Windows and in WSL, as
    recorded in the release record.
  • Upgrading alpha.5 in place on a Linux system install in WSL, as recorded
    there.
  • Workbench, sign-in and app accounts each have an acceptance run in CI, on
    GitHub's Windows and Ubuntu runners for app accounts; web search was run
    against Claude Code, Codex, Chrome and a real SearXNG. See the records
    linked from the support matrix.
  • Still owed:
    • an Intel Arc card;
    • two physical cards in one machine;
    • models on a passed-through NVIDIA card in the container;
    • a physical Mac;
    • modest-GPU capacity;
    • native Linux unattended boot;
    • the Windows reboot-before-sign-in checks;
    • moderated sessions with people new to Eugene.
  • Use a trusted LAN or VPN, and finish first-run setup before enabling remote
    access.

Moving to alpha.6

  • From alpha.5 or alpha.4: Nodes → Versions → Update on each machine,
    from any console (the page is under Machines once a machine runs
    alpha.6). Or run the installer again:
    • Windows:
      irm https://eugeneplexus.com/releases/v0.1.0-alpha.6/install.ps1 | iex
    • Linux or macOS:
      curl -fsSL https://eugeneplexus.com/releases/v0.1.0-alpha.6/install.sh | sh
  • From alpha.3: run the installer again, the command above. It keeps your
    passphrase, models, client keys and joined machines.
  • The container: select ghcr.io/eugene-plexus/control-plane:v0.1.0-alpha.6
    and keep the same data folder.
  • From alpha.2: a fresh install, as the
    alpha.3 notes describe.

A recovery checkpoint made on alpha.5 restores alpha.5.

Distribution

The GitHub prerelease
provides install.ps1, install.sh, manifest.json and SHA256SUMS.

  • The tag is annotated and immutable.
  • The manifest records the specs commit and all seven component commits,
    the built UI export included. That export's join commands name the alpha.6
    installer, so a worker installs the version its root runs.
  • Workbench installs from the agent's catalogue at a commit pinned in the
    agent, so the version an install offers is fixed by the release.

The Linux amd64 image is built from the tag and published only after container
acceptance passes. It passed 29 container checks with zero failures before publication. Image:
ghcr.io/eugene-plexus/control-plane:v0.1.0-alpha.6, immutable reference
ghcr.io/eugene-plexus/control-plane@sha256:89ba518c1b42e9255a9716890908d20aad9110a79785ef8c40c9c6fdb789c7f1.
Earlier alphas' tags, assets, containers and website installer URLs remain
available.

These pins fix Eugene's source, not every upstream dependency: Python packages,
uv, engine downloads and model catalogue data can change.