AXCrew · control plane
Connect, control and orchestrate every AX you run.
AXCrew is a Rust control plane: it pairs the AX installs you already have, schedules work across them, and streams back what happens. The two ship together — the agent runtime, and the control plane that coordinates it.
- v0.3.13
- Rust · Tauri 2
- desktop · android
- outbound wss
01 · connect
Devices connect out, and only out.
No inbound port, no SSH, no private key leaving the device. That is what lets a machine behind NAT join the fleet.
- One-time pairing code
- The desktop issues a one-time code for AX device identity. Phones require local desktop approval and receive individual revocable credentials.
- Ed25519 challenge
- Each device answers with its private key. That key never leaves the device, and Crew never stores it.
- Outbound WSS
- Devices connect out with heartbeats and backoff. No inbound port, no SSH, no public address.
- Offline on disconnect
- A dropped link marks the node offline and resumes on reconnect. Task state is persisted on the Crew side, so it does not depend on a live socket.
ax crew pair <code> --gateway https://crew.example.comax crew connect <url>axcrew upThe control plane itself is crates/server over REST and WebSocket. Desktop and Android reach it through that API only.
02 · three identities
A Host provides resources. An instance provides capability.
Separating these three is what allows several AX instances on one machine, each scheduled independently with its own model and permissions.
Host
One physical or virtual machine. It provides shared resources — CPU, memory, GPU. A single Host can run several AX instances.
AX Instance
An independent runtime with its own model, capabilities, memory, config and permissions. This is the unit of capability.
Execution
One concrete run, in its own isolated workspace. This is the unit of actual concurrency.
03 · the surface
Schedule on the desktop. Approve from your phone.
- ax · dev
local · wsl · gpt-5
idle · ready
idle
- ax · build
build box · claude-4.5
cargo test --lib sort
running
- ax · bench
GPU box · gpt-5
cargo bench --bench sort
running
- ax · remote
cloud VM · deepseek-v3
offline
offline
what axcrew does across them
Dispatch
Place a task on an AX instance by capability and resources.
Isolate
Each instance has its own model, skills, memory and permissions.
Approve
Permission requests reach the control plane for your decision.
Recover
When an instance drops, the task is re-assigned by lease.
filesystem · write tests/sort_test.rs
from ax · dev
approvedenyshell · cargo test --lib sort
from ax · build
approvedeny
event stream
- ax · build → cargo test --lib sort
- axcrew · route → ax · bench
- ax · bench → 214 runs · p50 3.1ms
- axcrew · lease renewed · ax · build
Sessions and projects
The desktop organises sessions by project and can continue local AX history — open one to see the original messages and composer; sending resumes the same AX session.
Embedded web preview
Native browser tabs support search, navigation and local development pages. Local Windows AX can read, click and fill preview pages under website permissions and network protection. Other platforms currently offer ordinary preview only; remote tasks use their own browser environment.
Review pane
Compact change rows open sidebar diff review, alongside an expandable workspace tree, closable tabs and Markdown preview. Local UTF-8 files can be edited and saved with a disk-change check.
Settings → Goal
Configure AX-owned global or project acceptance policy: deterministic or model validation, All/Any conditions, Command/HTTP/MCP validators, execution budgets and progress thresholds. AX persists it; Crew keeps no duplicate.
Settings → Plugins
Manage Mods, MCP and skills together, and control delegation depth and parallelism per scope (0 disables, 1 permits direct children, higher allows nesting).
04 · work
Work finds a machine that can do it.
Cross-machine delegation
Hand a task to another machine; Crew routes it to that machine's AX and streams the result back.
Task DAGs
Deterministic dependency graphs with retries, cancellation and automatic resume across devices.
Automation
Recurring jobs — nightly builds, error digests, standup briefs, deployment checks — from presets or plain chat.
Approval brokering
Permission requests reach the control plane for approve or deny on desktop or phone. Crew never bypasses a node's own grants.
05 · durable collaboration
An optional layer that lets work outlive a process.
This is opt-in. Without it, single-machine AX and device controls work entirely on their own.
Durable Task
The task itself is persisted on the Crew side, with its state machine and retry count.
Event
An ordered event stream records what happened. The ordinary session index keeps redacted metadata.
Artifact
Immutable SHA-256 artifacts, 8 MiB each. Only explicitly published artifacts are shared.
Workflow State
Versioned checkpoints that work with ownership leases and generation fencing to make recovery safe.
How recovery actually works
- Pulled asynchronously
- AX workers pull work and report results back. No high-frequency direct AX-to-AX communication is required.
- No resident coordinator
- No permanently live Coordinator Agent. After a Crew restart, leases and checkpoints let work continue.
- Generation fencing
- Ownership and generation fencing keep a late result from a dead worker from overwriting a newer attempt.
- At least once
- Execution is at-least-once. Idempotent requests and stable child request IDs make replay safe.
Starting a worker
ax crew worker worker.jsonRequires AX 0.3.7+ workers. Each execution gets an isolated workspace; after a failure the lease is reassigned.
06 · known limits
The boundary, stated plainly.
- One authoritative Crew process with SQLite; no replicated consensus.
- Resources are scheduling reservations, not OS quotas.
- Artifacts are capped at 8 MiB each, with no automatic GC.
- Real multi-host networking, TLS and GPU isolation have not been validated.