The Ubuntu PC that can
administer itself — with your approval.
Ubuntu Zombie adds a private, root-capable AI Systems Administrator account to your Ubuntu machine. Ask it to diagnose, explain, configure, repair, and operate itself — in plain language, under your explicit approval, with every action audit-logged. Use your own cloud key, or run fully offline with a local LLM.
The control loop
One loop. You hold every link in it.
Nothing privileged happens behind your back. Every change passes through a local policy gate, waits for your approval, and lands in an append-only audit log you can read at any time.
You ask
Open a private, local chat at 127.0.0.1:7878 and describe what you want in plain English.
It proposes
The agent explains exactly what it intends to run — the commands, the files, the consequences.
You approve
Privileged actions pause at the policy gate until you say yes. No approval, no action.
It acts
Approved work runs under a dedicated account — never as your user, never as an invisible daemon.
It logs
Every action is recorded in an audit log on your disk. Read it, rotate it, keep it.
A conversation, not a console
Sysadmin work in plain language.
No man pages, no copy-pasting commands you found on a forum. Tell the machine what is wrong; it works out the rest and shows its working before anything runs.
Chat binds to loopback only and is password-protected. Reach it locally, or tunnel the port over a transport you control from a machine you trust.
What ships in the box
Built like infrastructure, not a demo.
Policy gate
Every privileged action is classified against a local policy.yaml before it can run. You decide what is auto-approved and what must wait for you.
Audit log
An append-only record of everything the agent does — proposed, approved, executed, denied — with log rotation handled for you.
Time to Live
The administrator expires by default. Unless you renew it from the chat, it permanently disables itself — and /ttl --die is an instant kill switch.
Doctor & repair
Idempotent verify, doctor, and repair subcommands inspect the install and converge it back to a known-good state.
Your LLM, your key
Bring your own cloud key — OpenAI, Anthropic, Gemini, xAI, Mistral, Groq, OpenRouter — or point at a local LLM server. One source of truth for model and credentials; switch at runtime with /model.
Transparent installer
A readable bash installer with a --dry-run plan preview, a parameter review before any change, and a written receipt of what it did.
One command grammar
Five verbs — install, verify, doctor, repair, uninstall — applied per component (zombie, forgejo). Learn it once, use it everywhere.
Signed releases
Releases ship a signed .deb with SHA-256 checksums and keyless cosign signatures — verify before you install anything.
Optional components
Off-by-default extras extend the baseline — first up, a self-hosted Forgejo git forge with LAN HTTPS, installable standalone with install forgejo.
Bring your own model
Cloud key or fully offline. Your choice.
The administrator speaks to whichever model you give it. Use your own API key with a cloud provider, or keep every token on your own hardware with a local, OpenAI-compatible LLM server — no cloud key required.
Your cloud key
Plug in the key you already have. The key lives in a root-only secrets file on your disk — never in the repo, never with us.
Fully local, fully offline
Interactive installs LAN-scan for a local OpenAI-compatible
server and offer its models. Re-discover one at runtime with
/lmstudio; list and
switch models with /models
and /model.
One source of truth for model and credentials — switch providers without reinstalling. /models · /model · /lmstudio
The trust model
Honest about what it is. Clear about what it is not.
Ubuntu Zombie grants a root-capable identity, and says so plainly. Trust is the differentiator — so the boundaries are explicit, written down, and enforced in code.
You own the machine
And the API key, the chat password, and the kill switch. The agent is a guest with a written contract — and an expiry date.
Loopback by default
The password-protected chat on 127.0.0.1 is the only network surface. No SSH, VNC, or inbound remote access is provisioned.
Everything is reversible
A full uninstaller removes the account, services, and rules it created. Your machine, returned.
Readable, open source
MIT-licensed bash and Python you can read end to end before you run any of it. No binaries, no blobs.
It expires by default
A Time to Live (7 days by default) permanently disables the administrator unless you renew it — and /ttl --die trips the kill switch immediately.
Your password stays a hash
The chat password is stored only as a PBKDF2 hash. There is no plaintext copy to steal.
Quickstart
From clone to conversation in minutes.
Preview the full plan with --dry-run before a single change is made. Use a machine you are happy to dedicate to the experiment — ideally a fresh Ubuntu Desktop LTS install.
$ git clone https://github.com/japer-technology/ubuntu-zombie.git
$ cd ubuntu-zombie
$ sudo ./scripts/install.sh install --dry-run # preview the plan (no changes)
$ sudo ./scripts/install.sh install
$ sudo reboot
# after reboot:
$ /opt/ai-zombie/bin/verify
$ sudo /opt/ai-zombie/bin/secrets-edit # add an LLM API key
$ xdg-open http://127.0.0.1:7878/ # start the conversation
Prefer a package? Every release ships a signed .deb with a SHA256SUMS checksum file and keyless cosign signatures — verify the download before you install it.
One shared eye. It belongs to you.
A calm robot and a real PC, fused — and the single glowing eye they share is the operator's. Install it, read every line first, and stay in control throughout.