- Area
- Voice
- Language
- Python
- License
- MIT
- Latest
- v0.4.1
- Plate
- No. 01 of 14
Tring is an open-source voice agent stack built from lessons learned across more than a million production telephony calls. One YAML agent contract runs on cascade, speech-to-speech or hybrid runtimes with the same tools, analytics and cost attribution, so changing architecture is a config change. The default pipeline runs entirely on local open models, and four latency primitives make dead air during tool calls structurally impossible.
How it works
- 01
An AgentSpec in YAML declares the persona, tools, language policy and runtime routing, and a RuntimeAdapter runs it on the chosen architecture.
- 02
The model answers in a speak-then-tool-call envelope, and a character-level parser streams the speech to TTS while the tool call is still being generated.
- 03
Every runtime emits the same SessionEvent stream, so cost metering, analytics and transports subscribe to it without knowing which runtime is underneath.
What it does
- One agent contract runs on cascade (STT, LLM, TTS), speech-to-speech or hybrid runtimes
- Tool calls must declare what the caller hears while they run, so there is no dead air
- Playback ledger tracks heard versus unheard text, so the model never cites words a caller interrupted
- Per-language routing of STT, TTS and LLM for callers who code-switch
- Cost meter with exact versus estimated flags and a cost-per-outcome report; Studio for building, testing and replaying calls in the browser
More from the bench
All projectsQuicky Wiki
Turn a pile of documents into a knowledge base that scores how sure it is
faultline
A live architecture map that stops agents crossing the boundaries you drew
voila
Paste a URL, get a narrated, zoom-animated demo video made entirely on your machine