Skip to content

elin66alpha/Relay

Repository files navigation

Relay

中文文档 | Roadmap | Production hardening

Relay is a private control surface for CLI agents. You can open the same frontend on mobile, Web, or desktop, then connect it to a backend you control. The backend can run on a home PC / Mac, a workstation, or a cloud VPS.

The app ships with no built-in backend URL. A client must scan an encrypted credential QR code generated by the backend and enter the password chosen by the user before it can connect.

After connection, Relay turns day-to-day CLI-agent work into one chat surface: switch between Claude Code, Codex, Antigravity, OpenCode, and Hermes; choose a work directory; keep multiple sessions; read streaming agent replies with per-segment timestamps; ask side questions without disturbing the main task (BTW sidekick); manage files; check quota; and use Card Mode to confirm the next action with a gesture.

Current Capabilities

  • One backend can serve multiple frontend devices; mobile, Web, and desktop can return to the same work directory and session.
  • Claude Code, Codex, Antigravity, OpenCode, and Hermes can be used from the same app. Experimental agents appear automatically when their CLI is detected.
  • Chat history and resumable CLI context live on the backend, so reopening the app can continue previous work.
  • Multi-segment messages show each assistant follow-up with its own timestamp; earlier "thinking" steps are collapsible.
  • BTW (by the way) sidekick lets you ask read-only questions that fork the main session without disturbing the task.
  • The file system screen can browse backend folders, change the work path, upload files, and download files.
  • Quota dialogs, scheduled messages, and system notifications help track Claude Code / Codex availability.
  • Card Mode generates suggestions from recent sessions, so the user can confirm, defer, or discard them with gestures.

Repository Layout

Relay/
├── assets/               app resources (agent icons, screenshots, app icon)
├── backends/             Linux, macOS, and Windows backend setup scripts
├── lib/                  Flutter frontend for mobile, Web, and desktop
├── server/               Node backend running on a local machine or VPS
├── docs/                 roadmap, production hardening, desktop, and agent notes
└── scripts/              local development and build helpers

For development details, see AGENT.md.

Backend Quick Start

Pick a machine to act as the backend: a home PC / Mac, an always-on workstation, or a VPS. The backend machine needs Node.js 18 or newer, plus at least one logged-in CLI agent from Claude Code, Codex, Antigravity, OpenCode, or Hermes.

Then run the matching setup script from the repository root:

./backends/linux/setup.sh
./backends/macos/setup.sh
.\backends\windows\setup.ps1

Setup asks how the app should reach the backend:

  • Direct mode: for a VPS or host with a reachable public IP/domain.
  • Cloudflare Tunnel: for a stable HTTPS address under your own domain.
  • Cloudflare Quick Tunnel: the fastest trial path; no domain required, but the URL may change.

The script starts the backend and generates both an encrypted credential QR code and a matching JSON credential file. Open the Relay app, scan the QR or import the JSON file, enter the password you chose, and the frontend connects to that backend.

Frontend Demo

Main chat screen First connection Agent and session drawer Chat bottom sheet File system Card mode Scheduled messages Quota usage

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors