one agent · every computer
One agent on all your machines.
Demon is a single agent that can act on every computer you own. Install it on your laptop, your desktop, your server — then run one agent that holds tools on all of them at once. Ask it to pull a file off one machine and run it on another; it's the same agent, everywhere.
How it works
-
01
Install on each machine
A small daemon runs on every computer you want to control and exposes that machine's tools — shell, files, search — over authenticated connections.
-
02
Pair them once
Run
demon pairon a computer you've already set up and paste its single-use invitation on the new one. Secrets sync across the pair automatically, encrypted end to end. -
03
Run one agent, everywhere
Open the client and talk to a single agent. Every request names the computer it targets, so one conversation can reach across all of your paired machines.
Built for control
-
No middleman
Your devices connect directly over authenticated Iroh links — no relay or intermediary server in between.
-
End-to-end encrypted
Everything your machines say to each other is encrypted end to end. Nothing in the middle can read it.
-
A shared scratchpad
Your agents keep a shared note-taking space that stays synced across every one of your devices.
-
Targeted by design
Every tool call names its target machine, and both ends verify it before anything runs.
-
Confined to your roots
File tools are canonical-path confined to the directories you choose — the agent can't wander outside them.
-
Runs in the browser
The client is a WebAssembly app. Pair a browser to your machines and go.
Install
Apple Silicon macOS or Linux:
curl --proto '=https' --tlsv1.2 --fail --silent --show-error --location \
https://demon-updates.nauseam.workers.dev/install.sh | sh
Already set up? Run demon pair on one machine and paste the
invitation on the next — or open the app and pair a
browser.
declarative install
NixOS and Home Manager
Nix owns the launcher and startup service. Demon's signed updater keeps the running agent current between Nix rebuilds.
Add Demon to your flake inputs
inputs.demon.url = "github:anchpop/demon";
Home Manager
Add the module to your Home Manager configuration:
modules = [
demon.homeManagerModules.default
{ services.demon.enable = true; }
];
Apply it, then set up this computer once:
home-manager switch
demon setup --deployment external
NixOS
Add the module and choose the account that runs Demon:
modules = [
demon.nixosModules.default
{
services.demon = {
enable = true;
user = "your-user";
};
}
];
Rebuild, then set up this computer once:
sudo nixos-rebuild switch --flake .#my-machine
sudo -u your-user demon --data-dir /var/lib/demon setup --deployment external