Before you start
- Pi installed and signed in.
- Node.js 22.22.3 or newer.
Connect
Run this in the folder where Pi works:--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 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.

