{"slug": "zulu-assistant-an-ops-board-and-agent-workforce-for-your-mac", "title": "Zulu Assistant – an ops board and agent workforce for your Mac", "summary": "Zulu Assistant launched as a local Mac ops board and agent workforce that monitors every LaunchAgent, container, cron line and endpoint, displays live Claude Code and Codex sessions as RUNNING, IDLE or NEEDS INPUT, and escalates failures through a ladder of cmux notification, email after 30 red minutes, SMS webhook and an 08:00 daily digest. The zero-dependency Node 22 server runs collectors under time bounds every 60 seconds and pushes snapshots to the browser over SSE, with self-heal covering a lost cmux socket password, sessions that fail to restore after reboot, and disk pressure. Mission Control runs residents (one long-lived agent per repo) and workers (one per task) governed by a user's POLICY.md, while Agent Mesh provides a directory, task ledger and delivery rule so agents hand work to each other as tasks rather than typing into a busy pane.", "body_md": "**A local ops board and agent workforce for the Mac that runs your automations.**\nIt watches every LaunchAgent, container, cron line and endpoint on the machine. It\nshows your live Claude Code and Codex sessions next to them. When something breaks,\nit heals what it safely can and escalates the rest to you.\n\nWebsite: [https://zuluassistant.com](https://zuluassistant.com)\n\n<sub>Recorded in demo mode (`./install.sh --demo`). Every name in it is synthetic. A 38-second cut is in [docs/media/demo-short.gif](https://github.com/zulu-assistant/zulu-assistant/blob/main/docs/media/demo-short.gif).</sub>\n\n| Board | Agents + work ledger | `?tv` kiosk | \n|---|---|---|\n\n- **Background jobs fail silently.** A LaunchAgent stops loading, a cron line\ndisappears, a container goes unhealthy. You find out days later from the damage.\n- **Agent sessions are invisible.** Six Claude Code sessions across six terminals:\nwhich one is waiting on you, which one is about to hit its context limit, which\none died on reboot?\n- **Agents can't coordinate safely.** They have no shared task list, no approval\ngate for risky steps, and no rule for when a human must decide.\n\n| **Ops Board** (`:3210` ) | One card per launchd job, container, endpoint, cron line and process, plus disk and memory gauges. Schedules, logs and last-success come from the plists themselves. There is a 24h timeline, an event ticker, a `?tv` kiosk mode and a`/` palette. | \n| **Agent tiles** | Every live Claude Code or Codex session in cmux is shown as RUNNING, IDLE or NEEDS INPUT, with its last message and a context-window gauge. | \n| **Escalation ladder** | A cmux notification fires at once. Email follows after 30 red minutes, then an SMS webhook for the critical set, and an 08:00 digest each day. A dead-man's switch covers the board itself. | \n| **Self-heal** | Covers a lost cmux socket password, sessions that fail to restore after a reboot, and disk pressure (using only the levers you bless). Each one leaves a ticker line. | \n| **Mission Control** | A master agent in a pinned cmux workspace runs **residents** (one long-lived agent per repo) and**workers** (one per task). Your`POLICY.md` decides what they may do alone. | \n| **Agent Mesh** | A directory, a task ledger and a delivery rule. Agents hand work to each other as tasks and never type into a busy pane. Approvals happen on the board. | \n| **Brain** | Wires in three memories: an Obsidian vault (org memory), Graphify (code memory) and Claude memory files (agent memory). See [docs/BRAIN.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/docs/BRAIN.md) . | \n\nThe server is a zero-dependency Node 22 process. Collectors run under time bounds every\n60s, and a snapshot goes to the browser over SSE. Everything owner-specific (what to\nwatch, who the agents are, what needs approval) lives in `overlay/`. More in\n[docs/ARCHITECTURE.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/docs/ARCHITECTURE.md).\n\n```\ncurl -fsSL https://zuluassistant.com/install | bash\n```\n\nPrefer GitHub directly? `curl -fsSL https://raw.githubusercontent.com/zulu-assistant/zulu-assistant/main/get.sh | bash` does the same.\n\nThat installs the toolchain (it shows the list and asks once), the board, cmux config, the brain\nand the agent workforce, then starts **`zulu setup`**: connect GitHub, choose **Claude Code or\nCodex** for Mission Control and for workers, pick what to watch from a scan of your Mac, add alert\nchannels, create your vault, grant the macOS permissions. Re-run any step later (`zulu setup --step engines`); the board shows a setup card until you're done.\n\nJust looking? `./install.sh --demo` from a clone runs a synthetic board on :3210 with Node 22 only.\nEverything the setup does and cannot automate is in [docs/INSTALL.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/docs/INSTALL.md).\n\ntmux is great at keeping panes alive. It has no idea what an agent is doing. cmux\nexposes agent lifecycle hooks, per-workspace status pills, a notification feed,\nsession restore with Claude auto-resume, and an authenticated socket API. The board and\nthe mesh are built on those. The honest trade-offs, and the cases where tmux is still\nthe better choice, are in [docs/WHY-NOT-TMUX.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/docs/WHY-NOT-TMUX.md).\n\n- **Read-only by design.** The board never writes to anything it watches. It writes\nonly its own`data/` , cmux notifications, the heartbeat row, and actions you click\n(KICKSTART, RESTART, START, DISPATCH, ASK MASTER). Demo mode performs no actions at\nall.\n- **Policy, not vibes.**`POLICY.md` belongs to you. Anything paid, outward-facing or\ndestructive escalates to you, every time.\n- **Approvals on the board.** Agents can*request* approval. Only the board's WORK\npanel can grant it, using a per-install decision token.\n- **Escalate, never guess.** Agents never auto-answer a trust dialog. They deliver\nmessages only into a ready pane. Anything else is queued and reported.\n- **Network.** The board serves localhost and your Tailscale range only. The LAN gets 403.\n- **Clean by construction.** Every file is classified in`publish/manifest.json` , and a\nscrub gate plus gitleaks run in CI. See[SECURITY.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/SECURITY.md) .\n\n|  | Version | \n|---|---|\n| macOS | 14 or later (launchd, zsh, BSD userland) | \n| Node | 22 ( `nvm install 22` or`brew install node@22` ) | \n| [cmux](https://github.com/manaflow-ai/cmux) | 0.65.x, 0.64.x also works (quirks handled in code, see [docs/CMUX-SETUP.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/docs/CMUX-SETUP.md) ) | \n| Claude Code | ≥ 2.1.280 (tested 2.1.296) · Codex CLI 0.162.x optional | \n| gh | logged in (the dead-man's switch setup and the optional star prompt) | \n| Optional | Codex CLI, Docker, Tailscale (phone access), Obsidian + Graphify (the brain) | \n\ncmux is a separate GPL-licensed application. Install it yourself, unmodified. Zulu Assistant only calls its CLI and socket and does not bundle or link it.\n\n```\nexamples/          generic templates, shipped (the board runs on these until you add overlay/)\noverlay/           YOUR config, gitignored: ./install.sh init copies examples/ here\n  config/jobs.mjs    what to watch: JOBS, DOCKER_CONTAINERS, ENDPOINTS, CRON, PROCESSES, gauges, SETTINGS\n  config/agents.json the mesh directory (maintained by the board)\n  POLICY.md          what agents may do without you\n  MISSION-CONTROL.md the master agent's contract\ndata/secrets.env   SMTP, SMS webhook, heartbeat keys (template: secrets.env.example)\n```\n\nConfig is resolved `overlay/` → core → `examples/`. Adding coverage takes one entry in\n`overlay/config/jobs.mjs`. The board watches it on the next poll.\n\n- v0.1: the board, demo mode, Mission Control, Agent Mesh, the brain templates, the installer.\n- Next: Homebrew tap and an `npx` one-liner, a Linux/systemd collector, a pluggable\nnotifier interface (Slack, ntfy), a hosted heartbeat relay so the dead-man's switch\nneeds no database of your own.\n- Ideas and votes: [Discussions](https://github.com/zulu-assistant/zulu-assistant/discussions) .\nGood first issues are[labelled](https://github.com/zulu-assistant/zulu-assistant/labels/good%20first%20issue) .\n\nThe installer asks once, and only in an interactive terminal: `Star zulu-assistant on GitHub? [y/N]`. The default is No. If `gh` is not logged in, it skips the question\nsilently. Only an explicit `y` stars, using your own `gh` login. The board may also show\n**one** toast, the first time it catches something for you, with two buttons:\n**Star**, which just opens this page, and **Never ask again**. Both answers are kept in\n`data/star-prompt.json`, and neither asks again. No feature ever depends on it. To star\nlater, run `./install.sh star`.\n\n[CONTRIBUTING.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/CONTRIBUTING.md) · [SECURITY.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/SECURITY.md) ·\n[CODE_OF_CONDUCT.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/CODE_OF_CONDUCT.md) · [CHANGELOG.md](https://github.com/zulu-assistant/zulu-assistant/blob/main/CHANGELOG.md)\n\nCommercial setup & support: digitalnethosting\n\nMIT © Zulu Assistant contributors. cmux is a separate project under its own license.", "url": "https://wpnews.pro/news/zulu-assistant-an-ops-board-and-agent-workforce-for-your-mac", "canonical_source": "https://github.com/zulu-assistant/zulu-assistant", "published_at": "2026-10-10 07:23:01+00:00", "updated_at": "2026-10-10 07:39:07.425221+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-products"], "entities": ["Zulu Assistant", "Claude Code", "Codex", "cmux", "Node 22", "Obsidian", "Graphify", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/zulu-assistant-an-ops-board-and-agent-workforce-for-your-mac", "markdown": "https://wpnews.pro/news/zulu-assistant-an-ops-board-and-agent-workforce-for-your-mac.md", "text": "https://wpnews.pro/news/zulu-assistant-an-ops-board-and-agent-workforce-for-your-mac.txt", "jsonld": "https://wpnews.pro/news/zulu-assistant-an-ops-board-and-agent-workforce-for-your-mac.jsonld"}}