Commit Graph

  • 919585d170 settings: Open shows the config folder in Finder, Explorer or the file manager — it handed a file:// link to the browser, which did nothing; the page asks for the folder by name only, so it can't be made to open another path yetone 2026-09-25 01:14:48 +08:00
  • 2b1e9e8619 usage: the Usage page shows what is left on an API key beside the subscriptions' allowances — DeepSeek, Kimi, OpenRouter and SiliconFlow are asked by their hosts, and any custom provider can name its balance endpoint and where the amount sits in the reply (Balance URL / field in the editor, balance= / balance.path= in the CLI), each key it has on asked with itself; magpie provider <id> prints it too (#40) yetone 2026-09-25 01:12:18 +08:00
  • 4a0719f236 codex: its own models, picked in Codex through magpie beside third-party ones, keep what Codex knows of them — image input, context window, tools, as its models cache has them — under magpie's id; they were given the entry of a third-party model, text only yetone 2026-09-25 01:09:22 +08:00
  • 9467970b0e cli: magpie accounts lists each subscription with its allowance — every window's share used, what is left and when it resets, like the window's cards; magpie accounts [agent] --json gives the same for scripts (#39) yetone 2026-09-25 00:13:51 +08:00
  • 5420466de1 routing: a ChatGPT account standing behind another is skipped for a model its plan doesn't have — each account's models are asked with its own sign-in when models are refreshed, so a Free one behind a Plus is no longer sent a model it answers with a 400; when no account lists the model, every one is still tried yetone 2026-09-25 00:07:09 +08:00
  • 837923c435 providers: the page shows its rows as they load, skeletons in the shape of the list, until the providers are in — it was blank on first open; a reload keeps the list it has yetone 2026-09-24 23:40:09 +08:00
  • fa30d2b8ce subscriptions: a ChatGPT account lists the Codex models of its own plan, asked from ChatGPT with its own sign-in when models are refreshed — it was Codex CLI's cache, which is of whichever account Codex CLI last asked with, or nothing if it never ran, so a Free account was offered models its plan answers with a 400 yetone 2026-09-24 23:38:50 +08:00
  • 1c19887e90 subscriptions: signing in to Claude over credentials a logout left behind makes the new account the one Claude Code uses — magpie took the stale keychain item and profile for a live sign-in, so the new account was kept beside it unused while Claude Code said it was signed out, and no Claude provider showed up (#31) yetone 2026-09-24 23:10:02 +08:00
  • 41931e2895 agent: omp (oh-my-pi) — its model picked in magpie like any agent's; a model through magpie adds magpie as a keyless provider in ~/.omp/agent/models.yml with the catalog as its models, and sets config.yml's modelRoles.default to magpie/<provider>/<model>; its other roles and the rest of both files stay as they are, comments too, and default takes magpie's entry out unless another role still uses it (#34) yetone 2026-09-24 22:36:15 +08:00
  • 82a109eab5 picker: a model starred in one agent is a favorite in every agent — magpie's models are starred by their catalog id, not the agent's own spelling of it, so the favorites tab no longer comes up empty (#33); Codex's own models follow the ones ticked on its ChatGPT subscription (#36); the effort slider shows a dot at every level (#37); and a relay Claude Code was pointed at in its own settings.json can be brought in from Import from other apps, as a provider like any other (#35) yetone 2026-09-24 22:27:59 +08:00
  • 440e535b29 subscriptions: a Claude account is its email within an organization — a Team seat on the email of a personal Pro or Max is added beside it, as "email · Team name", instead of replacing it; signing in again brings back a Claude, ChatGPT or other subscription that had been removed from magpie, which is why a sign-in could finish and nothing show up; and a new provider can no longer take a subscription's id (claude, codex, …), which hid that subscription once signed in (#31) yetone 2026-09-24 22:20:04 +08:00
  • be1b3967f4 agent: Command Code — its model picked in magpie like any agent's; a model through magpie adds magpie as a keyless provider in ~/.commandcode/providers.json with the catalog as its models, and sets settings.json's model to magpie/<provider>/<model>; its own models stay as they are, and default takes magpie's entry out; Command Code still wants its own sign-in (#32) yetone 2026-09-24 21:44:09 +08:00
  • 34a03fb0d8 site: the smart routing demo runs on a clock — each request an hour, every account counting down to its reset; Claude Max, resetting soonest, goes first and renews with little left unused, then resets last, and Claude Pro, next to reset, takes over; the point on it is now reset-aware yetone 2026-09-24 21:35:59 +08:00
  • ad1395f3bc routing: smart routing goes by when each account's allowance resets — of the accounts with quota to spare, the one renewing soonest goes first, since what it has left is lost at the reset while one renewing later keeps; one whose reset isn't known comes after, a few minutes apart counts as the same hour so the prompt cache stays warm, and running low still keeps an account for last; the site's routing demo shows each account's reset yetone 2026-09-24 21:29:34 +08:00
  • e2051a4268 site: the routing demo adds a second Claude subscription — a Claude Max and a Claude Pro side by side, the Pro rate limited and passed over for the next, beside ChatGPT, OpenRouter and Copilot yetone 2026-09-24 21:01:22 +08:00
  • 13a1604070 site: the smart routing demo shows real vendors — a Claude Max, a ChatGPT Pro, an OpenRouter key and a Copilot Business seat, each with its vendor's icon, and the captions name them by vendor yetone 2026-09-24 20:50:15 +08:00
  • efbe5660b0 backup: everything set up in magpie carried to another machine in one file — magpie backup writes the providers with their keys (or none, with --no-keys), the pictures picked for them, the settings, the profiles and every agent's model, sealed with a passphrase (AES-256-GCM, PBKDF2-SHA256) so nothing in it reads without it; magpie restore puts it in, replacing providers by id, keeping the keys already there for one that came without, and setting models only for the agents installed there; subscriptions stay with the machine they were signed in on (#28) yetone 2026-09-24 20:34:15 +08:00
  • 96e44c67d5 agents: DeepSeek Harness (dsh) — its model picked in magpie like any other agent's: dsh's own V4 Pro and Flash, or any model magpie serves, which puts the gateway in ~/.dsh/config.yaml with the whole catalog in dsh's /model; the TUI, dsh -p and dsh web all start on it, the user's own entries stay, one magpie replaced comes back when it's set back to default, and a DeepSeek endpoint set in dsh's settings, which dsh puts over it, is pointed out (#27) yetone 2026-09-24 20:22:22 +08:00
  • bf78700655 site: smart routing shown working — requests travel from Claude Code through magpie to the account the strategy picks, a tab for each (smart, in order, in turn, least used first); an account running low is kept for last, one answering 429, 402 or 503 sends the request back to magpie for the next, rests as long as it should and comes back, captions say what happened, and the count of errors that reached the agent stays at 0 yetone 2026-09-24 20:11:28 +08:00
  • 2cba789189 site: the Providers screenshot's logo lines up with the icons under it — the gap the window's traffic lights leave is gone from the crop yetone 2026-09-24 19:56:36 +08:00
  • bba15a4ee6 site: smart routing on the home page — a section of its own, linked from the nav: several accounts and keys on at once, the first kept while it has quota to spare, one out of credit, out of quota or rate limited passed over until it can answer, a failing one stepping back while the next answers; beside it a card of four Claude accounts, one serving and the others resting, each saying why yetone 2026-09-24 19:47:20 +08:00
  • 1a0b1f9fea providers: smart routing, a Copilot subscription signed in from magpie, and import by app in tabs — Smart, now the default, keeps the first key or account while it has quota to spare and moves to the one with the most left as it runs low; one out of credit sits out half an hour, one out of quota until it says it resets, one rate limited as long as the vendor asks, and one failing a minute, longer each time; Copilot gets a tile of its own that signs in with GitHub's device code (the code shown in magpie), several accounts beside the editors' own; Import from other apps shows a tab per app it reads, each with how many providers it has to bring over yetone 2026-09-24 19:41:34 +08:00
  • f7d5b6773c providers: several accounts of every kind in use at once, and routing over them — a Grok subscription can add more accounts, each signed in by grok login in a home of magpie's so the CLI's own sign-in is never touched, one first and the rest behind it; a provider with several keys or accounts on picks how requests spread: in order (the next takes over on quota, rate limit or failure), in turn, or least used first (a subscription by the share of its allowance used, a key by the tokens magpie sent it lately); failing ones still rest a minute at the back yetone 2026-09-24 19:06:46 +08:00
  • 97d9a69dd8 providers: import from other apps lists them by name, each with its own icon and a Select all for what it has to bring over; a vendor already in magpie says so on a line of its own, and its choices (another key, keep both, replace) stay on one line yetone 2026-09-24 18:55:52 +08:00
  • 0b0f258c0f providers: import from other apps — the add sheet's Import… reads the providers CC Switch (its database, or the older config.json) and Alma have set up, read-only, and lists them to pick from: what magpie has already is marked, a key for a vendor that is already here can join it as another key, an id in use is kept beside or replaced, and sign-ins, Azure, Gemini-protocol relays and entries pointing at magpie itself are shown but not offered; keys are read again on import and only reach the window masked yetone 2026-09-24 18:48:08 +08:00
  • e1d211cc4b provider: a Copilot CLI sign-in is found — who from ~/.copilot/config.json (JSONC, COPILOT_HOME honoured), the token from the keychain's copilot-cli item or the file's plaintext copilotTokens; the CLI's token is not traded for a session token (that answers 403) but sent as is under the CLI's own integration, at the API its account is served from yetone 2026-09-24 18:24:03 +08:00
  • 7a030fa91c provider: a Grok subscription shows its allowance — the account row and the Usage page read the CLI's own /billing credits: this period's share used (weekly for SuperGrok) with when it resets, and on-demand spending against its cap when there is one yetone 2026-09-24 17:49:11 +08:00
  • 20948e596f gateway: a Grok subscription (SuperGrok, X Premium+) works like a Cursor one — magpie runs the signed-in Grok Build CLI in a home of its own (none of the user's hooks, skills, rules or MCP servers; only search_tool/use_tool, reaching magpie's MCP tools), borrowing the user's token through magpie grok-token without touching their sign-in; the add sheet has a Grok tile that signs in with grok login's device code yetone 2026-09-24 17:35:36 +08:00
  • eaf0b55de1 site: the worker adds the Web Analytics beacon to each page itself — Cloudflare's automatic injection skips responses a worker returns, and since the www redirect every page is one yetone 2026-09-24 17:34:37 +08:00
  • c2a6d0bf8e site: www.usemagpie.ai redirects to usemagpie.ai on every page — the worker now sees each request, not only /api and /download, so the static pages stopped being served twice yetone 2026-09-24 17:33:44 +08:00
  • 545506e875 provider: an import link can name the vendor's own icon yetone 2026-09-24 17:13:03 +08:00
  • ecb084aa4e window: when a newer magpie is out, an Update pill sits before the header's icons — hover says which version, a click installs it (or restarts into one already downloaded); an open window checks again every 15 minutes yetone 2026-09-24 16:46:06 +08:00
  • c879d8fffe provider: normalize Codex system input messages to developer he_sk 2026-09-24 16:22:42 +08:00
  • c8130269c6 gateway: a Cursor subscription works like a Claude one — magpie runs the signed-in cursor-agent in a home of its own (no user hooks, only magpie's MCP tools allowed), streams its thinking and text, hands tool calls to the client one answer at a time, and a slow tool is collected with magpie_wait; the add sheet has a Cursor tile that signs in through cursor-agent login yetone 2026-09-24 15:49:47 +08:00
  • 4445d94042 window: the tabs and buttons in the header are plain clicks — only the header's empty space drags the window, instead of a native strip that dragged from anywhere across the top yetone 2026-09-24 15:27:35 +08:00
  • e00083a3f7 gateway: the model list can be searched — words match the id, the name and the provider, Escape clears it yetone 2026-09-24 15:20:57 +08:00
  • 65fdcb1a14 update: the download shows how far along it is — percent and megabytes in Settings — a dropped connection is tried twice more, and a failure says why instead of only that it failed (#21) yetone 2026-09-24 15:07:35 +08:00
  • fb19c5d246 gateway: parallel tool calls turned into Responses keep their own call ids — each one took the next call's id and the last two shared one, which upstreams then refused as a duplicate tool_call_id; a thought sent under both reasoning_content and reasoning comes out once (#18) yetone 2026-09-24 15:04:58 +08:00
  • b9a591d22b gui: take back the update pill and import-icon hunks that went out with the last commit — they are still being worked on yetone 2026-09-24 15:02:39 +08:00
  • 407afee63d providers: a key's protocol is picked from a small menu that says what each choice is for, instead of the system popup; opening a provider no longer folds the add-provider gallery under it, and closing its dialog keeps the page where it was yetone 2026-09-24 15:01:48 +08:00
  • f3b66c4784 provider: a key can be made for one protocol — for relays that hand out one key for Anthropic and another for OpenAI; the gateway uses each key on its own endpoint only and sends Claude models to the Anthropic key, GPT models to the OpenAI one, translating when it must yetone 2026-09-24 14:54:56 +08:00
  • 64d3a1c23a provider: several subscription accounts in use at once, each with its usage — tick more Claude or ChatGPT accounts and the gateway moves to the next when the first is out of quota; every account row shows how much of its 5-hour and weekly allowance is used yetone 2026-09-24 14:46:26 +08:00
  • 6514b559aa provider: several accounts of one provider in use at once — tick every key to use; requests go to the first, and when it is out of quota or rate limited the next ticked key takes over before any fallback model yetone 2026-09-24 14:36:39 +08:00
  • abc5962600 provider: every provider can hold several accounts — keep more than one API key, name them, and switch which one is in use from the editor yetone 2026-09-24 14:32:54 +08:00
  • b19f3dbabe provider: add a Claude or ChatGPT subscription from magpie itself — it opens the vendor's sign-in, takes the account when it comes back and lists it with the others, one click from being in use; magpie accounts add <agent> on the command line (#15) yetone 2026-09-24 14:26:37 +08:00
  • 829d52f75a provider: a custom provider can name several catalogs (catalog=openai, deepseek) — a gateway reselling many vendors gets names and reasoning levels for all of them, prefixed ids like deepseek/deepseek-chat included (#17) yetone 2026-09-24 14:10:53 +08:00
  • 08c3d1ff4c gui: the refresh icon spins cleanly — on a layer of its own, so WebKit leaves no ghost arrows, and it finishes its turn instead of snapping back (#16) yetone 2026-09-24 14:08:57 +08:00
  • 435d65882b gateway: fallback — when a provider is out of quota, rate limited or down, a request goes to the next model you listed for it, before any of the reply is sent; set it in the provider editor or with magpie provider fallback yetone 2026-09-24 14:04:42 +08:00
  • 5da0d0d973 provider: several Claude Code and Codex subscriptions — magpie remembers each account it sees signed in, and switches the agent between them in the editor or with magpie accounts (#15) yetone 2026-09-24 13:55:25 +08:00
  • a6a3ffbe4b site: a sponsor spot under the hero, with 鱼鱼连线 (YYLX AI Router) yetone 2026-09-24 13:47:54 +08:00
  • 61004668ac provider: a custom provider can have its own icon — a picture of yours (PNG, JPEG, SVG…) or any built-in one, in the editor or with magpie provider icon (#12) yetone 2026-09-24 13:10:45 +08:00
  • 931b16604e gui: the provider editor keeps what you typed when the window comes back (#13), and shows save errors inside itself (#14) yetone 2026-09-24 12:55:13 +08:00
  • 240e687ea3 gui: gofmt yetone 2026-09-24 12:50:51 +08:00
  • 3ffebeebb6 provider: custom request headers for custom providers elonnzhang 2026-09-24 12:16:51 +08:00
  • 2a90ed1030 usage: the page no longer waits on subscription quotas — they load on their own, in parallel, stale-while-revalidate (#6) yetone 2026-09-24 12:49:51 +08:00
  • 1f72ac82f0 net: requests go through a proxy — Settings → Proxy, or the environment's, or the system's (#8) yetone 2026-09-24 12:48:01 +08:00
  • fa0ff18643 gui: Settings → Tray icon chooses whether a click opens the quick panel or the main window (#7) yetone 2026-09-24 12:43:21 +08:00
  • d77e14701b provider: a signed-out Claude Code account goes away, and any account can be removed (#9) yetone 2026-09-24 12:42:14 +08:00
  • 14663c3a65 agent: Claude Code's opus, sonnet, haiku and fable tiers can each take their own model (#3) yetone 2026-09-24 12:38:41 +08:00
  • 4069e955c1 site: import links need 0.1.8 yetone 2026-09-24 12:21:32 +08:00
  • 3d4d4b9c2b site: Add to magpie docs, the /import landing page and badges yetone 2026-09-24 12:17:47 +08:00
  • 4bd3f3a4b5 import: magpie://import links add a provider after the user confirms yetone 2026-09-24 12:17:45 +08:00
  • 084480beec provider: OpenCode Go and Zen presets, with the session header OpenCode requires (#2) yetone 2026-09-24 11:49:06 +08:00
  • 1786bc3c3d agent: Pi offers xhigh and max for models that have them yetone 2026-09-24 11:15:59 +08:00
  • 24f9edafa1 gateway: relay developer messages to Chat Completions backends as system yetone 2026-09-24 10:10:37 +08:00
  • 489c9fa431 site: screenshots keep their shape on narrow screens yetone 2026-09-24 03:59:12 +08:00
  • 2789e8ee67 gui: import sync yetone 2026-09-24 03:37:14 +08:00
  • 2bc760d86a gui: on Windows, show the window once its webview has loaded yetone 2026-09-24 03:36:50 +08:00
  • 1e0d034ce5 gui: log the webview's errors yetone 2026-09-24 03:31:31 +08:00
  • 01e1971a7b site: downloads for Windows and Linux yetone 2026-09-24 03:22:02 +08:00
  • 75cb192647 Desktop app for Windows and Linux yetone 2026-09-24 03:22:02 +08:00
  • b98af9acc6 site: the GitHub link no longer switches the theme yetone 2026-09-24 03:04:09 +08:00
  • 7198ba218d Revert "site: reshoot the panel, picker and providers on the current build" yetone 2026-09-24 02:56:46 +08:00
  • 82e25aa2d7 site: reshoot the panel, picker and providers on the current build yetone 2026-09-24 02:54:41 +08:00
  • 1fcd539f29 agents: keep the tray panel's control-sized pills yetone 2026-09-24 02:44:02 +08:00
  • 07533b7f02 agents: line the model and setting controls up in two columns yetone 2026-09-24 02:40:29 +08:00
  • 86c7fee4d5 providers: drop the + and the agents that only could use a provider yetone 2026-09-24 02:40:29 +08:00
  • 4115d443c1 providers: a plain edit lists only the agents actually on it yetone 2026-09-24 02:36:06 +08:00
  • 912b3a79ce site: the ChatGPT plan is a provider too yetone 2026-09-24 02:33:19 +08:00
  • 8a746c025b "every agent's model" in the app too, not only coding agents yetone 2026-09-24 02:31:21 +08:00
  • cd4f97e326 "Every agent's model": magpie is not only for coding agents yetone 2026-09-24 02:30:23 +08:00
  • b3aa852326 site: back to "Every coding agent's model. One place." yetone 2026-09-24 02:29:18 +08:00
  • 45b25253d2 site: no purple; the gateway card and OG image stay black and white yetone 2026-09-24 02:28:03 +08:00
  • 0ecc7b6218 providers: 鱼鱼连线 with a region switch, and a ui polish pass yetone 2026-09-24 02:27:11 +08:00
  • 9f678458b9 catalog: ask a relay for its chat models without the anthropic header yetone 2026-09-24 02:27:06 +08:00
  • 4b251650b8 site: the gateway card is light in light mode yetone 2026-09-24 02:18:17 +08:00
  • 6c99ab01ef Open source under MIT; the site shows third-party models in every agent yetone 2026-09-24 02:16:29 +08:00
  • 28688e2463 site: the feed survives GitHub's API limits, from SHA256SUMS alone yetone 2026-09-24 02:03:07 +08:00
  • 73ef0e5276 usemagpie.ai, and a magpie that updates itself yetone 2026-09-24 01:57:50 +08:00
  • 0bcb2cc26c release: a v* tag dispatches the build to yetone/magpie-releases yetone 2026-09-24 01:09:59 +08:00
  • 3b0cf9a965 logo: a round magpie in black and white, drawn from one SVG yetone 2026-09-24 01:09:59 +08:00
  • 702477525a Claude subscription as a provider; model lists fetched, never compiled in yetone 2026-09-24 00:20:59 +08:00
  • 1f44812457 agent: rewrite the wiring an older dial left behind yetone 2026-09-24 00:17:32 +08:00
  • 402a96c39d Rename dial to magpie, with a magpie for a logo yetone 2026-09-23 23:54:14 +08:00
  • 9e3e338e63 logo: a kingfisher yetone 2026-09-23 23:25:07 +08:00
  • 4ae45965ef gui: list age reads "3h ago", not "3h0m0s ago" yetone 2026-09-23 19:14:56 +08:00
  • 9d85f6bfb8 make dev: Ctrl-C ends the loop; dialog never wider than the window yetone 2026-09-23 19:14:26 +08:00
  • 50db5ccbed gui: provider editor as a dialog; one easing for every motion yetone 2026-09-23 16:19:47 +08:00
  • c05e83fc07 gui: settings page — theme, language, about; deeper panel palette yetone 2026-09-23 16:12:22 +08:00
  • a404ebe8dd gui: quieter, column-aligned agent rows on a tinted panel yetone 2026-09-23 15:47:55 +08:00