一键导入
relay-server
Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generate, critique, install, and validate AI-assisted Android string-resource translations for Hermes-Relay. Use when adding a locale, refreshing a locale after English changes, or applying canonical translation corrections.
Snapshot the current state of all Hermes-Relay clients — paired Android phone (bridge permissions, telemetry, safety rails) AND/OR connected desktop CLI (advertised tools, workspace context). Reads /bridge/status and /desktop/_ping loopback endpoints. Use when the user asks "is the phone connected?", "is my desktop reachable?", "can you see my files?", "do you have access to my computer?", or any question about hermes-relay capabilities right now. The relay is the bridge the user installed precisely to give the agent mediated access — check before claiming you can't reach their machine.
Install, pair, and troubleshoot the Hermes-Relay desktop CLI on Windows, macOS, or Linux. Agent-readable recipe with live local-machine diagnostics via the desktop_terminal tool.
Smoke-test the Hermes-Relay bridge stack — checks relay health, phone connection, bridge channel, accessibility service, and screenshot capture in one pass
Generate a pairing QR for the Hermes-Relay Android app — one scan configures chat (API server) and terminal/bridge (relay) in a single step.
Control an Android phone via Hermes-Relay — navigate apps, tap, type, swipe, and drive Uber, WhatsApp, Spotify, Maps, Settings, and more
| name | relay-server |
| description | Setup and run the Hermes-Relay server for Android chat support, terminal, bridge, and related relay features. |
Setup and run the Hermes-Relay Server for the Hermes-Relay Android app.
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).
:9119) preferred, the API server (:8642) as fallback.pip install aiohttp pyyaml && python -m relay_server --no-ssl
Run this from the hermes-android/ repo root, or wherever relay_server/ is located.
# 1. Install the Android plugin (18 android_* tools)
cp -r plugin ~/.hermes/plugins/hermes-relay
# 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 run -d --name hermes-relay \
--network host \
-v ~/.hermes:/home/relay/.hermes:ro \
ghcr.io/codename-11/hermes-relay:latest
Or build locally:
docker build -t hermes-relay relay_server/
docker run -d --name hermes-relay --network host -v ~/.hermes:/home/relay/.hermes:ro hermes-relay
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.
All settings via environment variables:
| Variable | Default | Description |
|---|---|---|
RELAY_HOST | 0.0.0.0 | Bind address |
RELAY_PORT | 8767 | Listen port |
RELAY_SSL_CERT | (none) | Path to TLS certificate |
RELAY_SSL_KEY | (none) | Path to TLS private key |
RELAY_WEBAPI_URL | http://localhost:8642 | Hermes API Server URL |
RELAY_HERMES_CONFIG | ~/.hermes/config.yaml | Path to hermes config (for profile loading) |
RELAY_LOG_LEVEL | INFO | Logging level |
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
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.
curl http://localhost:8767/health
# {"status": "ok", "version": "0.4.0", "channels": ["chat", "terminal", "bridge"]}
systemctl status hermes-relay or docker logs hermes-relay--no-ssl for local dev. For production, set RELAY_SSL_CERT and RELAY_SSL_KEY.ss -tlnp | grep 8767 to verify listening.