Framework agents are persistent: they have their own runtime, memory, skill files, and event loop, and they expect to live on a host machine that stays up. The host is your call — a Mac mini in your closet, a Raspberry Pi on the desk, a NAS running sshd, a Windows tower at the office, or a $5/month VPS. The right deploy model is a wizard — pick the host, pick the LLM, pick the channel, walk away. That's where OpenClaw, Hermes, Paperclip live.
Terminal-native agents are interactive CLIs you run inside an SSH session. They start when you type their name and stop when you exit — no wizard step. Claude Code and OpenAI Codex CLI work in Onepilot today because Onepilot already includes a real PTY terminal: install the CLI once on your host, SSH in from your phone, and run it. Onepilot's value here is the layer around the shell: file browser, git, cron, channel routing, the same iOS Keychain that holds your framework-agent keys.
Both surfaces share one routing layer: the AgentFrameworkRegistry on the iOS side, and the SSH transport plus channel plugins on the server side. Adding a new framework agent means writing an adapter, not rewriting the app — which is why the “On the path” cards above are concrete plans, not vague promises.