Docs
Computer export & migration
Move a Computer to another machine — one archive out, one archive in.
The Computer keeps its whole desktop — logins, bookmarks, downloads, and files — on one Docker named volume. Export packs that volume into a single archive; import restores it on this or another machine. One file out, one file in.
Where files live
- Everything durable sits on the named volume mounted at
/config(the desktop user's home). Removing the container is safe; the volume is the Computer. - Workspace convention: keep Human- and bot-produced files in
~/workspace(that is/config/workspace). Every start creates the directory if it is missing, it sits on the volume, and it travels through export → import. Browser state stays separate under~/.config/chromium. - The export directory is a path on the host: it defaults to
~/Desktop/BotHarness Exports(or~/BotHarness Exportswhen the home has no Desktop) and can be changed in Settings → BotHarness → Computer when a directory picker is available. The archive file appears there; import only lists and accepts files from that directory.
Export
- Open Settings → BotHarness → Computer. Nothing has to be configured — the export directory already shows its current (default) path — but you can pick another destination with Choose… when a picker is available.
- Click Export to… (or Export), choose the destination, and confirm. The Computer closes its browser gracefully, stops, packs the volume, and restarts if it was running; the rows show the live stage and elapsed time.
- When it finishes, the note shows the archive path — one timestamped
.tarfile. On deployments without a working picker, where the directory was fixed, the folder also opens automatically in the Host's file manager.
Import on another machine
- Install a container runtime (Docker or Colima) and DeepSeek Harness with BotHarness on the target machine; start the profile once so the Computer plugin loads.
- Copy the
.tararchive over (USB,scp, network share). - In Settings → BotHarness → Computer, note the target's export directory (the default shown works with no setup) and put the archive in it.
- Click Import…, pick the archive, confirm. The Computer recreates the volume, unpacks the archive, and starts — logins, bookmarks, and
~/workspacefiles are back.
Browser download and upload
On web deployments (no directory picker, no Host folder to open), transfer runs through the browser instead of Host paths:
- After an export finishes, Download fetches the archive through the browser's save dialog — streamed, so a ~1 GB file never sits in memory. The export directory stays as the server-side listing location.
- To import, Choose archive file… picks a local
.tar, then Authorize and import streams it up and runs the standard import. Long archive names wrap with an ellipsis; the full name is one hover away. An upload only replaces an existing archive once its bytes have fully arrived.
Size and time expectations
- The archive is an uncompressed tar of the volume. After normal use the volume is often around 1 GB (browser profile, caches, and workspace files); check the produced file, or
docker system df -vfor the live volume. - Local export and import of ~1 GB typically take under a minute each way on a developer machine (disk-bound; importing also verifies the pinned image is present).
Treat archives as secrets
The archive contains the Computer's cookies and saved logins — the same sensitivity as a browser-profile backup. Store and transfer it accordingly. It is a profile-level facet and never part of a PersonaBot export.
Reading developer diagnostics
GET /api/computer/diagnostics returns the bounded lifecycle, container, and viewer event log (newest last). The viewer card narrates its own mounts, stream phase changes, reloads, and retries there — start here when the picture misbehaves instead of guessing.