dialog-rsn-1
Installation
SKILL.md
Building with Dialog-RSN-1
Dialog-RSN-1 is a realtime voice model. One WebSocket is one conversation. You stream the caller's audio in, the server decides when they've finished speaking, and the reply comes back as speech (the server voice) or as text for your own TTS.
The wire format is the OpenAI Realtime API (GA schema). You probably know that protocol well. Don't assume all of it carries over. The rules below are where Dialog-RSN-1 differs, and they are the mistakes agents make. Follow them over anything you remember about OpenAI Realtime.
Before you write code
- Check for a key. The code reads
POLY_API_KEYfrom the environment or a.envfile, with the environment winning, and readsDIALOG_REALTIME_URLthe same way so the key and host always come from one place. Never ask the user to paste the key into the chat, and never print it. If they don't have one, send them to the agentic setup prompt at https://docs.poly.ai/adk/get-started/agentic-setup.md (it runspoly apikey --region studio), or to studio.poly.ai, API Keys tab. - Prove the key and host work before building anything:
It runs a spoken turn and a tool turn, and exits non-zero with the reason if anything fails. Withoutuv run <this skill's directory>/scripts/check.pyuv:pip install 'websockets>=14'and run it withpython3. If it fails on a 401, read the Troubleshooting table below before you change any code.