AXCrew · 控制平面

连接、控制、编排你所有的 AX。

AXCrew 是一个 Rust 控制平面:它配上你已经装好的 AX,在它们之间调度工作,并把发生的一切流式回传。两台一起开发、一起发布——代理运行时,以及协调它的控制平面。

  • v0.3.13
  • Rust · Tauri 2
  • 桌面 · Android
  • 出站 WSS

01 · 连接

设备只出站连接。

没有入站端口,没有 SSH,没有私钥离开设备。这让一台 NAT 后面的机器也能加入集群。

一次性配对码
桌面端签发一次性配对码,AX 设备用它换取身份。手机另需电脑确认授权,获得可撤销的独立凭证。
Ed25519 挑战
每个设备用私钥应答挑战。私钥永不离开设备,Crew 也不保存它。
出站 WSS
设备主动连出,带心跳与退避重连。不需要入站端口,不需要 SSH,不需要公网地址。
断线即离线
连接断开就把节点标记为离线,重连后恢复。任务状态由 Crew 一侧持久化,不依赖长连接存活。
pair · sh
ax crew pair <code> --gateway https://crew.example.com
connect · sh
ax crew connect <url>
start the control plane · sh
axcrew up

控制平面本身是 crates/server,走 REST 与 WebSocket。桌面端与 Android 客户端只通过这套 API 通信。

02 · 三个身份

Host 提供资源。实例提供能力。

把这三件事分开,才能让一台机器上跑多个 AX,并让每个 AX 带着自己的模型与权限独立调度。

Host

一台物理或虚拟机器。提供共享资源——CPU、内存、GPU。一个 Host 上可以运行多个 AX 实例。

AX Instance

一个独立的运行时,带自己的模型、能力、记忆、配置与权限。这是调度的能力单位。

Execution

一次具体执行,在自己的隔离工作区里跑。这是并发的实际单位。

03 · 控制面

桌面端调度,手机审批。

AX 实例 · 由 AXCrew 编排4 个实例
  • ax · dev

    本机 · wsl  ·  gpt-5

    空闲 · 就绪

    idle

  • ax · build

    构建机  ·  claude-4.5

    cargo test --lib sort

    running

  • ax · bench

    GPU 机器  ·  gpt-5

    cargo bench --bench sort

    running

  • ax · remote

    云虚拟机  ·  deepseek-v3

    离线

    offline

AXCrew 在做的四件事

派发

按能力与资源把任务放到某个 AX 实例。

隔离

每个实例有自己的模型、技能、记忆与权限。

审批

权限请求汇到控制面,由你批准或拒绝。

恢复

实例掉线后,任务按租约重新分配。

控制面 · 待审批2
  • filesystem · write tests/sort_test.rs

    来自 ax · dev

    批准拒绝
  • shell · cargo test --lib sort

    来自 ax · build

    批准拒绝

事件流

  • ax · build → cargo test --lib sort
  • axcrew · route → ax · bench
  • ax · bench → 214 runs · p50 3.1ms
  • axcrew · lease renewed · ax · build

会话与项目

桌面端按项目组织会话,可以继续本地 AX 的历史——打开后看到原始消息与合成器,发送就接着同一个 AX 会话跑。

内嵌网页预览

原生多标签浏览器支持搜索、导航和本地开发页面。Windows 本地 AX 可直接读取、点击和填写预览页,遵守网站权限及网络保护;其他平台目前仅支持普通预览。远程任务使用自身浏览器环境。

Review 面板

精简变更行连接到侧栏 diff 审查,侧栏还提供可展开的工作区文件树、可关闭标签页与 Markdown 预览。本地 UTF-8 文件可直接编辑保存,带磁盘变更检查。

Settings → Goal

配置 AX 拥有的全局或项目验收策略:确定性或模型验证、All/Any 条件、Command/HTTP/MCP 验证器、执行预算与进度阈值。AX 负责持久化,Crew 不保存副本。

Settings → Plugins

统一管理 Mod、MCP 与技能,并按全局/项目作用域控制委派深度与并行度(0 关闭,1 直接子代理,更大允许嵌套)。

04 · 工作

任务找到有能力的机器。

跨机器委派

把任务交给另一台机器,Crew 路由到那台机器的 AX,并把结果流式回传。

任务 DAG

确定性的依赖图,带重试、取消与跨设备自动恢复。

Automation

定时任务——夜间构建、错误摘要、站会简报、部署检查——从预设或普通对话创建。

审批代理

权限请求送到控制面,在桌面端或手机里批准或拒绝。Crew 从不绕过节点自己的授权。

05 · 持久协作

可选的一层,让工作跨越进程存活。

这是显式开启的能力。不开启时,单机 AX 与设备控制完全独立可用。

Durable Task

任务本身持久化在 Crew 一侧,带状态机与重试计数。

Event

有序事件流记录执行过程。普通会话的事件索引保存脱敏元数据。

Artifact

不可变的 SHA-256 产物,单个上限 8 MiB。只有明确发布的产物会共享。

Workflow State

带版本的检查点,配合归属租约与代次隔离实现恢复。

恢复是怎么成立的

异步拉取
AX Worker 主动拉取工作并回传结果。不需要高频的 AX 到 AX 直接通信。
没有常驻协调者
不需要一个永久存活的 Coordinator Agent。Crew 进程重启后,租约与检查点让工作继续。
代次隔离
归属与 generation fencing 保证掉线 Worker 的迟到结果不会覆盖新一次执行。
至少一次
执行语义是至少一次。幂等请求与稳定子请求 ID 让重放安全。

启动一个 Worker

ax · sh
ax crew worker worker.json

需要 AX 0.3.7 及以上的 Worker。每次执行使用隔离工作区;失败后按租约重新分配。

06 · 已知限制

边界就要写清楚。

  • 一个权威 Crew 进程配 SQLite,不做复制共识。
  • 资源是调度预留,不是操作系统配额。
  • 单个 Artifact 上限 8 MiB,没有自动垃圾回收。
  • 真实的多机网络、TLS 与 GPU 隔离尚未验证。