ufo-cli
ufo-cli is the host-side rover for UFO. It enrolls a local machine into a UFO
fleet, long-poll claims queued operations, lets the assigned pilot drive the rover in an
isolated per-operation work directory, streams telemetry back to the Hub, and
uploads a git diff for review.
UFO is an MVP preview. APIs, configuration, database schema, and the rover protocol may change before 1.0, and migration paths are not guaranteed.
Install
The rover is tested on macOS/Linux preview hosts. Windows is not validated yet.
Enroll And Start
Start the UFO Hub first, then create an enrollment code from the Rovers panel.
UFO_HUB_UPLINK=http://localhost:8080 \
UFO_ROVER_ENROLLMENT_CODE=<code> \
ufo
Enrollments are stored in ~/.ufo/rovers.json, keyed by rover id. A host can
hold enrollments for multiple fleets or servers.
Useful commands:
|
Pilots And Tags
The rover auto-detects local pilots and reports capability tags such as
pilot:claude, pilot:codex, pilot:antigravity, pilot:cursor,
pilot:copilot, pilot:amp, pilot:opencode, pilot:openclaw,
pilot:hermes, pilot:pi, pilot:kimi, pilot:kiro, os:macos, and
arch:aarch64. UFO only lets a rover claim work when its tags match the queued
operation.
You can add user dispatch tags during enrollment:
Run multiple operations per enrolled rover with ufo rover start --units N or
UFO_ROVER_UNITS=N.
Trust Boundary
Pilots run local CLIs with the privileges of the user that started the rover. Use a dedicated low-privilege account, container, or isolated machine for rover hosts you share with a fleet.
See README.md and SECURITY.md for the full Hub setup and trust model.