Add subcommands so the desktop agent runs in the background on login — the real desktop product shape, no window. `tether-agent install` writes a launchd LaunchAgent (macOS) or systemd user unit (Linux) with the resolved config baked in (run mode + server/account/name/room), loads it, and it survives reboots; `uninstall`/`status` manage it. Foreground `run` unchanged (the no-subcommand default). Windows falls through with a hint. Verified on macOS: install loads the agent (launchctl lists it, process runs with the baked args), uninstall removes it cleanly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
tether-agent
Headless clipboard sync daemon on the shared tethercore engine (SSE + RTC +
LAN, prefer-direct E2E). One Rust binary for macOS / Linux / Windows.
tether-agent # run in the foreground (Ctrl-C to stop)
tether-agent install # run on login as a background service
tether-agent uninstall # remove the service
tether-agent status # service status
# config (applies to run + install; account derives the shared room):
tether-agent install --account you@example.com --name "Patrick's NAS"
- macOS: a launchd LaunchAgent at
~/Library/LaunchAgents/io.pecord.tether-agent.plist(logs →~/Library/Logs/tether-agent.log). - Linux: a systemd user unit at
~/.config/systemd/user/tether-agent.service(loginctl enable-lingerto start at boot without login). - Defaults:
--server https://tether.pecord.io, account-derived room, hostname as name.