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.
pair · sh
ax crew pair <code> --gateway https://crew.example.com
connect · sh
ax crew connect <url>
start the control plane · sh
axcrew up

The 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 instances · orchestrated by axcrew4 instances
  • 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.

control plane · approvals2
  • filesystem · write tests/sort_test.rs

    from ax · dev

    approvedeny
  • shell · 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 · sh
ax crew worker worker.json

Requires 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.