finds.dev← search

// the find

yetone/magpie

★ 5,490 · Go · MIT · updated Oct 2026

Every agent's model. One place. Codex on DeepSeek, Claude Code on Kimi, from the menu bar.

magpie is a Go app that runs a local gateway on 127.0.0.1:3425, with a menu bar panel, TUI, web UI and CLI on top. It points the coding agents you already use (Claude Code, Codex, Gemini CLI, OpenCode and about 35 others) at whichever provider or subscription you choose, and switches models without hand-editing each agent's config. It is for developers who run several agents across several paid plans and are tired of editing config files when a quota runs out.

- The gateway translates between OpenAI Chat, OpenAI Responses, Anthropic Messages and Gemini, including streaming, tool calls and reasoning. Keeping tool-call and reasoning deltas intact across those four dialects is the hard part of a project like this, so it is the first thing to check in the tests.

- Config writes change one key and are described as atomic, with comments, ordering and formatting preserved. Rewriting a user's own TOML, JSON or YAML without clobbering it is where tools like this usually break, and the design targets it directly.

- Routing modes have concrete semantics (smart, order, rotate, usage, pace), and conversations stay pinned to the account that answered them while the vendor's prompt cache is still worth keeping. Pinning for cache reuse shows the author understands what the vendor actually charges for.

- Gateway middleware runs in-process, and a hook that throws or overruns leaves the request unchanged, so a bad plugin fails open instead of breaking every agent. The tree has a test file for most agent adapters and a race-shard script in build/, which is more regression coverage than most projects in this space.

- The scope is very wide for one project: 35+ agent adapters, a Bun-backed plugin runtime, a TUI, a web UI, a menu bar app, WebDAV and S3 sync, OTLP export, Docker and Termux. Every agent's config format belongs to someone else and changes without notice, so each adapter is an ongoing maintenance cost, and the README does not say how adapters are checked against new upstream releases.

- Subscription sharing is the part most likely to cause trouble. Signing in with a Claude, ChatGPT or Copilot subscription, exposing it to other agents, and failing over across several accounts when a quota runs out is the kind of use vendor terms often prohibit. The README says nothing about that risk, and a user adding a second account may not know it exists.

- The README is mostly a feature catalogue with emoji headings and tagline-style openers, and it skips the failure modes. It does not say how provider keys and subscription tokens are stored on disk, what a partial stream does when a provider drops mid-response, or what happens while Bun is still downloading. For a process that holds every key and token, those gaps matter more once 'Share on local network' is switched on.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →