Skip to content

Mirror your project to a compute machine

Keep a local research workspace, choose which saved files reach an SSH machine, and review changes after a connection outage.

Preview feature. This guide applies to builds with Project mirroring and Runs. An older installed build may not expose these controls.

Your local project remains the place where you write, organize research, and share results. A compute mirror adds a selected folder on an SSH machine for running work there. Its connection belongs to your device and account; collaborators do not need that machine's login.

A project opened directly over SSH is a separate desktop workflow. To collaborate through the web while using a larger machine, start from a local project, enable ordinary project sharing, and configure its compute mirror. Mirroring alone does not enable cloud sharing or decide where every command runs.

Connect an existing project

  1. Open your owned local project in the desktop app.
  2. Open Settings → General, then Project mirroring.
  3. Enter the host, username, port, and existing absolute remote project folder.
  4. Connect and complete any host verification or authentication in the secure native prompts.
  5. Review the file-selection estimate, excluded paths, and limits.
  6. Explicitly enable mirroring.

You can ask Kosmo, “Help me mirror this project to my research machine.” It opens the same destination and file-selection review. Check the proposed folders before confirming. Connecting alone transfers nothing. Enabling starts background work; it does not mean all files have arrived. Continue researching while transfers settle, and check Settings when you need their state. A compact notice appears when attention is required.

Choose what reaches the machine

ControlEffect
Automatic selectionConsiders eligible saved project files within the configured folder and total budgets
Included pathsSelects explicit relative files or folders, including a folder excluded by the automatic folder budget
Excluded pathsStops those paths participating, including paths already copied
Folder and total limitsBounds the automatic folder selection and total admitted contents

Paths describe selection roots, not shell glob expressions. Preview after changing them, then Apply changes. Manual inclusion still respects the per-file and total limits and safety exclusions. Defaults are a 50 MiB top-level-folder budget, a 500 MiB total budget, and a 10 MiB per-file cap.

Dependency and build trees such as node_modules, target, .venv, __pycache__, .next, dist, and build stay excluded. So do .git, application internals, .ssh, .env files, common private-key names, .pem/.key files, and temporary or swap files. This filename policy does not detect every secret inside a selected file. Review what you share.

Excluding a path stops future mirroring without deleting either existing copy. Pause suspends transfers for the mirror. Neither control erases remote data or changes ordinary project-sharing permissions.

Continue after a connection outage

Save your changes locally. Selected saved edits queue while the host is unreachable and reconcile after reconnecting. Pending means awaiting delivery, not remotely saved. If both sides changed incompatibly, inspect the versions through the mirror issue and choose which version to keep. A newer edit can require another review before the choice applies.

The mirror reuses its authenticated SSH connection. A replacement connection can still require authentication or a new host check. Never paste passwords, passphrases, private keys, or verification codes into chat.

A mirror covers selected disk files. It does not freeze inputs for an entire experiment or replace a complete backup. Use recorded runs to collect logs and declared results from durable work on the machine.