Skip to content

Relay 0.1.9

Choose a tag to compare

@elin66alpha elin66alpha released this 27 Oct 00:12
· 6 commits to main since this release

Relay 0.1.9

Relay 0.1.9 adds Cursor as a fifth agent and tidies the model picker. This
release includes Android and Windows clients, the source backend setup bundle,
and a Windows backend bundle with its own Node.js runtime.

Highlights

  • Cursor joins Relay: Cursor appears in the agent list below Codex. Once
    the host's agent CLI is signed in (agent login, or CURSOR_API_KEY), you
    can pick its model, reasoning effort, Fast mode and permission like Claude
    Code and Codex, with several Cursor sessions running at once. Relay's Cursor
    uses its own config directory, server/cursor-config/, so choices made in
    Relay never change the host's Cursor defaults. Quota Usage shows Cursor's
    included usage.
  • A tidier model list: main models come first. Cursor models billed outside
    the plan, and older Claude Code and Codex models, move to a second page
    opened from the bottom of the screen. Swarms list main models only.
  • Current OpenCode and Hermes models: OpenCode's list comes from the host's
    opencode models, including every provider configured there. Hermes gains a
    Model entry showing the model configured on the host.

Other changes:

  • Machine details has a hardware card: CPU, memory and GPU names, disk usage,
    and live temperatures where the host exposes them.
  • One-line Linux install: curl -fsSL https://github.com/elin66alpha/Relay/releases/latest/download/install.sh | bash
    downloads this release's setup bundle, checks it, unpacks it into ~/relay
    and runs setup. Running it again upgrades in place and keeps tokens, chats
    and settings.
  • Linux setup can install any of the five agent CLIs that are missing, then
    prints their login commands, and marks every question with a banner so the
    choices are easy to spot.
  • Linux setup checks the Node.js version and, on Debian and Ubuntu, offers to
    install missing prerequisites with sudo apt-get.
  • The source backend setup bundle includes the Web client, served at the
    backend address (turn it off with RELAY_SERVE_WEB=0). Linux setup and the
    Windows graphical Setup.exe / console menu provide install, reinstall,
    uninstall, service status, optional agent CLI installation, Web selection,
    and creating, deleting, listing or re-showing device tokens. Windows Web and
    API share one Node.js service; no additional Web server is required.
  • Codex's permission list shows Full access once; conversations that used its
    duplicate Bypass tier keep full access.
  • Claude Code no longer shows a false "log in again within a day" warning on
    Machine details.
  • OpenCode, Hermes and Cursor start a new message after each tool call, as
    Claude Code and Codex do.
  • Relay approves Cursor actions once only, so it no longer adds commands to the
    host user's own Cursor allowlist.
  • Deleting or clearing a Cursor conversation also deletes its session record.
  • The file API refuses Cursor's auth.json, like the Claude Code and Codex
    credential files.
  • The backend finds agent CLIs installed in ~/.local/bin (Claude Code, Codex
    and others) even when its service PATH lacks that directory.
  • Switching to another backend reloads that host's agent list instead of
    keeping the previous backend's install and sign-in status.
  • The app keeps its work directory per backend, so a message to another
    backend no longer fails with EACCES: permission denied, mkdir. After
    updating, each backend opens at its default work directory until one is
    chosen there.
  • Machine details no longer splits words across two lines on portrait phones.

See the changelog
for the complete change list.

Downloads

Asset Purpose
relay-android-v0.1.9.apk Release-signed Android client. Reports version 0.1.9, version code 19, and installs over 0.1.8 and 0.1.8b.
relay-backend-setup-v0.1.9.tar.gz Source setup bundle with Linux, macOS, and Windows adapters and the compiled Web client. Requires host Node.js and dependency installation.
relay-windows-x64-v0.1.9.zip Windows x64 desktop client, version 0.1.9+19. Extract the whole archive and run relay.exe.
relay-backend-windows-x64-v0.1.9.zip Windows x64 backend with native Setup.exe, compiled Web client, Node.js 24.15.0, npm, locked production dependencies and setup/service/credential commands.
install.sh Linux one-line installer (curl -fsSL https://github.com/elin66alpha/Relay/releases/latest/download/install.sh | bash). Downloads and verifies the setup bundle above, then runs setup.
SHA256SUMS SHA-256 checksums for all five downloads above.

The Android APK and install.sh were built from
6c87fb9 and the source
setup bundle from cd9209a
on the 0.1.9 branch, the bundle with scripts/package_backend.sh; they
replace the earlier uploads under the same names. Beyond the Machine details hardware card,
the Linux setup prerequisites and menu, and the Web client, they find agent
CLIs in ~/.local/bin, reload the agent list when switching backends, keep the
work directory per backend, keep Machine details words on one line, and add
the one-line Linux install with its agent CLI step. The Windows downloads were rebuilt separately; their source revision and setup
instructions are documented below. Restart the backend after updating
it so the new code loads. Using Cursor requires its CLI (agent) installed and
signed in on the host.

Android signing

The APK uses Relay's release certificate, SHA-256
3e4dea3f6cd50fd30b25a168ba9eb2c14a14ecb8f786ffcb4e3c1836275a720f, and
updates releases signed with it in place.

Windows setup

The Windows client, bundled Windows backend and its Web client were rebuilt
together from 153d719
on the 0.1.9 branch. They replace the two earlier Windows ZIPs under the same
filenames; the desktop client still reports 0.1.9+19. Android, install.sh and
the source setup archive are maintained independently.

For the desktop client, extract the entire client ZIP and run relay.exe.
Keep the executable, DLLs and data directory together.

For the backend:

  1. Extract the entire backend ZIP to a permanent writable folder. Keep
    Setup.exe, server/, build/web/, backends/ and runtime/ together.
  2. Double-click Setup.exe. Its native Windows Forms interface uses the
    system .NET Framework; it needs no downloaded GUI runtime. The five steps
    cover included runtime/dependencies, optional agent CLIs, Web on/off,
    network mode and an encrypted device credential.
  3. Choose direct access, a named Cloudflare Tunnel or a temporary Quick
    Tunnel. Missing cloudflared is downloaded for tunnel modes. Named tunnels
    may open the browser for Cloudflare login; DNS overwrite is opt-in.
  4. Choose and confirm a credential password of at least six characters.
    Import server/credentials/*.relay.json or *.relay.png in Relay. The Device
    tokens tab can also display the QR. Passwords are not stored.
  5. Sign in/configure the agent CLIs yourself on this host. Setup can install
    any of the five CLIs using their official Windows installation methods;
    it never logs an agent in. Cursor's login command is agent login.
  6. Web defaults on and opens at the backend address, using the same Node.js
    service as the API. Import an encrypted device credential in the browser
    too. The API still requires authentication. No Nginx, IIS or extra Web
    serving process is required.

Setup.exe and the setup.cmd console menu share the same operations: install,
reinstall keeping existing tokens/chats/settings, uninstall, service status,
optional agent CLI installation, and token create/delete/list/re-show.
Re-showing retains the token and asks for a new QR password. Deleting a token
revokes the device's access. Services / Uninstall also provides Start, Stop,
Open Web and Open logs.

Setup registers a Scheduled Task at the current Windows user's login, rather
than PM2 on Linux. Only one managed installation per Windows user is supported.
The bundle contains no deployment state, CLI credentials or Cursor config.
Public access needs HTTPS. Quick Tunnel URLs can change after restart; create
and import a credential for the new address when that happens.

Console entry points remain available:

.\setup.cmd
.\start.cmd
.\stop.cmd
.\status.cmd
.\credential.cmd --url https://YOUR-BACKEND
.\uninstall.cmd

Uninstall stops services, removes the login task and by default removes Web.
The GUI also offers deleting the named Cloudflare tunnel and removing the
bundle-owned cloudflared. Configuration, tokens, encrypted credentials,
chats, settings and logs remain. Other host software and agent CLIs remain.
Extract the release again to restore a removed Web client. Read the bundled
README for updates, login commands and log locations.

Windows build validation

  • Flutter analysis passed; all 150 Flutter tests passed.
  • Windows release and Web release builds passed, with the service worker
    disabled and CanvasKit bundled locally.
  • Backend JavaScript syntax and ESLint passed.
  • Complete backend suite: 313 passed, 4 skipped, no failures.
  • Windows setup contract checks cover direct, quick and named tunnel modes,
    quoted paths, reinstall, invalid-input rejection and uninstall retention.
  • Packaged runtime checks cover setup/service commands, HTTP authentication,
    Web and API on the same port, hardware information, credential management
    and a real Windows terminal PTY.
  • Native Setup.exe compiled successfully.
  • Archives audited for deployment state and credentials; uploaded files and
    the full checksum manifest verified against SHA-256.

Known issue

On desktop Web, opening File system from the drawer can occasionally stay
on Reading files...; pressing Refresh loads the list at once. It has
not been reproduced in a foreground browser tab.