Deploy Paperclip from iPhone
A five-step iPhone-only deploy of Paperclip's multi-agent orchestrator: host, install, hire CEO, configure heartbeats, supervise. No desktop session required.
What gets installed
Paperclip is a Node.js server plus a React dashboard, packaged as the open-source repo at github.com/paperclipai/paperclip. Onepilot installs Node.js under nvm in the user's home directory, clones Paperclip into a user-owned folder, runs the interactive setup, and starts the control plane as a background process. The default install needs no sudo.
State lives on the host (SQLite by default). Tickets, hires, budgets, heartbeats, and the audit log all persist there. The iPhone is a remote control — it does not store the company state.
The five steps
- Add a host. Hostname, port, SSH credentials. Onepilot stores the credentials in the iOS Keychain, hardware-backed by the Secure Enclave.
- Run the Paperclip deploy wizard. Onepilot installs nvm, pulls Node.js LTS, clones the Paperclip repo, runs
npm installand the setup script, and starts the control plane. - Hire your first CEO agent. Pick a model (Claude Code, Codex, OpenClaw, Hermes via the hermes-paperclip-adapter, or an OpenRouter model). Give the CEO a budget. The wizard registers the model's API key from the iOS Keychain on the host's user-scoped env.
- Configure heartbeats and budget caps. Set the heartbeat interval and the global budget. Approval gates fire when limits are hit; gates appear as one-tap cards on the iPhone.
- Supervise. Watch the heartbeat list, approve or deny budget increases, audit ticket history, rollback bad config changes. Pause or resume the company at any time.
Common failure modes
- Node.js too old. Paperclip requires Node 20+. Onepilot pins to an LTS via nvm — if you have system Node already at a lower version, the nvm version takes precedence in the Paperclip process environment, so no conflict.
- Port already bound. Default Paperclip port is 3000. If something is already listening, the wizard offers an alternate port and updates the Onepilot tunnel.
- Agent missing API key. Hires fail at startup if the LLM key for the chosen model isn't in the host's user-scoped env. Re-run the hire step; Onepilot rewrites the env from the iOS Keychain.
- Heartbeats missing. If an agent stops heartbeating, Paperclip marks it stalled after the threshold and Onepilot turns the heartbeat indicator red. Tap the agent for the last action; usually it is an LLM-side rate limit, not a Paperclip bug.
Related
FAQ
Can I deploy Paperclip from iPhone without a desktop?
Yes. Paperclip is a Node.js server with a React dashboard, so the install steps are: provision a host, install Node.js, clone the Paperclip repo, run setup, and start the service. Onepilot does all five over an SSH session originating from the iPhone. There is no desktop step required.
What kind of host does Paperclip need?
Linux or macOS, reachable over SSH, with at least 2 GB RAM and 20 GB disk for the orchestrator alone. Add 2 GB RAM per concurrent agent it hires. A Raspberry Pi 5 (8 GB) handles a small home setup; a small VPS handles always-on production. The host can be hardware you already own — a Mac mini, a Linux box, a NAS — or a rented VPS.
Does Paperclip need root or sudo?
No. Onepilot installs Node.js under nvm in the user's home directory and clones Paperclip into a user-owned folder. The Paperclip control plane runs as the unprivileged SSH user. If you choose to expose the dashboard publicly, that requires a reverse-proxy step that does need sudo, but the default Onepilot setup binds locally and tunnels through SSH instead.
How do I hire the first CEO agent?
After Paperclip is running, Onepilot's wizard offers a hire step: pick the model (Claude Code, Codex, OpenClaw runtime, Hermes runtime via the hermes-paperclip-adapter, or any OpenRouter model), give the CEO a budget, and confirm. The CEO agent receives the company goal and decomposes it into tickets that other hired agents can claim.
How do heartbeats work?
Each hired agent sends periodic heartbeats to Paperclip with its current task, last action, and remaining budget. Onepilot surfaces those heartbeats as a live list on the iPhone — green if healthy, amber if stalled, red if missing for longer than the threshold. Tap an agent to see its current ticket and last action; tap pause to halt it without losing state.
What happens when a budget is exceeded?
Paperclip blocks further LLM calls from the offending agent and emits an approval gate. The gate appears in Onepilot as a one-tap card on the iPhone with the agent's name, the current spend, the proposed increase, and the reason. Tap approve to raise the cap; tap deny to keep the agent paused. The decision is logged and reversible.
Deploy your first Paperclip company
Free to get started. Bring your own host and your own LLM key.
Join the waitlist