- deploy/install-mac.sh: per-user Node 22 (checksum-verified), DSH + pnpm in
~/.local, dsh-remote from the repo archive, pairing, LaunchAgent dsh web
- deploy/pair.mjs: pair without a running DSH (detects login-proxy redirects)
- install-local.mjs: --accept secrets list, --restart-on-sync
- sync.restartOnSync: slave restarts itself after synced plugins change
(waits for idle sessions, at most once per 10 min)
- remote_devices / remote_exec / remote_file / remote_task tools on the master
(exec: bash -lc with timeout + output clipping; files: read/write/list;
task: delegate a prompt to the device's own AI, wait for turn end, return
its answer; optional permission preset, status/cancel)
- only the master may control devices (allowPeerControl to relay between slaves),
agentTools.enabled=false opts a device out
- FORGE_CREDENTIALS opt-in pseudo-secret: ships the master's tea logins to a
slave (tea config + git credential store + identity)
- /dsh-remote/debug/inspect + deploy/session-log.mjs for transcripts
- tests for exec/files/task/forge install