Agent skill

Relay Server

by Codename-11 in Codename-11/hermes-relay

Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features.

MITAuto-check: notesDevOps & Cloud

Install Relay Server

skills CLI
$ npx skills add Codename-11/hermes-relay --skill relay-server -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Codename-11/hermes-relay relay-server --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Codename-11/hermes-relay.git skills-src && mkdir -p .claude/skills && cp -r skills-src/relay_server .claude/skills/relay-server && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
relay-server
GitHub stars
310
Token cost
~965 tokens
SKILL.md length
297 words
Files
6
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features.

  • DevOps & Cloud work in your project
  • SKILL.md covers What It Is, When You Need It, Quick Setup and Configuration, plus 4 more sections
  • Runs Python scripts from its folder; calls docker, python and pip; needs RELAY_SSL_KEY

What it does

Relay Server is an agent skill from Codename-11/hermes-relay. Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features.

Its SKILL.md is about 970 tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files (for example `__init__.py` and `__main__.py`).

It sits in DevOps & Cloud. It works with Android. The repository describes itself as: Hermes-Relay — Your Hermes AI agent, in your pocket — chat, voice, and control. The licence is MIT.

When your agent uses it

  • DevOps & Cloud work in your project

Example prompts

  • “/relay-server”

Requirements

  • Python 3
  • Docker
  • A credential in RELAY_SSL_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 293f00a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • docker
    • python
    • pip
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use docker, pip and curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • RELAY_SSL_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Relay Server loads about 965 tokens when it runs. Until then it costs about 31 tokens; SKILL.md has 297 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~31
When it runs · the whole SKILL.md, loaded when a task matches
~965

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteRuns commands with sudoSKILL.md:61
    sudo cp relay_server/hermes-relay.service /etc/systemd/system/
  • NoteRuns commands with sudoSKILL.md:62
    sudo systemctl daemon-reload
  • NoteRuns commands with sudoSKILL.md:63
    sudo systemctl enable --now hermes-relay

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Codename-11/hermes-relay at commit 293f00a, republished under its MIT licence (© Codename-11). 297 words, ~965 tokens.

Download SKILL.mdSave it as .claude/skills/relay-server/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
relay-server
description
Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features.

Hermes-Relay Server

Setup and run the Hermes-Relay Server for the Hermes-Relay Android app.

What It Is

A lightweight Python WSS server that bridges the Hermes-Relay Android app to server-side features that need persistent bidirectional communication: terminal (remote shell via tmux) and bridge (agent-driven phone control). Chat does not use the relay — it rides the standard upstream Hermes surfaces (the dashboard /api/ws gateway, with API-server SSE as fallback).

When You Need It

  • Chat only? You do NOT need the relay server. The app uses the standard upstream Hermes surfaces — the dashboard gateway (:9119) preferred, the API server (:8642) as fallback.
  • Terminal or Bridge? You need the relay server running on the same machine as hermes-agent.

Quick Setup

One-liner (pip)
bash
pip install aiohttp pyyaml && python -m relay_server --no-ssl

Run this from the hermes-android/ repo root, or wherever relay_server/ is located.

As a Hermes plugin + relay
bash
# 1. Install and enable the native Hermes plugin
hermes plugins install Codename-11/hermes-relay/plugin --enable

# 2. Install relay dependencies
pip install -r relay_server/requirements.txt

# 3. Start the relay server
python -m relay_server --no-ssl --log-level INFO
Docker
bash
docker run -d --name hermes-relay \
  --network host \
  -v ~/.hermes:/home/relay/.hermes:ro \
  ghcr.io/codename-11/hermes-relay:latest

Or build locally:

bash
docker build -t hermes-relay relay_server/
docker run -d --name hermes-relay --network host -v ~/.hermes:/home/relay/.hermes:ro hermes-relay
Systemd service (persistent)
bash
sudo cp relay_server/hermes-relay.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now hermes-relay

Edit the service file first to set User= and WorkingDirectory= to match your setup.

Configuration

All settings via environment variables:

VariableDefaultDescription
RELAY_HOST0.0.0.0Bind address
RELAY_PORT8767Listen port
RELAY_SSL_CERT(none)Path to TLS certificate
RELAY_SSL_KEY(none)Path to TLS private key
RELAY_WEBAPI_URLhttp://localhost:8642Hermes API Server URL
RELAY_HERMES_CONFIG~/.hermes/config.yamlPath to hermes config (for profile loading)
RELAY_LOG_LEVELINFOLogging level

CLI Options

python -m relay_server [OPTIONS]

  --port PORT        Override listen port (default: 8767)
  --no-ssl           Disable TLS (dev only — use for localhost)
  --log-level LEVEL  Set logging level (DEBUG, INFO, WARNING, ERROR)
  --config PATH      Path to hermes config.yaml

Architecture

Phone (HTTP/SSE) --> Hermes API Server (:8642)   [chat — direct, no relay]
Phone (WSS)      --> Relay Server (:8767)         [terminal, bridge]

The relay authenticates phones via a 6-character pairing code, then issues a 30-day session token. All communication uses typed envelope messages multiplexed over a single WebSocket connection.

Verify It Works

bash
curl http://localhost:8767/health
# {"status": "ok", "version": "0.4.0", "channels": ["chat", "terminal", "bridge"]}

Troubleshooting

  • Connection refused: Is the relay running? Check systemctl status hermes-relay or docker logs hermes-relay
  • Auth failures: Pairing codes expire after 10 minutes. Generate a new one.
  • TLS errors: Use --no-ssl for local dev. For production, set RELAY_SSL_CERT and RELAY_SSL_KEY.
  • Can't reach from phone: Ensure port 8767 is open in firewall. Use ss -tlnp | grep 8767 to verify listening.

© Codename-11, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files in relay_server of Codename-11/hermes-relay.

  • SKILL.md
  • Dockerfile
  • __init__.py
  • __main__.py
  • hermes-relay.service
  • requirements.txt

Open the folder on GitHubat commit 293f00a

Compare with similar skills

Relay Server next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Relay Server compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Relay Server this skillCodename-11/hermes-relay310—~965Automated safety check: NotesMIT
Termux Safeferrumclaudepilgrim/claude-code-android266—~935Automated safety check: PassMIT
Crash Instrumentationnexus-labs-automation/mobile-observability116—~744Automated safety check: PassMIT
GitHub Actionscallstackincubator/agent-skills1.7k1 repos~703Automated safety check: PassMIT
Gplay Gradle Buildhanamizuki/solopreneur152—~1.2kAutomated safety check: PassMIT
Brigade Node Connection Diagnosticsspinabot/brigade11k—~1.2kAutomated safety check: PassMIT

Similar skills

  • Termux Safe

    ferrumclaudepilgrim/claude-code-android

    Android/Termux constraints reference. An agent skill from ferrumclaudepilgrim/claude-code-android.

    266 GitHub stars~935 tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Crash Instrumentation

    nexus-labs-automation/mobile-observability

    Set up crash instrumentation with actionable context. An agent skill from nexus-labs-automation/mobile-observability.

    116 GitHub stars~744 tokensUpdated 1 mo ago
    DevOps & CloudAuto-check passed
  • GitHub Actions

    callstackincubator/agent-skills

    Official

    GitHub Actions workflow patterns for React Native iOS simulator and Android emulator cloud builds with downloadable artifacts.

    1.7k GitHub starsUsed in 1 repo~703 tokens
    DevOps & CloudAuto-check passed
  • Gplay Gradle Build

    hanamizuki/solopreneur

    Build, sign, and package Android apps with Gradle before uploading to Google Play.

    152 GitHub stars~1.2k tokensUpdated 11 days ago
    DevOps & CloudAuto-check passed
  • Diagnoses why a Brigade companion app can't pair or connect, by first identifying the real node-to-gateway route and then fixing auth.

    11k GitHub stars~1.2k tokensUpdated 4 days ago
    DevOps & CloudAuto-check passed
  • Gradle Build Performance

    Moustachauve/WLED-Android

    Debug and optimize Android/Gradle build performance. An agent skill from Moustachauve/WLED-Android.

    169 GitHub starsUsed in 3 repos~2k tokens
    DevOps & CloudAuto-check passed

More from Codename-11/hermes-relay

  • Android

    Codename-11/hermes-relay

    Control an Android phone via Hermes-Relay — navigate apps, tap, type, swipe, and drive Uber, WhatsApp, Spotify, Maps, Settings, and more

    310 GitHub stars~4.9k tokensUpdated 2 days ago
    Auto-check passed
  • Hermes Relay Pair

    Codename-11/hermes-relay

    Generate a signed setup QR for Hermes-Relay Android, preserving Dashboard/Gateway ownership and optional Relay or API routes.

    310 GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check: notes
  • Translate Android Locale

    Codename-11/hermes-relay

    Generate, critique, install, and validate AI-assisted Android string-resource translations for Hermes-Relay.

    310 GitHub stars~365 tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Relay Server

What does Relay Server do?

Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features. Relay Server is an agent skill from Codename-11/hermes-relay. Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features.

When should I use Relay Server?

Relay Server fits situations like: devOps & Cloud work in your project.

How do I install Relay Server in Claude Code?

Run `npx skills add Codename-11/hermes-relay --skill relay-server -a claude-code`. Or copy the skill folder (relay_server in Codename-11/hermes-relay) into .claude/skills/relay-server in your project. Claude Code loads it when a task matches its description.

How do I install Relay Server in Codex?

Run `npx skills add Codename-11/hermes-relay --skill relay-server -a codex`. Or copy the skill folder (relay_server in Codename-11/hermes-relay) into .agents/skills/relay-server in your project. Codex loads it when a task matches its description.

Can I use Relay Server in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Codename-11/hermes-relay --skill relay-server -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/relay-server, .gemini/skills/relay-server, .github/skills/relay-server and .opencode/skills/relay-server in your project.

What does Relay Server need to run?

Going by SKILL.md and its folder, Relay Server needs Python for the scripts in its folder, the command-line tools its instructions call (docker, python, pip and curl) and credentials named RELAY_SSL_KEY. Our summary lists: Python 3; Docker; A credential in RELAY_SSL_KEY.

Does Relay Server access the network?

SKILL.md contains no URLs. Its commands use docker, pip and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Relay Server safe to install?

Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Relay Server use?

Relay Server is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Relay Server use?

About 965 tokens (SKILL.md is roughly 3.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Relay Server?

Skills that share tags, products or a category with Relay Server: Termux Safe (ferrumclaudepilgrim/claude-code-android, 266 stars), Crash Instrumentation (nexus-labs-automation/mobile-observability, 116 stars), GitHub Actions (callstackincubator/agent-skills, 1.7k stars) and Gplay Gradle Build (hanamizuki/solopreneur, 152 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Relay Server?

Codename-11 (a GitHub user) maintains it in Codename-11/hermes-relay, which has 310 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 5, 2026.

Source: Codename-11/hermes-relay on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.