One script.
A machine that stays on.
macOS on Apple silicon, or Linux on x86_64 and arm64. No root. The script installs Invincible Gateway and the Autobot Agent, verifies the release, and walks through network, model and background services.
Served from this site · SHA-256 6cf20caf34574f3bfa6b77b1b3c258709f602e0d7d58d03db1b3e686c1d41863 · 14.6 KB. The upstream script is at github.com/wckdboy/invincible ↗.
Static archives for macOS and Linux. Check them against SHA256SUMS; the script above does this automatically.
Before you start
- macOS 13+ on Apple silicon, or Linux on x86_64 / arm64.
- curl and git; Rust is installed by rustup only if a source build is needed.
- llama.cpp is installed if missing: Homebrew on macOS, a pinned build on Linux (CUDA when an NVIDIA GPU is present).
- Linux sandboxing for unattended agent work needs
bwrap(bubblewrap). Without a sandbox, such commands are refused, not run unconfined.
What setup asks you.
Five questions, in this order. Answer them and the node is running as a background service.
Network
offline, direct, or Tor / SOCKS5 for the whole machine. Cloud backends and the Telegram bot both follow it.
Model
a Qwen open-weights model sized to the machine’s memory (Qwen3.5 4B, 9B or 27B), downloaded and checked, or any hf: GGUF.
Agent
its working directory, and whether turns stay on local models. The default is yes.
Telegram
optionally, a bot token from @BotFather. Approvals arrive as buttons.
Background
launchd on macOS; systemd user units with linger on Linux, so it survives logout on a VPS.
Then
Before you commit.
Is this at version 1?
No. v0.x is an early build. It serves models, routes by policy, signs receipts and runs the agent end to end, but the independent security review is still ahead. Treat it as something to try, not as hardened infrastructure.
Does it need an NVIDIA GPU?
No. llama.cpp runs on CPU and Apple Metal. A GPU makes larger models pleasant; it is not a requirement for a small one. The installer sizes the default model to the machine.
What is exposed to the network?
Loopback and paired interfaces only. Nothing is exposed to the open internet by default. Pairing establishes keys; there is no account or relay. You can put the node behind Tailscale, WireGuard or a Tor onion service if you need it from elsewhere.
Can I still use a cloud model?
Yes, if you configure a backend and your rules allow it. It is off by default. Requests go through redaction, are receipted, and are refused when the network is offline or egress = "never".
How do I verify what I downloaded?
The install script checks the archive against a SHA256SUMS file signed by the release key pinned in the script, and checks the Sigstore attestation when the GitHub CLI is signed in. The manual commands are on Verify.