MagicFrog is a self-hosted AI workbench for many computers: your own machine, cloud computers the server provisions, and real machines you enroll with the CLI.
One server binary, one SQLite database, and every browser and OS tool explicitly bound to a target computer.
What you get
- A control plane you own. The single-file
magicfrog-serverplus one SQLite file is the primary deployment. Docker Compose is an optional container path over the same server. See Self-hosting. - Local and cloud agents together. The built-in Pi agent runs on your machine, and server-side agents run on cloud computers. Every run has exactly one runtime owner, and neither location is a proxy for the other. See Tasks and agents.
- Every tool takes a computerId. Browser, shell, file, and desktop actions fail closed unless they name the computer they run on. Handles stay bound to their machine. See Computer ID routing.
- Cloud computers on one server. The server provisions Linux and Windows computers only on the host it runs on. That is the LITE boundary, not a setting. See Cloud computers.
- Enrolled real machines.
magicfrog enrollpairs an existing laptop, server, or VM under a device credential that is separate from your account login. Revoking an enrollment never touches the machine's data. See Device enrollment. - Bring your own keys. Anthropic, OpenAI, and any OpenAI-compatible endpoint. No bundled subscription and no vendor catalog. See Providers.
- A plugin market. MCP servers, plugins, and skills in one catalog, with a web station that sends installs to your desktop. See Market.
- Triggers, voice, memory, and one event inbox. Scheduled runs and watchers bind an explicit target. Speech stays on your own endpoints. Memory layers by account, user, agent, task, and device. Human decisions across every task land in one queue. See Triggers, Voice, Memory, and Event inbox.
How the pieces fit
workbench (desktop or web)
|
v
control plane -- computerId routing --> local provider
| SQLite docker provider
| one host windows provider
| enrolled daemon (outbound)
+-- egress: direct | frp | client proxy
Where to go next
- Self-hosting brings up the control plane and the owner account.
- Providers connects model access with your own key.
- Enroll a machine registers a real computer or VM with the CLI.
- Computer ID routing explains the target contract every tool follows.
- Admin covers the owner console for accounts, computers, and audit.