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.
  • 🔭 Inspect (from the next update) looks inside the machine. See below.

🔭 Inspect a machine

🔭 Inspect looks inside a paired machine, such as a VPS runner: what it’s working on, what its workers did, and what they produced. The button appears on machines paired with the sync scope. Click it to open 🔭 Inside [machine] below the row, with four tabs:

TabWhat it shows
OverviewAutonomy (running or paused), workers, Companies, routines on, activity in the last 24 h, Plans running, work products, agent files, leads and drafts waiting. Also tasks by status, failing routines and recent errors.
✅ TasksEvery task with its status, assignee and dates. Open work shows the conversation behind a task.
🧠 WorkRecent conversations and runs, with the worker, the number of messages and the latest answer. Open one to read the thread.
📦 ArtifactsWork products, files the agents saved to the Library, and every file in the workspace, such as exports, letters and spreadsheets.
  • Preview shows a text file or Library item right there. Binary files can’t be previewed.
  • ⬇ Copy to this Mac (for Library items) and ⬇ Copy (for workspace files) copy the file here. It lands in your workspace in a from-<machine> folder and opens. Files up to 8 MB can be copied.

Inspect is read-only: you can look and copy, but not change anything on the other machine. It uses the same signed connection as sync, and only reaches files inside that machine’s workspace folder.

✏️ Rename a machine

Click ✏️ next to a machine’s name to rename it. Names are 1–60 characters.

  • A paired machine is renamed here and, if it’s reachable and paired with the sync scope, on the machine itself too, so every screen agrees. If the machine can’t be told, it’s renamed here only, and a note says so. It keeps its own name until it’s reachable.
  • This machine: the ✏️ on the This machine card sets the name your other machines see.

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 · See what your VPS did today

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.
  • Inspect — a read-only look inside a paired machine: its tasks, its workers’ work and their files.
  • Artifact — something a worker produced: a work product, a file saved to the Library, or an export.