Skip to content

Fleet

Fleet lets you run askTheodor on more than one computer and steer them all from one place. Pair your office box to your laptop, stand up a dedicated machine per Company, or operate a client’s instance remotely — then mirror or clone your work onto it, delegate tasks it runs autonomously, and keep a workforce humming around the clock. Every link between machines is signed and runs over a secure tunnel.

For the bigger picture of how multi-machine teams fit together, see Teams overview.

How to get here

Click 🛰 Fleet in the sidebar.

This machine

The first card is you: this instance’s name, its short ID, and whether its tunnel is up (so peers can reach it). If the tunnel is off, start it in Settings → Reception — the pairing code embeds your tunnel address, so peers can’t connect without it.

This card also sets this machine’s Fleet role:

  • 🖥 Command Center — an operator’s cockpit. You sit here, delegate to and sync with the hubs.
  • 🏭 Team-Hub — a headless, 24/7 runner that just produces work.

If this is a Command Center, you can also tick ⭐ Master command center. Exactly one center should be the master: only the master may delete Companies or workers on the hubs; other centers send delete-requests for the master’s approval.

Connecting a machine (pairing)

Click 🔗 Connect a machine to reveal the two-step flow:

  1. Create a code on the machine others connect to. Tick the scopes you want to grant first, then 🔑 Create pairing code and copy it.
  2. Accept a code on the other machine — paste it and 🔗 Accept & connect.

Scopes are the permissions the pairing carries, and they’re the heart of Fleet’s safety model:

  • sync — mirror/clone companies, workers, tasks, and libraries both ways.
  • delegate — let this machine hand the peer tasks to run.
  • kafenio — let workers socialise across machines.
  • keys — let you push encrypted API keys to the peer.

To change scopes later, remove the machine and re-pair it.

Working with a machine

Each connected machine shows an online/offline dot, its granted scope chips, and when it was last seen. The action row gives you:

  • 🔄 Mirror now — pull and push changes both ways. Tick Auto to keep it mirrored automatically (about every 90 seconds).
  • 🛰 Delegate — open a composer, describe a task, and Run on remote. It executes autonomously on the peer and replies back.
  • 📦 Clone → [machine] — copy just one Company (plus its workers, tasks, and library) to set the peer up for it, without mirroring your whole workspace.
  • 🔑 Keys — give the peer its own LLM API keys (machines can differ), saved locally and sent encrypted with 📤 Push.
  • 📣 Report to — when on, this machine pings that one whenever it has new local changes, so a central operator gets notified. Point it at your main instance.
  • 📡 Ping and 🗑 (disconnect) round out the row.

In practice

The reason to pair machines is that your laptop closes. Routines don’t fire on a sleeping computer, Plans don’t advance, and channel replies don’t get drafted. A Team-Hub on a machine that stays awake is what makes “runs 24/7” true rather than aspirational — see Deploy to a VPS.

Three arrangements people actually run:

  • Laptop + always-on box. You work from the Command Center; the hub carries the routines and long Plans. Auto-mirror keeps the two in agreement.
  • One hub per Company. Clone just that Company to a dedicated machine rather than mirroring your whole workspace — the hub only holds what it needs to do its job.
  • A client’s own instance. They pair to you granting only the scopes they choose. You mirror, delegate or just monitor, and their data stays on their machine — you never hold it centrally.

Scopes are the safety model, so grant them narrowly. A pairing with only sync can mirror but not be handed tasks; one without keys can never receive your provider credentials. Changing scopes means removing and re-pairing, so decide before you generate the code rather than granting everything and tidying up later.

Set the master deliberately. Exactly one Command Center should hold ⭐ Master — it’s the only one allowed to delete Companies or workers on the hubs. With two operators and no master, deletions turn into a race; with a master, the second operator’s delete becomes a request.

Clone to set a hub up, mirror to keep it current. They’re different operations: clone is a one-time copy of a single Company, mirror is ongoing two-way agreement of the workspace. Reaching for mirror when you meant clone pushes far more onto the peer than you intended.

Push keys rather than typing them on the hub. A headless machine still needs its own provider credentials; 🔑 Keys → 📤 Push sends them encrypted, which is better than pasting keys over SSH into a server you’re logged into.

🎓 Learn it hands-on: Fleet: a Team-Hub on a VPS

Terms in this page

  • Fleet — your set of connected askTheodor machines (instances) and the controls to steer them from one place.
  • Instance — one running copy of askTheodor on one computer.
  • Peer / machine — another instance you’ve paired with.
  • Pairing — the one-time handshake (create a code on one machine, accept it on the other) that connects two instances.
  • Pairing code — the text you generate on one machine and paste on the other to connect them; it embeds the tunnel address and the granted scopes.
  • Scope — a permission a pairing grants: sync, delegate, kafenio, or keys (a full wildcard grants all of them).
  • Tunnel — the secure connection that makes this machine reachable by peers; started in Settings → Reception.
  • HMAC-signed — every request between machines carries a cryptographic signature proving it’s genuine and untampered.
  • Fleet role — whether this machine is a Command Center (operator cockpit) or a Team-Hub (headless 24/7 runner).
  • Master command center — the single Command Center allowed to delete Companies/workers on hubs; others must request its approval.
  • Mirror / sync — keep two machines’ workspaces in agreement by pulling and pushing changes both ways.
  • Auto-sync (auto-mirror) — mirror on a timer automatically, roughly every 90 seconds.
  • Clone — copy a single Company (and its workers, tasks, and library) to a peer, rather than the whole workspace.
  • Delegate — hand a peer a task it runs on its own, then reports the result back.
  • Report-to — a setting that makes this machine notify a chosen peer whenever it has new changes.
  • API key — the secret credential for an LLM provider; Fleet can push these to a peer encrypted so it can run on its own.
  • VPS — a virtual private server: a rented, often screen-less computer you can dedicate to running an instance around the clock.
  • Headless — running with no screen or operator present, just executing work.