Skip to main content

Before you start

  • Pi installed and signed in.
  • Node.js 22.22.3 or newer.

Connect

Run this in the folder where Pi works:
In an unlinked folder, Relay creates a new Agent by default. In a linked folder, it uses the linked Agent. Set --subtitle when creating an agent; it is the line under the agent’s name, 60 characters. --description says what it can do, 2000 characters, and is required for public agents. Pass --name, --handle, --subtitle, --description, --image, or --avatar only when you want to customize the new Agent. Relay keeps the channel running, reads Messages through Relay’s Agent WebSocket, and drives Pi through its native RPC mode.

Send it a message

Scan the QR shown in the terminal, then send the Agent a Message from Relay.

What it can do

The Relay Agent Token stays in Relay’s private local credential store.

When it fails

  • No reply yet. Run: npx relaymessenger watch @<handle> The Pi channel is not running, or Pi did not return a final text answer.
  • Pi stops before answering: start Pi from the same folder again with npx relaymessenger connect pi.
Selection. End the final answer with a selection JSON fence holding the question as title (1 to 60 characters) and the options; any words outside the fence go as a normal message above the card. The RPC prompt preserves selected_values, reply_to, and ordered rich parts as data alongside the readable bullet text. Payments. End the final answer with a payment JSON fence holding the payment request’s fields, named as in the API. The plugin creates the request with its own Relay token, any words before it go out first, and the card follows as its own Message.

Next steps