Skip to content

Remote Access

Cross-device memory lets two machines running sivtr read each other’s workspace sessions like local sources. Sharing is explicit, read-only, and redacted by default.

If you want the teammate scenario first, see Remote collaboration memory. This page is the feature guide.

PieceMeaning
Device daemonOne per machine. Started by sivtr serve, auto-started by share/remote commands when needed.
ShareAn explicitly exposed local workspace (a remote “repo”).
InviteSingle-use invitation key with a short TTL. Printed as a bare key on stdout (share invite).
GrantPeer permission after redeeming an invite.
RemoteWorkspace-local name for a peer+share pair — the left side of name:path refs (like git remote).

Refs use one form:

codex/4 # local current workspace
docs:codex/4 # another local workspace by name
desk:terminal/... # remote name from `remote add`

List local workspace labels with sivtr ws list. Unregistered scopes error.

On the machine that owns the workspace:

Terminal window
sivtr share # pick workspace (Enter = current); creates share only
sivtr share invite <name> # issue a single-use invite (stdout = bare key)

Non-interactive:

Terminal window
sivtr share add --name alice-desk
sivtr share invite alice-desk --expires 10m

Useful owner commands:

Terminal window
sivtr share list
sivtr share grants alice-desk
sivtr share revoke alice-desk <peer>
sivtr share disable alice-desk
sivtr share remove alice-desk
sivtr serve status

In the git workspace where you want the remote:

Terminal window
sivtr remote add desk <invite>
sivtr remote test desk
sivtr remote list

Useful peer commands:

Terminal window
sivtr remote rename desk bob-desk
sivtr remote remove desk # local name only; grant remains until owner revokes
sivtr peer list
sivtr peer forget <peer>

Remotes work with the same WorkSet surface as local sources:

Terminal window
sivtr s desk:terminal --status failure --latest 5 --refs
sivtr s desk:agent -m "panic|failed|decision" --latest 20 --save remote_hits --refs
sivtr show desk:terminal/session_42/3/p1 --full
sivtr zoom desk:agent/<session>/3 -C 2 --save remote_ctx --refs
sivtr filter @remote_hits -m "cargo test" --save remote_tests --refs
sivtr nav @remote_tests[1] '<[-1..+1]' --refs
sivtr copy desk:terminal/session_42/3 --print
  • Nothing is shared until sivtr share or share add runs.
  • Access is read-only. Peers cannot write sessions or run commands on the owner machine.
  • Secret redaction is on by default (--no-redact disables it for a share).
  • Invites are single-use and short-lived (default 10m).
  • Transport between daemons is encrypted iroh.
  • Local-first remains default: unknown scopes fail instead of probing the network.
Terminal window
sivtr serve start
sivtr serve status
sivtr serve logs
sivtr serve stop

State lives under data_dir() (SIVTR_DATA_DIR override, else the platform config dir under sivtr):

FilePurpose
identity.keyStable device identity
remote-state.dbPeers, shares, grants, invites, remotes
daemon.json / daemon.lock / daemon.logRuntime control and logs

See Data Locations and Local-first and Privacy.

CommandPurpose
sivtr shareInteractive share (no invite)
sivtr share add|list|invite|grants|revoke...Manage shares
sivtr remote add|list|remove|rename|testManage remotes in the current workspace
sivtr peer list|forgetManage known peer identities
sivtr serve ...Manage the device daemon
sivtr ws listList local workspace origin labels

Exact syntax: CLI Reference.