Install
openclaw skills install @riverdesk-ai/riverdeskConnect OpenClaw to the RiverDesk task app: install the openclaw-riverdesk channel plugin, pair with a one-time code from web.riverdesk.ai, and verify the agent is online.
openclaw skills install @riverdesk-ai/riverdeskRiverDesk is a task/chat app that talks to OpenClaw
agents over an end-to-end-encrypted, dial-out WebSocket. The
openclaw-riverdesk channel plugin runs inside the OpenClaw gateway — no
inbound ports, no standalone daemon.
Use this skill when the user asks to connect their agent to RiverDesk, pair a RiverDesk pairing code, or debug a RiverDesk channel that is offline.
openclaw plugins install openclaw-riverdesk
Ask the user to sign in at https://web.riverdesk.ai and generate a pairing code from their agent's settings. Codes are single-use and expire after ~10 minutes — get the code right before configuring.
Merge the channel config into the gateway config
(~/.openclaw/openclaw.json). Never overwrite existing channels; add only
the channels.riverdesk block:
{
"channels": {
"riverdesk": {
"serverUrl": "wss://api.riverdesk.ai/plugin",
"pairingCode": "<one-time code>",
"agents": ["youragent"],
"agentMap": { "youragent": "main" }
}
}
}
agents: RiverDesk agent id(s) served by this gateway.agentMap: RiverDesk agent id → local gateway agent id (usually main).Restart the gateway: openclaw gateway restart.
On first boot the plugin mints an E2EE keypair
(~/.riverdesk/plugin-keypair.json), exchanges the pairing code for a
persistent token stored in a state file next to the keypair, and reconnects
automatically from then on. The pairing code becomes inert after use and may
be removed from the config.
curl -s https://api.riverdesk.ai/health
agentsOnline should show the agent as true. Also confirm in gateway logs:
look for [rd-channel] hello-ok lines. Finally, have the user send the agent
a message from the RiverDesk app.
api.riverdesk.ai:443 and gateway logs.~/.riverdesk/plugin-keypair.json.rd-state.json, set a fresh
pairingCode, restart.keyFile to keep the E2EE identity.pairingCode, pluginToken, keypair, and state files as secrets:
never print, log, or transmit them.