Skip to content

Biorouter v1.91.0

Choose a tag to compare

@Broccolito Broccolito released this 21 Sep 19:50
847c73c

Biorouter v1.91.0

This release replaces the old script-based desktop automation with a built-in Biorouter Copilot capability, separates web and document handling into its own capability, adds on-demand office contexts, and makes Biorouter usable on Windows.

Biorouter Copilot

Biorouter can now observe and control the desktop of the computer it runs on, through one built-in capability backed by a bundled native helper. The previous approach — Computer Controller's platform scripts plus Developer's screenshot tools — is removed rather than kept alongside it.

  • Ten tools cover the whole surface: list applications, inspect an application's window and accessibility elements, click, secondary-click, scroll, drag, type, press keys, set a control's value, and capture the screen.
  • Nothing is observed or controlled without approval. Each approval names the chat request, the model the observations will go to, and the computer being controlled. Approving a public model says plainly that screenshots and application text will be sent there, including anything another task has left on screen.
  • Approval ends when the request ends, and also on cancellation, a model change, or Stop. Chats keep their helper state and observations separate from one another, and control of the shared desktop is serialized so two chats cannot drive it at once.
  • The capability works the same from the desktop app, the CLI, and a browser-served session.
  • Helpers ship for macOS (Apple Silicon and Intel), Windows x64, and Linux x64. A Linux ARM64 helper is built and tested in CI, but no package in this release includes it. Packaging verifies the helper's source and patch provenance, architecture, file hashes, and that it carries its own dependencies.
  • Not supported, and it says so rather than failing obscurely: pixel capture on native Wayland, and headless sessions, which do not gain desktop access.

Web & Documents is its own capability

Web scraping, spreadsheet, document, PDF and cache tools moved out of the old Computer Controller into a separate Web & Documents capability. Desktop control and document handling are now independent: you can enable either without the other.

Existing settings are migrated on upgrade. If Computer Controller was on, Web & Documents arrives on, and any per-tool allowlist is split between the two. A configuration that had allowed only the document tools does not gain desktop control from the migration.

Office contexts

Word, PowerPoint, Excel and PDF contexts load on demand, so a chat that never touches a document does not carry their instructions. They prefer the built-in document tools where those fit and fall back to Python for richer authoring.

Windows

Windows was substantially broken before this release. Several separate defects are fixed:

  • A console window no longer flashes on every tool call.
  • ~ and %VAR% in paths expand, and editing a file no longer rewrites it to CRLF.
  • The update prompt reports what it will actually do, and the download works. Windows now ships a real installer, so updates from this release onward can replace the app in place instead of leaving it to be reinstalled by hand. See "Updating on Windows" below for what that means if you are coming from a zip install.
  • Claude Code can run a turn at all: the npm shim is resolved properly, and the system prompt no longer goes on the command line, where it hit the argument-length limit.
  • The CLI runs its work on a properly sized stack rather than the 1 MiB main thread.
  • The office contexts find a Python runtime.
  • just run-dev and just copy-binary work.

Biorouter Copilot needs a signed-in desktop session

Biorouter Copilot drives real applications, so it needs a desktop to drive. On every platform it
runs in the signed-in user's interactive session. Started without one, for example as a
service or a scheduled task, it reports that no desktop is available and does nothing else.

Checked on Windows Server 2025: in an interactive session the runtime reports ready in
under a second and a fixture exercised list_apps, get_app_state, set_value, type_text,
press_key, click, drag, screen capture and scroll with measured displacement. In session 0
as SYSTEM, with no interactive desktop, it reports desktop_unavailable in 0.84 seconds and
tells you to run it in the signed-in session.

Not yet checked on Windows: mixed DPI, multiple monitors, occluded windows, and the secure
desktop. Those are unclaimed rather than known broken.

Providers

  • Reasoning settings stay scoped to the model that declares them, instead of leaking across providers.
  • Provider errors report the actual failure, and CLI setup recovers from a bad entry instead of leaving the configuration wedged.

Updating on Windows

Windows gets a real installer for the first time, Biorouter-Setup-<version>.exe, and the
updater now downloads it in preference to the zip. The update dialog describes the file it
actually fetched, where it previously branched on the platform alone and could tell a user
to extract a zip that was not there.

⚠ This release is the first to ship an installer, so it cannot upgrade your current
install in place.
Every existing Windows install came from the zip, a folder you extracted
yourself, which the installer has no way to adopt. Running it installs a fresh managed copy
under your user account and leaves the old folder where it is; delete that folder by hand
once you are happy the new install works. From this release onward, updates replace the
installed copy in place and keep your shortcuts.

If you still use the zip rather than the installer, note that its layout changed. Earlier zips put
everything inside a Biorouter-win32-x64 folder; this one has the app's files at the top level.
Explorer's "Extract All" creates a folder for you, so it behaves as before. Extracting in place
(7-Zip's "Extract Here", or tar -xf) puts the files straight into the current folder, so make
an empty folder first.

Attribution and licensing

Biorouter redistributes several third-party components, and this release makes the
attribution for all of them correct and hard to lose again.

  • The Open Computer Use upstream is now vendored into the repository in full, at a pinned
    commit, with its MIT licence and notice. A build no longer clones anything, so an upstream
    change or deletion cannot affect a release. Biorouter's own changes stay in a separate
    patch set that is applied to a throwaway copy at build time.
  • The Windows package shipped llama.cpp binaries with no licence text, because the Windows
    release archive carries none while the macOS and Linux ones do. Packaging now fetches the
    licence from the pinned build and refuses to package without it.
  • The JavaScript and CSS libraries compiled into every Auto Visualiser figure now carry their
    licence texts, and a test fails if a new asset is added without one. Four of the seven had
    no notice of any kind.
  • A root NOTICE collects all of it, and the root LICENSE now carries the University of
    California's copyright alongside Block, Inc.'s. Biorouter is a fork of Block's Goose, and
    the licence said so while the copyright line did not.

Documentation

The documentation and the public site were audited against the code. The corrections worth
calling out, because a reader was being told something false:

  • Workspace Control was documented as off by default, on the site as a safety assurance. It
    ships on, and its surface includes reading and steering your other conversations.
  • The documented procedure for clearing Biorouter's data did not clear it. It named the
    wrong directory for chats and logs, and on Linux it used a capitalisation that matches
    nothing on a case-sensitive filesystem.
  • Auto Visualiser was described as 33 tools rendering figures inline in the chat. It
    advertises three tools covering 32 figure kinds, and figures open in the side panel.