Source Files
¶
- accounts_cli.go
- autostart_cli.go
- backup_cmd.go
- gateway_keys_cli.go
- groups_cli.go
- groups_rules_cli.go
- gui_on.go
- healthcheck_cli.go
- library_cli.go
- main.go
- model_cli.go
- plugins_cli.go
- providers_cli.go
- quota_cli.go
- quota_wait.go
- search_cli.go
- sessions_cli.go
- signals.go
- signals_unix.go
- update_cli.go
- usage_cli.go
- visible_cli.go
- web_cli.go
- webdav_cli.go
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
access
Package access keeps the named API keys issued by the gateway.
|
Package access keeps the named API keys issued by the gateway. |
|
agent
Package agent describes every coding agent magpie can drive: where its config lives, which fields matter (model, effort, …) and which values to offer.
|
Package agent describes every coding agent magpie can drive: where its config lives, which fields matter (model, effort, …) and which values to offer. |
|
agentenv
Package agentenv names the environment variables through which an agent really installed on this machine reaches magpie: the one list a test sandbox clears, so that a test meets only the agents it put there itself.
|
Package agentenv names the environment variables through which an agent really installed on this machine reaches magpie: the one list a test sandbox clears, so that a test meets only the agents it put there itself. |
|
appdir
Package appdir decides where magpie keeps its own files: the one place every other package asks (#508).
|
Package appdir decides where magpie keeps its own files: the one place every other package asks (#508). |
|
autostart
Package autostart opens magpie when the user logs in, in the tray with no window, so the gateway every agent is pointed at is there from the start.
|
Package autostart opens magpie when the user logs in, in the tray with no window, so the gateway every agent is pointed at is there from the start. |
|
awake
Package awake keeps the computer from going to sleep by itself while agents work through magpie's gateway (xiao_wang24004 on X: the computer went to sleep in the middle of an agent's task).
|
Package awake keeps the computer from going to sleep by itself while agents work through magpie's gateway (xiao_wang24004 on X: the computer went to sleep in the middle of an agent's task). |
|
backup
Package backup packs what the user set up in magpie into one file, sealed with a passphrase, to carry to another machine: the providers (their keys too, unless left out), the pictures picked for them, the settings, the profiles, every agent's model and the library (the instructions, MCP servers and skills magpie gives the agents).
|
Package backup packs what the user set up in magpie into one file, sealed with a passphrase, to carry to another machine: the providers (their keys too, unless left out), the pictures picked for them, the settings, the profiles, every agent's model and the library (the instructions, MCP servers and skills magpie gives the agents). |
|
budget
Package budget holds each gateway key to its own limit (#585): what a key has used in its window is summed from usage.jsonl, the records the Usage page shows, so it survives a restart; a request is let in only while the key has something left after what its requests in flight are expected to use, and those are settled with what the call recorded.
|
Package budget holds each gateway key to its own limit (#585): what a key has used in its window is summed from usage.jsonl, the records the Usage page shows, so it survives a restart; a request is let in only while the key has something left after what its requests in flight are expected to use, and those are settled with what the call recorded. |
|
catalog
Package catalog knows which models exist.
|
Package catalog knows which models exist. |
|
claudebridge
Package claudebridge contains the small stdio MCP helper used by magpie's Claude Subscription bridge.
|
Package claudebridge contains the small stdio MCP helper used by magpie's Claude Subscription bridge. |
|
codexcat
Package codexcat renders models the way Codex describes them: the entries of its models.json, for `model_catalog_json` and for the model list magpie hands Codex in place of the ChatGPT backend's.
|
Package codexcat renders models the way Codex describes them: the entries of its models.json, for `model_catalog_json` and for the model list magpie hands Codex in place of the ChatGPT backend's. |
|
davsync
Package davsync keeps magpie's setup the same on every computer through a WebDAV folder or an S3-compatible bucket.
|
Package davsync keeps magpie's setup the same on every computer through a WebDAV folder or an S3-compatible bucket. |
|
desktopdir
Package desktopdir finds Claude Desktop's folders: the one place the agent, the library and the session readers ask.
|
Package desktopdir finds Claude Desktop's folders: the one place the agent, the library and the session readers ask. |
|
edit
Package edit provides format-preserving editors for the config files that coding agents keep: JSON/JSONC, TOML and YAML.
|
Package edit provides format-preserving editors for the config files that coding agents keep: JSON/JSONC, TOML and YAML. |
|
filememo
Package filememo keeps what was parsed from a file until the file changes, so a page that asks many times over reads it once.
|
Package filememo keeps what was parsed from a file until the file changes, so a page that asks many times over reads it once. |
|
fonts
Package fonts describes the installed faces a desktop page can choose.
|
Package fonts describes the installed faces a desktop page can choose. |
|
fx
Package fx keeps the dollar-to-yuan rate the CNY currency preference (see internal/settings) converts list-price costs with.
|
Package fx keeps the dollar-to-yuan rate the CNY currency preference (see internal/settings) converts list-price costs with. |
|
gateway
Package gateway is the local LLM endpoint agents talk to.
|
Package gateway is the local LLM endpoint agents talk to. |
|
gui
Package gui hosts the desktop app: a tray panel and a regular window that share one small web UI.
|
Package gui hosts the desktop app: a tray panel and a regular window that share one small web UI. |
|
gui/genpurposes
command
genpurposes generates the browser's request-kind catalog from usage's catalog.
|
genpurposes generates the browser's request-kind catalog from usage's catalog. |
|
imagemcp
Package imagemcp is `magpie mcp image`: a stdio MCP server an agent is given, when it is picked for it in the Library, to make images with the model the Settings' Image generation names, and videos with a Grok subscription.
|
Package imagemcp is `magpie mcp image`: a stdio MCP server an agent is given, when it is picked for it in the Library, to make images with the model the Settings' Image generation names, and videos with a Grok subscription. |
|
library
Package library keeps what every agent should know, once: the instructions each reads before a conversation, the MCP servers it can call and the skills it can load.
|
Package library keeps what every agent should know, once: the instructions each reads before a conversation, the MCP servers it can call and the skills it can load. |
|
mcpauth
Package mcpauth signs magpie in to a remote MCP server that asks for an OAuth sign-in (Neon, Notion, Supabase…), once for every agent (#615).
|
Package mcpauth signs magpie in to a remote MCP server that asks for an OAuth sign-in (Neon, Notion, Supabase…), once for every agent (#615). |
|
mcpauth/mcpauthtest
Package mcpauthtest is a remote MCP server behind an OAuth sign-in, as Neon's or Notion's is, for the tests of magpie signing in to one (#615).
|
Package mcpauthtest is a remote MCP server behind an OAuth sign-in, as Neon's or Notion's is, for the tests of magpie signing in to one (#615). |
|
middleware
Package middleware runs the gateway middleware plugins declare: a module with onRequest, onEvent and onResponse hooks that the gateway calls on every request an agent sends it, every event of the reply's stream and every whole reply.
|
Package middleware runs the gateway middleware plugins declare: a module with onRequest, onEvent and onResponse hooks that the gateway calls on every request an agent sends it, every event of the reply's stream and every whole reply. |
|
netproxy
Package netproxy decides which proxy magpie's own requests to vendors go through.
|
Package netproxy decides which proxy magpie's own requests to vendors go through. |
|
omarchy
Package omarchy is what magpie knows of Omarchy (omarchy.org), the Hyprland desktop: whether it runs on one, and the look its current theme gives every surface, so magpie's windows can take that look there and nowhere else.
|
Package omarchy is what magpie knows of Omarchy (omarchy.org), the Hyprland desktop: whether it runs on one, and the look its current theme gives every surface, so magpie's windows can take that look there and nowhere else. |
|
plugin
Package plugin runs OpenCode's provider plugins for magpie.
|
Package plugin runs OpenCode's provider plugins for magpie. |
|
proc
Package proc makes the commands magpie runs: agents' CLIs, the probes that ask them what they have, the system's own tools.
|
Package proc makes the commands magpie runs: agents' CLIs, the probes that ask them what they have, the system's own tools. |
|
profile
Package profile stores named snapshots of every agent's settings, and of who gets what from the library, so a whole setup can be switched in one move.
|
Package profile stores named snapshots of every agent's settings, and of who gets what from the library, so a whole setup can be switched in one move. |
|
provider
Package provider holds the model vendors magpie can reach: where each one lives, which protocols it speaks, the API key the user typed in, and which of its models should show up in the agents' pickers.
|
Package provider holds the model vendors magpie can reach: where each one lives, which protocols it speaks, the API key the user typed in, and which of its models should show up in the agents' pickers. |
|
qoder
Package qoder speaks Qoder's inference API (api3.qoder.sh agent_chat_generation SSE) the way the Qoder desktop client does, so a Qoder subscription can serve every agent through magpie's gateway.
|
Package qoder speaks Qoder's inference API (api3.qoder.sh agent_chat_generation SSE) the way the Qoder desktop client does, so a Qoder subscription can serve every agent through magpie's gateway. |
|
redact
Package redact keeps secrets on the machine.
|
Package redact keeps secrets on the machine. |
|
sessions
Package sessions lists the agents' recent sessions from their own session files — Claude Code's projects/*/<id>.jsonl (and Qoder's, the same kind), Codex's rollout files, OpenCode's database (or its older JSON files) and ZCode's, Pi's session files and omp's, DeepSeek Harness's, Cline's, Grok Build's, WorkBuddy's, Droid's, Cursor CLI's and Alma's chat stores — with the tokens each spent, what that cost at the effective price, and the command that resumes it.
|
Package sessions lists the agents' recent sessions from their own session files — Claude Code's projects/*/<id>.jsonl (and Qoder's, the same kind), Codex's rollout files, OpenCode's database (or its older JSON files) and ZCode's, Pi's session files and omp's, DeepSeek Harness's, Cline's, Grok Build's, WorkBuddy's, Droid's, Cursor CLI's and Alma's chat stores — with the tokens each spent, what that cost at the effective price, and the command that resumes it. |
|
settings
Package settings keeps the few preferences the desktop app has: which palette to paint with, which language to speak, how the agents are arranged.
|
Package settings keeps the few preferences the desktop app has: which palette to paint with, which language to speak, how the agents are arranged. |
|
shortcut
Package shortcut puts magpie in the Start menu on Windows.
|
Package shortcut puts magpie in the Start menu on Windows. |
|
source
Package source chooses where magpie reads from, with a mirror as a fallback when the official address can't be reached.
|
Package source chooses where magpie reads from, with a mirror as a fallback when the official address can't be reached. |
|
stats
Package stats counts magpie's users: once a day a running magpie tells PostHog it is in use, under an id made up on this computer, with its version and system, and, unless the user turned that part off, which agents, providers and models it is used with, by their built-in ids (Usage): a provider of the user's own is only "custom".
|
Package stats counts magpie's users: once a day a running magpie tells PostHog it is in use, under an id made up on this computer, with its version and system, and, unless the user turned that part off, which agents, providers and models it is used with, by their built-in ids (Usage): a provider of the user's own is only "custom". |
|
steady
Package steady reads and replaces files that another process may be replacing at that moment.
|
Package steady reads and replaces files that another process may be replacing at that moment. |
|
testenv
Package testenv gives a package's tests a home of their own, on every OS: HOME, USERPROFILE (Windows' home), the XDG folders and Windows' APPDATA and LOCALAPPDATA all point into one new temporary folder, the agents' own variables (agentenv.Vars) are cleared, and the keychain tools and agent CLIs on PATH are failing stand-ins, so that no test reads or writes the files of the user running it.
|
Package testenv gives a package's tests a home of their own, on every OS: HOME, USERPROFILE (Windows' home), the XDG folders and Windows' APPDATA and LOCALAPPDATA all point into one new temporary folder, the agents' own variables (agentenv.Vars) are cleared, and the keychain tools and agent CLIs on PATH are failing stand-ins, so that no test reads or writes the files of the user running it. |
|
tui
Package tui is magpie in the terminal: one row per agent, arrow keys to pick a field, enter to change it; and pages for providers and usage beside it (pages.go), routing groups (routing.go), sessions (sessions.go) and the library (library.go), 1–6 to go between them.
|
Package tui is magpie in the terminal: one row per agent, arrow keys to pick a field, enter to change it; and pages for providers and usage beside it (pages.go), routing groups (routing.go), sessions (sessions.go) and the library (library.go), 1–6 to go between them. |
|
update
Package update keeps magpie current.
|
Package update keeps magpie current. |
|
upstream
Package upstream reads the vendors' own status pages (#971, emo172): a request that fails while Anthropic's or OpenAI's API is down looks, in magpie, like a sign-in or quota problem, and the user signs in again and again for nothing.
|
Package upstream reads the vendors' own status pages (#971, emo172): a request that fails while Anthropic's or OpenAI's API is down looks, in magpie, like a sign-in or quota problem, and the user signs in again and again for nothing. |
|
usage
Package usage keeps the token count of every call the gateway serves, so magpie can show what each agent and model consumed and roughly what it cost.
|
Package usage keeps the token count of every call the gateway serves, so magpie can show what each agent and model consumed and roughly what it cost. |
|
wslrun
Package wslrun runs, from magpie on Windows, a command that is installed only in a WSL distro: Claude Code signed in to inside Ubuntu, say.
|
Package wslrun runs, from magpie on Windows, a command that is installed only in a WSL distro: Claude Code signed in to inside Ubuntu, say. |
|
zed
Package zed speaks to Zed's hosted models, the way the Zed editor does for a Zed Pro (or trial, student, business) account.
|
Package zed speaks to Zed's hosted models, the way the Zed editor does for a Zed Pro (or trial, student, business) account. |
Click to show internal directories.
Click to hide internal directories.