@zixt/host
v0.0.272
Published
Zixt Host: runs AI-teammate Tasks on your own machine, paired to the Zixt cloud
Readme
Zixt Host
The Zixt Host runs your AI teammates' Tasks on your own computer. Your coding agents, credentials, and repositories stay on your machine; the Zixt cloud only coordinates the work.
Run it
Pair a Machine in Zixt (Machines → Pair a machine) to get its private pairing code. Zixt shows that code once; it remains valid until you replace it or revoke the Machine. Then start the Host with it:
ZIXT_HOST_TOKEN='zxh_...' npx @zixt/host@latestnpx @zixt/host@latest always runs the newest release. To install it as a
command instead:
npm install -g @zixt/host
ZIXT_HOST_TOKEN='zxh_...' zixt-hostKeep it running on an always-on machine: Tasks cannot start while the Host is asleep, signed out, or offline.
Start automatically
Use the command for your operating system on Zixt's Machines page. It ends with
--install-service, for example:
ZIXT_HOST_TOKEN='zxh_...' npx @zixt/host@latest --install-serviceThis starts Zixt immediately and installs the native, per-user automatic-start mechanism:
- Linux: a systemd user service starts after reboot, including before sign-in when user lingering is available. If lingering cannot be enabled, setup stops and prints the one administrator command needed before retrying.
- macOS: a LaunchAgent starts Zixt after this account signs in.
- Windows: a least-privilege Scheduled Task starts Zixt after this account signs in.
Zixt deliberately uses the same computer account that owns the runner login;
it never runs Tasks as root, Administrator, or LocalSystem. The Linux pairing
code lives in ~/.config/zixt/host.env (or the configured XDG_CONFIG_HOME)
and the macOS code lives in the account's mode-0600 Zixt configuration.
Windows protects the stored code with that account's DPAPI key and restricts
the startup files to that account and SYSTEM.
The copied setup command itself contains the current long-lived pairing code, so your shell may retain it in terminal history. Treat that history as a copy of the credential. Replacing the Machine's setup code or revoking the Machine invalidates it.
File permissions keep other accounts out, but they are not a sandbox from software already running as your account. Use a dedicated computer account for an unattended Machine. On macOS and Windows, signing out stops that account's background processes; unfinished work resumes after the next sign-in.
More than one organization
One computer can run Tasks for several organizations at once. The pairing code
above connects the first organization; add the others from the Zixt desktop
app (Overview, Organizations, Add organization), which approves each one in
your browser the same way and hands the credential to the running Host. The
Host keeps every added credential privately under ~/.zixt/organizations,
protected on Windows with the same DPAPI key as the startup files and kept
0600 elsewhere, and connects to each organization on its own socket. Each
organization sees only its own Tasks, console lines, and browser pages; the
AI accounts, the task browser, and pausing new work are shared by the whole
computer. Removing an organization from the desktop app removes this computer
from that organization in Zixt, stops its running Tasks here, and erases the
website sign-ins its teammates saved on this computer.
Options
| Environment variable | Meaning |
| ---------------------- | ------------------------------------------------------------- |
| ZIXT_HOST_TOKEN | The private code shown once on the Machines page. Required. |
| ZIXT_CLOUD_URL | The Zixt gateway to connect to. Defaults to the cloud. |
| ZIXT_HOST_UPDATE | off pins this Machine to the version it is running. |
| ZIXT_HOST_UPDATE_URL | A registry mirror to check for releases instead of npmjs.org. |
Staying current
While it is running, the Host keeps itself up to date. It checks for a newer published release, and when it finds one it stops the work it is doing the same way Ctrl+C would — every run is unwound, and Zixt re-dispatches that work with its session resumed — then relaunches on the new version. Nothing to schedule and nothing to restart by hand. Every automatic-start installation follows the updated stable release, so a later reboot or sign-in does not revert Zixt to the version first installed.
Set ZIXT_HOST_UPDATE=off to stay on the version you started.
Run zixt-host --help for logging flags.
Teammate browsing
On first start, Zixt checks for its exact Chromium revision and downloads it automatically when needed. If that download fails, run the matching installer as the same OS user that runs Zixt:
npx -y [email protected] install chromiumOn Windows, use npx.cmd instead of npx; this works from Command Prompt and
from PowerShell even when its execution policy blocks npm's .ps1 shim.
