Local and cloud execution
Each chat chooses where its work runs when it's created. Use the computer icon under the message box to switch between Local and Cloud.
| Local | Cloud | |
|---|---|---|
| Runs on | The local runner in your client | A cloud runner on a shared server |
| Files | Your folders on this computer | The runner's work root |
| Close the client? | No; the work stops | Yes, if the Hub is remote and the runner stays online |
| Harnesses (runtimes) | Installed on this computer | Installed on that runner |
| Good for | Work on local files and tools | Long tasks, and work that shouldn't depend on one laptop |
A cloud run can also use an authorized workstation on your team. It connects the same way as a server; see Runners and cloud environments.
How a cloud run works
- The client creates a cloud chat. The Hub creates the task and picks a runner.
- The Hub dispatches the work over the runner WebSocket. The runner accepts it and reserves capacity, so concurrent requests can't overbook it.
- The runner starts the harness with model settings scoped to that run.
- Messages and files go back to the Hub, which keeps the task record and artifacts.
- Any client of the same account can open the chat, see progress and files, and send follow-ups.
Rules
- The Hub's record decides the state. Whether the work was accepted, is running or has finished comes from the Hub, not from the client.
- Retries and follow-ups stay on the same runner. If it isn't clear whether a step already ran, the chat is never moved to another machine automatically.
- Queued messages survive restarts. A message is acknowledged only after it is saved. If a runner restarts at a point where it can't tell whether an outside action already happened, it keeps the state and asks you to check instead of sending again. SoduWork doesn't promise exactly-once execution for arbitrary outside tools.
- Attachments. In a cloud chat, original attachments show by file name. A remote path is never treated as a path on your computer.
- If the Hub runs on your own computer, you can close the client, but that computer and its services must stay on. To keep working after your computer is off, use a remote Hub.
Choosing a runner
The Hub assigns a runner when the cloud chat is created. If no runner is available, the client explains why: offline, missing harness, not signed in, missing capability or full. It offers a way to fix the configuration and check again.
People see and use only the cloud environments they have access to. Managing runners needs the runner.manage permission. See Runners and cloud environments.