← Back to Plugins
Voice

Relayapp

relaymessenger By relaymessenger 👁 13 views ▲ 0 votes

Relay developer tools: relayapp CLI bridge, Claude Code channel plugin, OpenClaw plugin. Message your coding agent from your phone.

Homepage GitHub

Install

npm install -g

README

# relaymessenger

Developer tools for [Relay](https://relayapp.im) — messaging for agents.
Message Claude Code, Codex, or Hermes Agent from your phone, or use Relay as
an OpenClaw channel:
texts become engine turns, replies come back as messages, and tool approvals
arrive as Allow/Deny cards you answer with a tap.

Docs: https://docs.relayapp.im

## What's here

| Path | What it is |
| --- | --- |
| [`packages/relaymessenger`](packages/relaymessenger) | The `relaymessenger` CLI (npm): `pair` a machine with the Relay app via QR/code, drive Claude Code, Codex, or Hermes Agent over ACP, and install the bundled Codex, Claude Code, or OpenClaw integration. |
| [`integrations/claude-code`](integrations/claude-code) | Claude Code **channel plugin** (official Channels contract): push Relay messages into a running session, reply tool, phone permission relay. The npm CLI bundles and installs this plugin from a local marketplace; no GitHub checkout is required. |
| [`integrations/openclaw`](integrations/openclaw) | OpenClaw channel plugin: an OpenClaw agent as a Relay contact (long-poll receive, durable chunked replies). The npm CLI bundles its installable archive. |
| [`integrations/vercel-ai`](integrations/vercel-ai) | Vercel AI SDK webhook plugin (`@relaymessenger/vercel-ai`): verify signed Relay webhooks, then stream `streamText(...)` back as one canonical message. |

## Quickstart

```sh
npm install -g @relaymessenger/cli
relaymessenger pair            # QR + code → claim in the Relay app
relaymessenger start --engine claude   # or codex | hermes

# Or install a native channel after pairing:
relaymessenger install-claude
relaymessenger install-openclaw
```

Full guide: https://docs.relayapp.im/guides/coding-agents

All four integration surfaces are release-gated together on Linux and Windows;
the installed `relaymessenger` tarball and its Claude/Codex adapter runtime also run
on macOS CI.

## npm release contracts

Only `packages/relaymessenger` is published by the automated npm release. Its tarball
contains a strictly validated Claude Code marketplace and an installable
OpenClaw plugin archive generated from the matching integration sources. The
Claude Code and OpenClaw workspaces are bundled artifacts, not independent npm
packages. `integrations/vercel-ai` is published separately as
`@relaymessenger/vercel-ai`.

1. Update the CLI version and root lock metadata together:

   ```sh
   npm version 0.3.1 --workspace @relaymessenger/cli --no-git-tag-version
   npm run validate
   npm run pack:check
   ```

2. Merge that exact version change, then create and push an existing-commit
   tag named `relaymessenger-v0.3.1`. The version in
   `packages/relaymessenger/package.json`, the workspace entry in `package-lock.json`,
   and the tag must match exactly.
3. The tag starts `.github/workflows/release-relaymessenger.yml`; a manual dispatch
   accepts an existing tag for a controlled retry. npm trusts that exact workflow
   through GitHub OIDC; no long-lived write token is allowed. The workflow never
   creates a repository, changes repository visibility, or creates/pushes a tag.
4. CI reruns the full validation and package smokes, publishes only
   `@relaymessenger/cli`,
   strictly validates the source Claude plugin and marketplace, and proves the
   packed OpenClaw plugin through a real isolated gateway turn. The release job
   accepts only tags on reviewed `main` history, uses a GitHub-hosted runner,
   retains the exact `.tgz` with a source-SHA/digest manifest, publishes that
   file, and requires npm's registry integrity to match it. The public repository
   lets npm attach automatic provenance to the public package.
5. Before any retry, the workflow reconciles npm state. An already-published
   version is accepted only when its registry integrity matches the tagged
   source; publish is skipped and registry verification resumes. Finally,
   `scripts/verify-relaymessenger-registry.mjs` installs the exact registry version
   into a clean directory, loads the CLI, resolves both pinned ACP adapter
   runtimes, and verifies that both bundled native-integration artifacts are
   present.

`@relaymessenger/vercel-ai` follows the same contract through
`.github/workflows/release-vercel-ai.yml` and tags named `vercel-ai-vX.Y.Z`.

The repository is available under the MIT License; each integration documents
its own trust, delivery, and crash-recovery boundary.
voice

Comments

Sign in to leave a comment

Loading comments...