Self-hosted, cross-machine AI agent runner and manager that runs on Node.js.
- Collaborative — invite others with fine-grained permissions to manage agents, teams, and machines together
- Multi-agent — organize agents into teams, communicate via mail, wake on messages, scale across machines
- Computer use — agents control any Windows/Mac/Linux GUI, not just the shell
- Cost controls — per-agent spend limits (fixed or rolling window), no uncapped runs
- All vendors supported — OpenAI, Google, Anthropic, OpenRouter, and local LLMs
- Remote management — manage agents, hosts, costs, and messaging through a self-hosted web UI
| Local | Server | Host | |
|---|---|---|---|
| One-off runs, no setup | ✓ | ||
| Web UI & saved logs | ✓ | via server | |
| Cross-agent mail persisted | ✓ | via server | |
| Remote management | ✓ | via server | |
| Joins a remote server | ✓ |
Pick Local to try an agent out. Pick Server for your day-to-day setup. Add Hosts when you want agents to run across multiple machines — each host can offer different resources (a GPU box, a desktop for computer use, a Windows VM) and agents can run on any host or be pinned to one.
Requires Node.js 22+ on every machine (node -v).
Runs one or more agents on this machine. No hub, no web UI, nothing saved to disk.
npm install naisys
npx naisys agent.yamlThe setup wizard on first run walks you through a .env and agent.yaml. Pass a directory to run every agent yaml inside it.
Everything in one process — Hub for persistence, Supervisor web UI, and optional ERP. Agent logs are saved, mail survives restarts, and you manage the whole setup from the browser.
npm install naisys @naisys/hub @naisys/supervisor @naisys/erp
npx naisys --integrated-hub --supervisor --erpStartup prints the supervisor URL and the command to set the superadmin password. For a production install that auto-restarts, see PM2 deployment.
Ties this machine into a running Server. The server can start/stop agents here, route mail to and from here, and stream logs. Best practice is to run NAISYS inside a dedicated VM or user account.
First expose the Server if it isn't already public — ngrok is the easiest path:
ngrok http <port of your naisys server>Then on each machine you want to join:
npm install naisys
npx naisys --hub=https://<server>/hubNAISYS is split into four packages, each with its own README:
naisys— the agent runner@naisys/hub— central server for persistence and cross-machine communication@naisys/supervisor— web UI for monitoring and managing agents@naisys/erp— AI-optimized order/task management system
- PM2 deployment for production servers and hosts
- XFCE / VNC host setup for desktop computer-use agents
- Running from source below
- Release and versioning
- Architecture overview — how the packages fit together
- HATEOAS API design — how the supervisor and ERP expose AI-first REST APIs
- Computer use — coord spaces, focus, and per-vendor contracts for desktop control
- Database design — Prisma strategy, the three schemas, migrations
- Agent config options and supported models
- Other design docs under
docs/cover the larger initiatives (multi-machine, mail, web auth, supervisor users, port strategy, hub security, mail attachments)
git clone https://github.com/swax/NAISYS.git
npm install && npm run build
mkdir testrun && cd testrun
node ../apps/naisys/dist/naisys.js --integrated-hub --supervisor --erp- Node.js 22 or higher
- Linux, Mac, Windows
lynxbrowser:apt install lynx(Linux) orbrew install lynx(macOS)- For text web browsing; in desktop mode NAISYS can use graphical web browsers
MIT