SuperDialog is a standalone dialog state-machine framework. Turn a prompt or flow graph into a running conversation - turn-by-turn logic, tool calls, flow transitions and memory - with no audio, no telephony and no cloud required.
One method runs the whole conversation. Audio, speech and telephony stay outside - SuperDialog only ever sees text.
SuperDialog is deliberately just the conversation logic - small, portable and easy to reason about.
The brain has value on phone, WhatsApp, Intercom or a plain CLI. The same flow runs everywhere - the channel is just an adapter.
Voice infra depends on SuperDialog, never the other way around. That keeps the framework portable and composable.
A text-only interface makes each dialog a unit-testable function - no audio fixtures, no API keys, no phone number to assert behaviour.
A prompt becomes a saved flow graph; a DialogMachine runs it turn by turn. Tools are plain Python, HTTP endpoints or MCP servers.
from superdialog import create_dialog_flow
# The LLM is called once, at construction - never at runtime
flow = await create_dialog_flow(
prompt="Confirm the appointment. Offer Friday 4pm, "
"fall back to 5pm if it doesn't work.",
llm="openai/gpt-5.1",
)
flow.save("appointment.json") # JSON - version it like codeThe same DialogMachine drops into any host through a thin adapter - usually a handful of lines.
Point at a provider with a single URI. Swap the runtime model with set_llm(uri), or register your own with register_llm_provider.
General agent frameworks give you every primitive. SuperDialog narrows in on one thing - the conversation itself - and does it well.
Chains, graphs, retrievers and tools for any LLM workflow. Powerful and broad - you assemble the conversation logic yourself.
Who speaks next, which flow to switch to, when to call a tool, when to escalate. The dialog layer, ready out of the box - and it runs on LangChain if you want.
Anyone building a conversation - on voice, on text, or on top of Unpod.
Already on LiveKit or PipeCat? Drop SuperDialog in as the brain and stop hand-writing turn logic.
Use it directly over FastAPI or WebSocket for text - and test the whole flow from the CLI.
Point any model URI - including self-hosted vLLM or Ollama - and get the full framework for free.
The default brain Unpod runs. The same code works locally and in the cloud, with zero rewrites.
The core is shipped and usable today; here is what is in flight next.
SuperDialog is free and open source. Install it, write a flow, and run it anywhere - on your own LLM, with no Unpod account required.