nomadterm
Let AI agents message, watch, and spawn each other across terminals. Claude Code, Gemini CLI, Codex, OpenCode.
Open source Open in the app JSON README (API)
About
Let AI agents message, watch, and spawn each other across terminals. Claude Code, Gemini CLI, Codex, OpenCode.
Details
- Kind
- Plugins
- Topic
- AI, RAG & memory
- Publisher
- opentech-lab
- Origin
- gemini
- Category
- ferramentas
- Version
- 1.0.0
- Stars
- 1
- Last push
- 2026-03-21T02:02:49Z
- Repository state
- ativo
- Language
- Rust
- License
- MIT
- Added
- 2026-08-30 14:13:39
- Updated
- 2026-08-30 14:13:39
- Origin id
opentech-lab/nomadterm-server
README
# NomadTerm Server ## What Is This? NomadTerm is a secure remote PTY daemon for AI CLI tools (Claude Code, Codex, Copilot, Gemini). It runs on the machine where your AI sessions live and lets you monitor and control them from your phone or desktop. ``` Mobile app ──WebSocket──► nomadterm daemon ◄── manages ── nomadterm-desktop (GUI) ``` - **Daemon** (`nomadterm`) — runs in the background, exposes a `/ws` endpoint, manages PTY sessions, streams output to your phone in real time - **Desktop GUI** (`nomadterm-desktop`) — optional Tauri app on your Linux desktop to manage repos, generate QR codes, and start/stop the daemon with one click --- ## Install (Linux — recommended) Download both `.deb` files from the [latest release](../../releases/latest): | File | What it installs | |------|-----------------| | `nomadterm_X.Y.Z_amd64.deb` | `/usr/bin/nomadterm` + systemd service | | `nomadterm-desktop_X.Y.Z_amd64.deb` | `/usr/bin/nomadterm-desktop` (the Tauri GUI) | ```bash sudo apt install ./nomadterm_X.Y.Z_amd64.deb sudo apt install ./nomadterm-desktop_X.Y.Z_amd64.deb ``` After installing both, **NomadTerm** appears in your Ubuntu app launcher. Open it to get started. > **Tip:** copy the `.deb` files to `/tmp/` before installing to avoid an apt sandbox warning: > ```bash > cp ~/Downloads/nomadterm*.deb /tmp/ > sudo apt install /tmp/nomadterm_X.Y.Z_amd64.deb /tmp/nomadterm-desktop_X.Y.Z_amd64.deb > ``` --- ## Usage ### Option A — Desktop GUI (recommended for desktop Linux) 1. Install both `.deb` packages above 2. Open **NomadTerm** from your app launcher 3. Click **+** to add a repo folder 4. Click **Start** — the daemon starts and a QR code appears 5. Scan the QR from the NomadTerm mobile app to connect The GUI manages tokens, ports, and the daemon lifecycle automatically. When Tailscale is installed and active, it is preferred automatically so the same QR code can work from outside your home network. Without Tailscale, NomadTerm falls back to LAN-only access. --- ### Option B — Headless daemon (servers, SSH, no display) ```bash nomadterm --ws --bind-tailscale --port 7681 ``` Useful flags: | Flag | Description | |------|-------------| | `--bind-tailscale` | bind to the Tailscale IP (falls back to LAN IP if unavailable) | | `--port <PORT>` | WebSocket port (default `7681`) | | `--no-tls` | disable TLS for local/trusted networks | | `--token <TOKEN>` | set a fixed bearer token instead of generating one | | `--workspace <PATH>` | set the working directory for the session | At startup the daemon prints the WebSocket address, bearer token, and a QR code. Scan it from the mobile app or enter the details manually. For out-of-home access, keep Tailscale active on both the server machine and your phone. #### Install as a systemd service ```bash # First-time setup sudo bash install.sh init # Update later sudo bash install.sh update ``` The `install.sh` script is included in `nomadterm-server-linux-x86_64.tar.gz` on the releases page, or downloadable directly: ```bash curl -Lo install.sh https://github.com/YOUR_ORG/nomadterm/releases/latest/download/install.sh sudo bash install.sh init ``` --- ## Connect from mobile Open the NomadTerm mobile app and: - **Scan the QR code** shown by the daemon or desktop GUI, or - **Enter manually**: host, port, and token After connecting you can: - view and spawn AI CLI sessions (Claude Code, Codex, Copilot, Gemini) - open a live terminal view - approve or reject tool calls - kill a running session --- ## Build from source ```bash # Daemon only cargo build --release ./target/release/nomadterm --ws # Desktop GUI cd desktop npm install npm run tauri dev # requires nomadterm binary in PATH ``` --- ## License [MIT](LICENSE)