Skip to content

Eugene Plexus v0.1.0-alpha.5

Pre-release
Pre-release

Choose a tag to compare

@troycorbinz troycorbinz released this 29 Sep 12:15
· 418 commits to main since this release

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

alpha.4 updates from the console: Nodes → Versions → Update on each
machine, or run the installer again. See Moving to alpha.5.

Changes since alpha.4

One connection per provider account

  • A hosted account is one connection that serves every model it offers.
    Add an OpenRouter, OpenAI or ElevenLabs key once, and each of its models
    appears as <connection>/<model>, beside your local ones, behind the same
    endpoint. A connection added before alpha.5 keeps its model name.
  • A client key's allowed models may use * patterns, such as
    openrouter/*, so one key can reach a whole account.

More of the OpenAI API, through the same endpoint

Each request goes only to a model that says it can do the job. When none can,
the refusal names the setting and says why, instead of the request failing
somewhere else.

  • Chat takes audio and PDFs, and a model that speaks can answer out
    loud
    . The chat settings clients send that alpha.4 dropped now reach a
    model that supports them: logprobs, logit_bias, reasoning_effort,
    verbosity, prediction and web_search_options.
  • Speech and transcription: /v1/audio/speech, /v1/audio/transcriptions
    and /v1/audio/translations, through OpenRouter, OpenAI and ElevenLabs.
    Transcription also runs on a local llama.cpp speech-recognition model, so a
    local-only key can use it.
  • Images: /v1/images/generations and /v1/images/edits.
  • Video: /v1/videos, as jobs you can check on. A gateway restart loses
    nothing. OpenAI shut its own video API down on 2026-09-24, so OpenRouter is
    the video backend.
  • Moderation, one model's details, and plain completions:
    /v1/moderations, GET /v1/models/{model}, and /v1/completions on local
    engines, including fill-in-the-middle for coding models.

The playground tries each of them

  • A door picker above the playground opens Completions, Speech,
    Transcription, Images and Video beside Chat. A door appears only when a model
    can use it.
  • Chat takes a recording or a PDF, and plays a spoken reply.
  • Images and video ask before they spend money, since each request is billed
    by the provider.
  • Every door has the same Diagnostic view as chat: proxy or direct, the
    request report, and a curl line.

Fixes

  • No cap on an answer's length by default. The gateway capped every answer
    at 2,048 tokens unless something else set one, which cut a reasoning model off
    while it was still thinking, so it never answered. The default is now blank:
    an answer runs until the model finishes, bounded by its context window. An
    install that still holds the old 2,048 has it cleared once when it updates,
    with a line in its log. A cap you set afterwards is kept.
  • Every served model's name shows its context window, for example
    qwen3-14b · 32k context: in the playground, on Home, Inference, Routing and
    Metrics. It was hard to find once a model was serving.
  • The keyring check at startup no longer logs a failed unlock when it is
    only checking whether a keyring exists.

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.4 in place on a Linux system install in WSL, as recorded
    there.
  • Each new endpoint has a fixture acceptance run in CI through the unchanged
    OpenAI SDK, plus live runs against OpenRouter, OpenAI and ElevenLabs; see the
    records linked from the support matrix. The
    playground's doors were driven in a real browser, 11 of 11.
  • 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.5

  • From alpha.4: Nodes → Versions → Update on each machine, from any
    console. Or run the installer again:
    • Windows:
      irm https://eugeneplexus.com/releases/v0.1.0-alpha.5/install.ps1 | iex
    • Linux or macOS:
      curl -fsSL https://eugeneplexus.com/releases/v0.1.0-alpha.5/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.5
    and keep the same data folder.
  • From alpha.2: a fresh install, as the
    alpha.3 notes describe.

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

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 six component commits, the
    built UI export included. That export's join commands name the alpha.5
    installer, so a worker installs the version its root runs.

The Linux amd64 image is built from the tag and published only after container
acceptance passes. It passed 28 container checks with zero failures before publication. Image:
ghcr.io/eugene-plexus/control-plane:v0.1.0-alpha.5, immutable reference
ghcr.io/eugene-plexus/control-plane@sha256:83c2274a69204a2891f4c6d87328e6bb6acef28f793bb5a71f7e2604da425e14.
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.