macOS Zombie turns a macOS 13 Ventura or newer desktop into a private,
root-capable AI Systems Administrator host. It creates a dedicated local
zombie account, deploys the chat service under /opt/ai-zombie, stores
configuration in /etc/macos-zombie, and logs to
/Library/Logs/macos-zombie/.
Install on a disposable or intentionally managed Mac:
curl -fsSL https://raw.githubusercontent.com/japer-technology/macos-zombie/main/scripts/install.sh | sudo bashCommon non-interactive install:
sudo ZOMBIE_NONINTERACTIVE=1 \
SSH_PUBLIC_KEY="ssh-ed25519 AAAA... you@example" \
TAILSCALE_AUTHKEY="tskey-auth-..." \
./scripts/install.sh installSubcommands: install, upgrade, verify, doctor, repair, and uninstall.
Preview any mutating run without sudo using --dry-run:
./scripts/install.sh install --dry-runServices are launchd daemons named tech.japer.macos-zombie.chat and
tech.japer.macos-zombie.health. Remote access uses macOS Remote Login,
built-in Screen Sharing, and optional Tailscale.
Upgrade in place from a newer checkout of this repo:
git pull
sudo ./scripts/install.sh upgradeupgrade is idempotent. It runs brew update && brew upgrade for the
managed packages, redeploys /opt/ai-zombie, refreshes the agent Python
venv and global npm tools, rewrites the launchd plists, restarts both
daemons, and records the new version in /etc/macos-zombie/VERSION.
Run make lint (ShellCheck + bash -n + Python compile), make test
(non-root smoke checks plus the tests/python/ pytest suite), and
make package to build a release bundle. Install the shared git hooks
with pre-commit install so commits run the same checks as CI. See
SUPPORT.md for triage and RELEASE.md for
the maintainer release process.
The Ubuntu version is the master concept and feature set: https://github.com/japer-technology/ubuntu-zombie
