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:
- Create a code on the machine others connect to. Tick the scopes you want to grant first, then 🔑 Create pairing code and copy it.
- 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
fullwildcard 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.