Skip to content

Releases: BUKOWSKIREAL/magpie-gemini-web

v0.5.4 — AI Studio backend v0.2.14

Choose a tag to compare

@BUKOWSKIREAL BUKOWSKIREAL released this 21 Oct 03:04

Move the managed AI Studio backend to upstream v0.2.14 (v0.2.14-magpie.1).

  • Fixes from upstream: sign-in no longer loses credentials when closing Camoufox fails; Camoufox child processes no longer linger on Windows; limit: 0 cooldowns back off instead of waiting out RetryDelay; Chrome account import is more reliable.
  • The managed build now uses upstream's own distributor setting instead of a patch: the admin page says updates are managed by magpie-gemini-web, and the update endpoint refuses with HTTP 409 (was 403).
  • Upstream's new MODEL_CHANNELS, MEDIA_OUTPUT and MEDIA_BASE_URL settings belong to the admin page and are not taken from the environment the plugin runs in.

Upgrading: a backend installed by an earlier plugin version is replaced automatically on the next start, keeping accounts, port and sign-in credentials. Camoufox is not downloaded again.

Note: upstream now accepts the AI Studio terms of service on an account's behalf, when its model list is read, if the account hasn't accepted them yet.

Rolling back to v0.5.3 keeps working: the new version's data changes are additive.

Validation: all five platform CI jobs rebuild the backend and match the pinned SHA-256s, and run the real-binary managed smoke test. With real Google accounts: an existing v0.2.13 setup upgraded and served requests, rolled back to v0.2.13 and served requests, and a new account signed in through the plugin's one-click flow and served a request.

The attached npm tarball is the same artifact published to npm.

AI Studio 0.2.14-magpie.1 — Upstream-managed updates

Choose a tag to compare

AI Studio backend based on upstream v0.2.14, managed exclusively by the Magpie plugin.

  • Built with upstream's own distributor settings instead of a patch (-X internal/app.version=v0.2.14-magpie.1, -X internal/app.managedBy=magpie-gemini-web). Update checks return local managed status without contacting GitHub; installing an update returns HTTP 409 without changing files or restarting.
  • The admin version panel says updates are managed by magpie-gemini-web.
  • Command-line build (no desktop tag), as before.
  • Include five SHA-256-pinned platform archives, upstream MIT license, checksums, and reproducible build metadata.

Source: upstream commit 370a313814099b508881807effa2a9d72f2d7e66 (tag v0.2.14), no patches. Build instructions: docs/studio-release.md.

These are backend assets consumed by magpie-gemini-web v0.5.4, not the npm plugin package.

v0.5.3 — AI Studio proxy settings that stick

Choose a tag to compare

@BUKOWSKIREAL BUKOWSKIREAL released this 19 Oct 06:37

Fix the managed AI Studio backend ignoring the proxy saved in its admin page and falling back to a stale system proxy (#14).

  • The admin page now owns the proxy, timeouts, concurrency and other runtime settings: the plugin writes defaults to .env once and no longer overwrites them or passes them over it on start. Only the settings the plugin depends on (listen address, API key, admin credentials, backend recipe) stay plugin-managed.
  • PROXY is passed only when studio.proxy or AI_STUDIO_PROXY names one; an empty value counts as unset. A proxy kept in an older config.json is migrated to .env once.
  • The usage card shows the proxy the backend actually uses, where it comes from, whether a saved one is overridden, and whether a change still needs a restart; it also links the local admin page. Sign-in instructions and failures and studio:status show the same.
  • studio:start --proxy saves the proxy to .env instead of setting it over the saved one.

Upgrading: a backend started by an earlier version keeps an empty PROXY in its environment until it restarts. The usage card says so and gives the command; restart it once.

The proxy set for ai-studio in Magpie's provider settings is still not passed to the local backend; set it in the admin page or with studio.proxy.

Validation: all five platform CI jobs pass (181 tests on macOS/Linux; Windows runs the Studio suite). End-to-end checks against the real v0.2.13-magpie.1 backend cover admin-page saves surviving restarts, a cleared proxy, studio.proxy overriding a saved one, and CLI status without a launch record.

The attached npm tarball is the same artifact published to npm.

v0.5.2 — Managed AI Studio updates

Choose a tag to compare

@BUKOWSKIREAL BUKOWSKIREAL released this 18 Oct 10:05

Upgrade AI Studio to v0.2.13 with a plugin-managed backend, so backend updates follow plugin upgrades consistently across platforms.

  • Disable the backend's admin online updater and replace its controls with a message to upgrade through Magpie. Update installation returns HTTP 403; update checks do not contact GitHub.
  • Use SHA-256-pinned v0.2.13-magpie.1 builds for macOS x64/arm64, Linux x64/arm64, and Windows x64.
  • Set AI Studio's backend timeout and the plugin's default request timeout to 30 minutes for long responses.
  • Filter Build/assistant_route models out of the Agent model list.
  • Improve process identity checks, stale PID recovery, restart handling, and version-conflict recovery while preserving account/configuration data.
  • Include reproducible backend builds, platform CI, and updated Chinese/English documentation.

Validation: all five platform CI jobs pass. macOS/Linux run the full plugin suite (178 tests); Windows runs the complete Studio suite with platform-appropriate checks. Every platform rebuilds the backend, matches the pinned archive/executable SHA-256 hashes, and verifies real installation, update rejection, unchanged executable/PID, managed admin UI, and shutdown. CI also caught and verified fixes for protected-directory swaps on macOS and post-exit HTTP connection resets on Windows.

The attached npm tarball is the same artifact published to npm. Backend assets are available in the separate studio-v0.2.13-magpie.1 release.

AI Studio 0.2.13-magpie.1 — Plugin-managed updates

Choose a tag to compare

AI Studio backend based on upstream v0.2.13, managed exclusively by the Magpie plugin.

  • Disable online updates in the backend on macOS, Linux, and Windows. Update checks return local managed status; update installation returns HTTP 403 without changing files or restarting.
  • Replace admin update controls with a bilingual message directing users to upgrade the plugin.
  • Include five SHA-256-pinned platform archives, upstream MIT license, checksums, and reproducible build metadata.

Source: upstream commit a784c5193b3ba5c4894d536b2f4cd73e87f99475 plus patches/studio-managed.patch. Build instructions: docs/studio-release.md.

These are backend assets consumed by magpie-gemini-web v0.5.2, not the npm plugin package.

v0.5.1 — Simpler AI Studio sign-in

Choose a tag to compare

@BUKOWSKIREAL BUKOWSKIREAL released this 17 Oct 16:34

Available on npm as magpie-gemini-web@0.5.1, with the latest tag set to 0.5.1.

Google AI Studio sign-in, simplified

  • One way to sign in. Setting up, using an account already on this machine and signing an expired one in again are now one choice, 用 Google 账号登录(推荐). The first time it sets the local service up and opens the login window without asking anything. After that it lists 添加新的 Google 账号 (add a new account) and the accounts already there: one that serves gets its card at once, and one that must sign in again opens the login window for it. Magpie's own "sign in again" on a card leads to the same list. Connecting an AIStudio2API of your own stays a separate choice.
  • One card per Google account. 0.5.0 gave all accounts one sign-in, which Magpie, naming sign-ins by email, showed as a bare API key … beside the accounts. Each account is a sign-in of its own again, named by its email, as Gemini Web's are. The local service still picks the account for each request.
  • Usage card per account. It shows the models that account is cooling down on and when each comes back, or that the account needs to sign in again. A 0.5.0 pool sign-in keeps working and keeps the pool's card; once you have a card per account, it can be removed (set another card first, then remove it).
  • The first login says it takes a while. Its first line now says Camoufox (about 300 MB) is downloaded first, so the window can take a few minutes while nothing changes in Magpie.

Validation

167 JavaScript tests passed. The attached tarball was installed into an empty project on macOS arm64 and run against a live local AIStudio2API v0.2.12 with two accounts: the two sign-in choices, the account list, a per-account sign-in, 10 text models and the usage card all checked out.

Post-publication verification passed: the public npm and GitHub tarballs match byte for byte, registry SHA-1/SHA-512 integrity checks match, and the published plugin started its default backend on Linux x64.

Package SHA-1: 6dbc1e8b31074c711724434f30f96e9b1df09d6a.

v0.5.0 — Google AI Studio provider

Choose a tag to compare

@BUKOWSKIREAL BUKOWSKIREAL released this 17 Oct 16:14

Available on npm as magpie-gemini-web@0.5.0, with the latest tag set to 0.5.0.

New: Google AI Studio provider (ai-studio)

A second provider, independent of Gemini Web, uses Google AI Studio through AIStudio2API v0.2.12, pinned and SHA-256 checked, running on 127.0.0.1.

  • Native tool calls. Tools go through Function Calling, not prompt simulation.
  • Four thinking levels. Thinking models offer minimal / low / medium / high; minimal is the fastest and uses the least quota.
  • No browser for generation. A browser (Camoufox, in its own window) is only opened to sign a Google account in.
  • One-click setup. Choose 一键配置本地 Google AI Studio(推荐): the plugin installs and starts the service, then opens the login window. The first login downloads Camoufox, so the window can take a few minutes to appear.
  • One sign-in for all accounts. Run the setup again to add accounts; they share one card, and the service picks the account for each request. Other options sign in to a service already set up, sign an expired account in again, or connect an AIStudio2API of your own.
  • Usage card. AI Studio reports no remaining quota; the card names the accounts and shows the models they are cooling down on, with the time each comes back.
  • Looks after itself. An earlier version still running is replaced, a first setup moves off port 2048 when it is taken, the kept archive reinstalls a damaged binary without a download, and backend.log is set aside past 10 MB. Errors that need a command give it with its full path, so it runs from anywhere.

Supported on macOS, Linux (x64 / arm64) and Windows x64. See the README for setup and options.

Gemini Web

  • Long replies are no longer cut off. requestTimeoutMs now bounds each wait on the backend (for the response headers, and for each next piece of a stream) instead of the whole reply, so a reply that keeps coming has no overall limit. This applies to both providers.

Validation

166 JavaScript tests passed. The attached tarball was installed into an empty project on macOS arm64 and run against a live local AIStudio2API v0.2.12: both providers exported, 10 text models listed, the usage card read, and the management CLI ran from the installed path.

Google may still restrict accounts used this way; use at your own risk. Native Task remains experimental.

Post-publication verification passed: the public npm and GitHub tarballs match byte for byte, registry SHA-1/SHA-512 integrity checks match, and the published plugin started its default backend on Linux x64.

Package SHA-1: 90134a67362bfabfb7dfb4513d0d473cac673a3b.

v0.4.1 — Optimized backend by default

Choose a tag to compare

@BUKOWSKIREAL BUKOWSKIREAL released this 16 Oct 09:42

Available on npm as magpie-gemini-web@0.4.1, with the latest tag set to 0.4.1.

One-click setup now installs the project's optimized Gemini Web backend by default on macOS, Linux and Windows, for both x64 and arm64. Users no longer need to compile Go or manually apply the Argon patch to receive the existing backend optimizations.

  • Default backend: 4.22.0-magpie.1, with fixed SHA-256 checks for every platform.
  • Existing running backends remain active. Stop an old official backend and the next automatic startup upgrades it while preserving configuration and credentials.
  • npm run backend:install:upstream selects the pinned official v4.22.0 fallback; the selection persists. npm run backend:install returns to the optimized channel.
  • Failed downloads or checksum verification preserve the existing binary. Explicit local Argon builds remain supported.
  • Added reproducible backend builds, native checks on six OS/architecture combinations, and a workflow for uploading verified binaries.

Validation: 113 JavaScript tests passed; all six native CI builds passed Go tests, matched the pinned hashes, and passed installation/startup checks. All six public binary downloads matched their hashes. The attached plugin tarball also passed a real download/install/startup/authentication/model-discovery/reuse smoke test on macOS arm64 with isolated data and no Google credentials.

This release distributes the existing backend patch; it does not implement every finding in the performance audit or establish live Google latency benchmarks. Native Task remains experimental.

Post-publication verification passed: the public npm and GitHub tarballs match byte for byte, registry SHA-1/SHA-512 integrity checks match, and the published plugin successfully downloaded and started its default backend on Linux x64.

Package SHA-1: 282a391a6e7dc4913ff952882cc54cffcc107135.

Optimized backend 4.22.0-magpie.1

Choose a tag to compare

This release makes the project's existing backend optimizations available as ready-to-run binaries for macOS, Linux and Windows, on x64 and arm64. Plugin 0.4.1 selects these assets by default during one-click setup; users do not need Go or a manual patch step.

It builds the pinned upstream v4.22.0 source with patches/argon.patch, including:

  • Stable XSRF cache keys and background refresh of cached tokens.
  • Downstream cancellation for the main generation and upload requests.
  • Early completion after complete tool calls, avoiding unnecessary stream tail waiting.
  • Browser request headers on direct connections.
  • Argon response-model verification to detect silent model fallback.

This distributes the existing patch. It does not claim to resolve every issue in the performance audit or guarantee a fixed Google response time. Native Task remains a separate experimental route.

Build provenance

  • Upstream: zexadev/gemini-web2api-go@a65b1d1
  • Patch SHA-256: 12e4e4599f8a39d578dfadd93269bc9e31cf7e4eee247e3c1081bf2b3351d8fa
  • Go: 1.27.1, CGO_ENABLED=0, -trimpath -buildvcs=false -ldflags="-s -w"
  • Reported backend version: 4.22.0-magpie.1
  • Included: six executables, patched source archive, build.json, SHA256SUMS.txt, and the upstream MIT license.

The installer pins each executable's SHA-256 in lib/backend-release.json. Existing published assets must not be overwritten because installed plugin versions rely on those hashes.

Validation

All seven jobs in the release verification workflow passed. Each of the six native OS/architecture runners rebuilt the pinned sources, passed Go tests, matched the published SHA-256, and installed and started its real executable with isolated data. The plugin's 113 JavaScript tests passed on Node 22. These checks used no Google credentials and made no live generation requests.

Upgrade and rollback

A running backend is left alone. Stop it before upgrading (the managed process ID is in the data directory's backend.pid); the next automatic start upgrades a stopped official backend and keeps configuration, credentials and the account database. Explicitly installed local Argon builds remain supported.

From the plugin directory, with the backend stopped:

npm run backend:install           # select this optimized release
npm run backend:install:upstream  # select the pinned official v4.22.0

The selected channel persists across automatic starts. Failed downloads or checksum verification preserve the existing binary.

v0.4.0

Choose a tag to compare

@BUKOWSKIREAL BUKOWSKIREAL released this 15 Oct 13:47

Tool calls work out of the box

Coding agents such as Claude Code send tools with every request, even "Respond only with hello", and don't read the plugin's toolcall capability. With allowTools off by default, every one of their requests got a 400 that read like a request-body field rather than a plugin option (#11).

  • On by default. allowTools now defaults to true. To turn tool calls off, set {"allowTools":false}.
  • A 400 that says what to run. When tools or images are off, the error now gives the command that turns them on, e.g. magpie plugin options magpie-gemini-web '{"allowTools":true}'.

Clients that do read toolcall will now start sending tools. Tool calls are still emulated with prompts upstream, so they aren't always reliable.

Native Task on macOS (experimental)

On macOS, sign-in offers one more method after the Web ones: macOS 原生 Task(实验性). Requests skip the Gemini Web backend and go to a local daemon that runs them in Gemini.app's own Task mode, with tool calls on its native Function Calling channel, as gemini-web/gemini-task-argon. Windows and Linux don't offer it; one-click Web setup stays the recommended way everywhere.

This is an alpha, and it isn't recommended yet:

  • It supports only the verified Gemini.app build.
  • The daemon needs a local setup first: Gemini.app signed in, plus session templates. Without it, the sign-in fails and gives the setup command. See native-task/README.md.
  • It has passed only one live tool round trip against real Argon (see Validation).
  • If an agent is interrupted before it returns a tool result, that call holds the only Task slot until it times out, up to about 4 minutes; meanwhile requests get a 409.
  • The usage card shows nothing for a Task sign-in.

Validation

109 Node tests and 41 Python tests passed. After release, both changes were checked live by loading the plugin directly against the local backends, not through the Magpie gateway:

  • Web, default options. The issue's request, "Respond only with hello" with tools, got 200. With a coding-agent system prompt, gemini-4-argon called the tool 2 of 2 times; gemini-3.8-flash declined 2 of 2 times, as the README already notes for Flash. allowTools: false gave the new 400.
  • Task. The Task sign-in listed only gemini-task-argon. Argon returned a Read tool call in 19.2 s, and after the tool result, the right final answer in 13.7 s. One first health check timed out once and couldn't be reproduced.

The attached tarball is the npm package (shasum 249374655a6e060e16d72915ec70d94b6619a0ee). It contains no account credentials, session templates, local databases, research notes or backend binary.