{"slug": "built-a-remote-control-for-the-ai-agents-living-on-my-garage", "title": "Built a remote control for the AI agents living on my garage", "summary": "A developer built Relay, a remote control tool for AI agents running on a home server, enabling live terminal access from any device with session persistence, file transfer, and token quota tracking. The open-source Go and React project supports Claude Code, Codex, OpenCode, and Hermes, with the backend running on Linux and frontends for web, Android, and Windows, while macOS and iOS builds are planned.", "body_md": "# Built a remote control for the AI agents living on my garage\n\nThe garage server has been humming along for months: a refurbished OptiPlex running Ubuntu, 32 GB RAM, a single 3060. It's perfect for\n\nThe stack is boring on purpose: Go 1.22, standard library websockets, SQLite for session metadata, systemd unit for the service. Frontend is Vite + React + Tailwind, compiled to a single static binary via\n\nMissing pieces I'm tackling this month: macOS/iOS builds (code-signing is the blocker), a Tailscale/WireGuard toggle so you don't need to expose port 8080, and agent-specific keybindings — Codex loves Ctrl-C, Claude Code prefers Ctrl-D.\n\n[Claude Code](/en/tags/claude%20code/), Codex, OpenCode, and Hermes sessions that run for hours. What wasn't perfect was the workflow — every time I wanted to check a long-running task or nudge an agent, I'd open Termius, authenticate, tmux attach, scroll back, type, detach. On a phone? Forget it.So I wrote Relay. It's a tiny Go backend that sits on the Linux box and a React frontend that runs anywhere — browser, Android, Windows (macOS and iOS builds are next). The backend speaks the native protocols of each agent: Anthropic's CLI for [Claude](/en/tags/claude/) Code, OpenAI's for Codex, OpenCode's own socket, Hermes via its HTTP API. No wrapper scripts, no polling hacks. You log in once, pick an agent, and you're looking at a live terminal that survives device swaps.\n\nWhat changed day-to-day:\n\n**Session persistence**— start a refactor on the desktop, walk away, pick up the exact same scrollback on the phone at the coffee shop. The tmux session never dies unless you kill it.**File round-trips**— drag a log file down, edit a prompt template up. Works over the same WebSocket tunnel, no scp needed.** Quota glance**— one click shows Anthropic/OpenAI token burn for the current billing cycle. Saved me from two surprise $0.00 weeks already.**Credentials stay home**— API keys, SSH keys, git credentials never leave the backend. The frontend is just a viewport.\n\nThe stack is boring on purpose: Go 1.22, standard library websockets, SQLite for session metadata, systemd unit for the service. Frontend is Vite + React + Tailwind, compiled to a single static binary via\n\n`go:embed`\n\n. Total binary size ~12 MB. MIT licensed, repo at github.com/relay-sh/relay.Current platform matrix:\n\n**Backend**: Linux only (amd64/arm64)** Frontend**: Web (any browser), Android APK, Windows .exe** Agents tested**: Claude Code, Codex, OpenCode, Hermes\n\nMissing pieces I'm tackling this month: macOS/iOS builds (code-signing is the blocker), a Tailscale/WireGuard toggle so you don't need to expose port 8080, and agent-specific keybindings — Codex loves Ctrl-C, Claude Code prefers Ctrl-D.\n\nIf you've got a box collecting dust and a subscription to any of these agents, it's a 5-minute `curl | bash`\n\nto try. Would love to hear what breaks on your hardware.\n\nStory tracker · related coverage\n\n[Does anyone actually care about llms. 13h ago](/en/news/6847/)\n\n[Codex Dream Skin lets you customize your desktop UI 16h ago](/en/news/6824/)\n\n[AI is making every side project feel like meaningless slop 1d ago](/en/news/6755/)\n\n[HarnessRouter makes it way easier to switch between Claude Code 1d ago](/en/news/6726/)\n\n[Codex weekly limits are disappearing way too fast for me 1d ago](/en/news/6708/)\n\n[GitHub PRs are completely falling apart under the weight of 2d ago](/en/news/6641/)\n\n[Next AI Takes on the Prime Number Challenge →](/en/news/6899/)\n\nFree AI toolbox — all free to use\n\nDetailed breakdowns of putting AI to work are in\n\n[a guide to making money with AI](https://tanyan888.com/), with plenty of directly applicable cases.## All Replies （3）\n\nA\n\nThanks for sharing! What does it do exactly? Always on the lookout for lightweight tools that don't phone home.\n\n0\n\nN\n\nC", "url": "https://wpnews.pro/news/built-a-remote-control-for-the-ai-agents-living-on-my-garage", "canonical_source": "https://promptcube3.com/en/news/6905/", "published_at": "2026-08-19 10:02:12+00:00", "updated_at": "2026-08-19 10:11:44.830958+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-agents"], "entities": ["Relay", "Claude Code", "Codex", "OpenCode", "Hermes", "Anthropic", "OpenAI"], "alternates": {"html": "https://wpnews.pro/news/built-a-remote-control-for-the-ai-agents-living-on-my-garage", "markdown": "https://wpnews.pro/news/built-a-remote-control-for-the-ai-agents-living-on-my-garage.md", "text": "https://wpnews.pro/news/built-a-remote-control-for-the-ai-agents-living-on-my-garage.txt", "jsonld": "https://wpnews.pro/news/built-a-remote-control-for-the-ai-agents-living-on-my-garage.jsonld"}}