दस्तावेज़ीकरण
Scomp इंस्टॉल करें, अपना काम tmux या screen सेशन में चलाएं, और उसे अपने फ़ोन से नियंत्रित करें।
How Scomp works
Scomp has three parts. A lightweight Go agent runs on your
machine and discovers your active terminal sessions. It dials
out to the relay (link.scomp.me)
over an encrypted WebSocket. Your phone or browser connects
to the same relay, authenticates with Google, and streams the terminal in
real time. No inbound ports, no VPN, no SSH keys to hand out.
New client: scomp MCP
Connect a local LLM to a private remote host
scomp-mcp is another scoped client of the same relay. Run it
on your laptop and an MCP-capable coding agent can list, read, and—when
explicitly approved—send input to existing tmux or Screen sessions on a
private EC2 instance. No SSH access from the laptop, VPN, inbound port,
or public host IP is required.
The user must manually start the remote session and scomp agent. This is visible interactive terminal control, not a hidden command executor.
Before you start
- A machine running Linux or macOS (amd64 or arm64) with a terminal.
- tmux or screen installed — so your work survives disconnects. Most systems already have one; install with
apt install tmux,dnf install tmux, orbrew install tmux. - A phone or second device with a modern browser and a Google account for sign-in.
Quick start
From nothing to controlling a terminal from your phone in six steps.
- 01
Install the agent (no root needed)
Download the single static binary and drop it in
~/.local/bin. Nosudo, no system directories, nothing to uninstall later — just delete the file.curl -fsSL https://github.com/smart-bit-me/scomp-agent/releases/latest/download/scomp-linux-amd64 -o scomp \ && chmod +x scomp \ && mkdir -p ~/.local/bin && mv scomp ~/.local/bin/scompMake sure
~/.local/binis on yourPATH(it is by default on most modern Linux distros and macOS). Ifscompisn't found, addexport PATH="$HOME/.local/bin:$PATH"to your~/.bashrcor~/.zshrc. macOS/arm users: swap the filename forscomp-darwin-arm64. - 02
Start a persistent session (tmux or screen)
Scomp relays existing terminal sessions — it doesn't spawn your work for you. Start your long-running task inside
tmuxorscreenso it keeps running when you disconnect, close your laptop, or drop off Wi-Fi. This is the key habit: always run inside a session.# tmux — create and enter a named session tmux new -s work # …or screen, if you prefer screen -S workOn Linux, Scomp can also discover raw kernel PTYs, so a plain terminal can be relayed too — but only tmux/screen survive a disconnect. For anything you care about, use one of them.
- 03
Run your long task inside the session
Inside the session, launch whatever you want to babysit from your phone — an AI coding agent, a build, a deploy, a training run, a log tail.
# examples of things worth watching from your phone claude # Claude Code — pauses for your approval npm run build # a long build ./deploy.sh production # a deploy you want to confirm journalctl -fu myapp # a live log tail - 04
Detach and start the relay agent
Detach from the session so your task keeps running in the background, then start the agent. It prints a banner with your UID, a QR code, and a URL.
# detach: tmux → Ctrl-b then d | screen → Ctrl-a then d # then start the relay agent scompThe agent dials out to the relay over an encrypted WebSocket — you never open an inbound port and never touch your firewall. Leave it running in a spare terminal (or under its own tmux window).
- 05
Connect from your phone
Scan the QR code with your phone's camera (or open the printed
https://link.scomp.me/?uid=…URL), sign in with Google, and tap your session — e.g.tmux:work. You're now watching and controlling that exact terminal, live, from anywhere.Your UID is stable (stored at
~/.config/scomp/uid), so once your phone is paired, reconnecting later is one tap. - 06
Walk away — get pinged when needed
Close the laptop and go. When your AI agent pauses for approval or the session falls silent after activity, Scomp sends a push notification. Reconnect, approve or type, and let it keep going.
tmux & screen cheat sheet
A persistent session is the foundation of everything Scomp does. Keep your long-running work in one and you can detach, walk away, and reconnect from any device without losing state.
tmux
tmux new -s work | Create and enter a session named "work" |
Ctrl-b then d | Detach (leaves everything running) |
tmux ls | List running sessions |
tmux attach -t work | Re-attach to "work" |
tmux kill-session -t work | End the session |
screen
screen -S work | Create and enter a session named "work" |
Ctrl-a then d | Detach (leaves everything running) |
screen -ls | List running sessions |
screen -r work | Re-attach to "work" |
screen -X -S work quit | End the session |
Recommended workflow: babysitting an AI agent
The pattern Scomp was built for. Run a long AI coding session (Claude Code, or any agent that pauses for approval), then supervise it from your phone and approve steps as they come.
# 1. persistent session so the agent survives a disconnect
tmux new -s claude
# 2. start the agent inside it, then detach with Ctrl-b d
claude
# 3. start the relay (in another terminal or tmux window)
scomp
# 4. scan the QR on your phone, sign in, tap "tmux:claude"
# 5. get a push notification whenever the agent needs approval —
# approve from your phone and it keeps going.
For supervised or sensitive environments, start the agent relay with
--mode approved-only so every keystroke must be pre-approved
at the agent level.
Session modes
Control how much a connected browser can do with --mode:
--mode readonly Read-only (default)
Viewers can watch the live stream but cannot type. This safe default is ideal for monitoring, demos, teaching, and pair-observing.
--mode full Full
Read and write. Choose this deliberately to drive the terminal from your phone exactly as if you were at the keyboard.
--mode approved-only Approved-only
All input is blocked at the agent level unless pre-approved — not just hidden in the UI. Built for supervising AI agents in sensitive environments.
Hosted relay v0.4.x supports agent v0.2.4 and
newer. Signed-in clients show a warning when a connected agent needs a
security update. Use scomp --version to check locally.
Command-line reference
| Flag | Default | Description |
|---|---|---|
--server <url> | wss://link.scomp.me/agent | Relay WebSocket URL. Point at your own server for self-hosting. |
--mode <mode> | readonly | readonly | full | approved-only (see above). Unknown values are rejected. |
--no-qr | off | Skip the QR code; print the connect URL only. |
--version | — | Print the version and exit. |
The agent stores a stable identity at ~/.config/scomp/uid;
your connect URL is https://link.scomp.me/?uid=<uid>.
FAQ
Do I need to open a firewall port or set up a VPN?
No. The agent makes an outbound WebSocket connection to the relay. There are no inbound ports, no port-forwarding, and no VPN.
Does Scomp store or record my terminal output?
Not by default. Terminal content is relayed in memory and is not end-to-end encrypted. You can explicitly opt in to session recording for an account or machine; recordings keep terminal output until you delete them.
Do I have to use tmux or screen?
It is strongly recommended. tmux and screen keep your task alive when you disconnect. On Linux, Scomp can also relay a raw kernel PTY, but only tmux/screen survive a dropped connection.
Which platforms are supported?
Linux and macOS, on both amd64 and arm64. The agent is a single static binary with no dependencies. Raw PTY scanning is Linux-only; tmux and screen discovery work on both.
How do I run an AI coding agent like Claude Code and get notified when it needs me?
Start a tmux session, run the agent (e.g. `claude`) inside it, detach, then run `scomp`. Pair your phone once. When the agent pauses for approval, Scomp pushes a notification; you approve from your phone and it keeps working.
How do I stop Scomp?
Press Ctrl-C in the terminal running the agent. It disconnects from the relay and cleans up any linked tmux sessions it created. Your original tmux/screen session is untouched.
Can I share a session read-only with a colleague?
Yes. Run the agent with `--mode readonly` and share the connect URL. They can watch the live terminal in a browser without being able to type.