Run agents on another machine
Pool your laptop, workstation and headless boxes into a fleet with one passkey. Open a shell, run a command or leave a message for a machine that is asleep. No SSH keys, no Tailscale account.
How Beam works
Create a fleet
Run beam init --label laptop on the first machine. Two passkey prompts, in a browser or through a QR code on a terminal, create the fleet passkey and authorize the machine.
Join from each machine
Run beam join --label buildbox and approve with the same passkey, from your phone if the machine is headless. Check that the fleet fingerprint it prints matches beam status on a machine already in the fleet.
Run the agent there
n10 and Orchestra start tmux, create a worktree and launch an agent on the machine you name. Beam runs those calls there and returns the results.
Scroll sideways to see the whole diagram.
Beam connects the machines. Your tmux sessions, worktrees and agents work there as they do on your laptop.
Three ways to reach a machine in your fleet
Scroll sideways to see the whole diagram.
beam connectOpen an interactive terminal
Open a terminal on another machine in your fleet and run a shell or a tmux client in it. It resizes with your window.
beam execRun one command
Run one command on another machine, like ssh host cmd. Input and output are piped through, and beam exec exits with the remote exit code.
beam msgQueue a message
Leave a message for a machine that is asleep or offline. Beam stores it on disk and delivers it when the machine returns.
Scroll sideways to see the whole diagram.
Built into n10 and Orchestra
The Fleet section in n10 Desktop's sidebar creates or joins a fleet. Once another machine is in it, n10 Desktop can launch a worktree, agent or terminal there. Orchestra does the same with --machine.
Guard the passkey
One passkey signs every membership, and by default any machine in the fleet can open a shell on the others. The directory at beam.n10.is keeps each machine’s entry encrypted, and the fleet’s identifiers, passkey public key and signatures in the clear. Show a QR code only where you alone can see it. Remove a machine with beam revoke. beam peer grant limits a machine to msg, mailbox messages only, but n10 then won’t deliver its Orchestra reports: that needs the default, all.
Use Beam on its own
Beam is a standalone npm package. One Go binary is both the daemon and the CLI. It needs no Git or tmux and runs on macOS and Linux.
Try Beam
$ npm install -g @notaharness/beamBeam is in early beta. Open an issue if its behaviour does not match the docs.