2026
Claude Code, Codex, Grok, OpenCode oder Cursor Agent auf einem Server laufen lassen und vom Laptop aus über ein vollständiges Remote-Terminal bedienen – interaktive Sitzungen in tmux, übertragen per WebSocket.
agents besteht aus zwei Go-Binaries. agentsd läuft auf einem Server,
auf dem die Coding-CLIs installiert sind: Er startet jeden Agent in einer
tmux-Sitzung und stellt eine HTTP-API sowie einen WebSocket bereit, der ein
vollständiges Terminal transportiert. agentsctl läuft auf dem Laptop:
eine TUI zur Sitzungsauswahl, eine CLI und ein Raw-Terminal-Client für diesen
WebSocket.
laptop server
┌─────────────┐ WebSocket ┌──────────────────────────┐
│ agentsctl │ ──────────────► │ agentsd │
│ · tui │ + REST API │ · tmux sessions │
│ · session │ │ · claude/grok/codex/… │
│ · status │ │ · full PTY bridge │
└─────────────┘ └──────────────────────────┘
Interaktive Agent-CLIs wollen ein echtes Terminal: Anmeldung mit Abo, volle
Oberfläche, Tastenbehandlung. Ihre Headless-Modi (-p) verhalten sich anders
und können über API-Guthaben abgerechnet werden. agents lässt den Agent
interaktiv auf dem Server laufen und überträgt das Terminal zu Ihnen. Eine
Warteschlange für Print-Jobs gibt es, aber nur als ausdrücklich gekennzeichnete
Option.
POST /v1/sessions mit einem Agent und einem Arbeitsverzeichnis.workspace_root aufgelöst und gegen eine
Allowlist geprüft – .. wird abgelehnt, Symlinks werden vor dem Abgleich
aufgelöst.tmux new-session -d -s la-<id> -c <dir> -- <agent> aus. Ein
optionaler erster Prompt wird mit tmux send-keys eingetippt, nicht als
CLI-Flag übergeben.agentsctl session open verbindet sich mit /v1/sessions/{id}/pty. Der
Server öffnet ein PTY mit tmux attach; Binär-Frames tragen die
Terminal-Ein- und -Ausgabe, JSON-Text-Frames Größenänderungen und
Keepalive-Pings.SSH bleibt als optionaler Rückfallweg (session open --ssh).
# server: tmux + the CLIs you want
echo "AGENTSD_TOKEN=$(openssl rand -hex 32)" > ~/.config/agentsd/env
agentsd serve --config ~/.config/agentsd/config.toml
# laptop
agentsctl config init # set url + token
agentsctl # TUI session picker
agentsctl session start -a claude --open
Optional: sichtbares Chromium für Playwright über Xvfb, damit Agents auf dem Server einen echten Browser steuern können.
Das Token ist faktisch interaktiver Fernzugriff auf die Agent-Werkzeuge dieses
Hosts – man sollte es wie eine Shell behandeln. Voreinstellungen und
Dokumentation zielen auf 127.0.0.1 plus Tunnel (Tailscale, Cloudflare Tunnel
mit Access) statt eines öffentlichen Ports, und jede /v1/*-Route,
einschließlich des PTY-WebSockets, verlangt das Bearer-Token.
Es ist eine frühe öffentliche Vorschau (v0.2.x), geeignet für einen privaten oder kleinen Team-„Agent-Server“. Mandantenfähig ist es nicht: Mehrbenutzer-Isolation, Identität über ein gemeinsames Token hinaus, Sitzungsaufzeichnung und Homebrew-Paket stehen auf der Roadmap und sind nicht ausgeliefert.
Go, tmux, WebSocket, Bubble Tea. Lizenziert unter der GNU AGPL v3.