Give your AI agent a voice
Drop-in voice interaction for any AI agent. One npm install. Zero config. Works everywhere.
Minimal integration
Before — text only
// Your text-based agent
const agent = new MyAgent()
// User types a message
input.addEventListener('submit', (e) => {
const text = input.value
const response = agent.send(text)
display.textContent = response
})After — with voice
import { Ringing } from 'ringing-ai'
const ring = new Ringing({
onSend: (transcript) => {
myAgent.send(transcript)
},
onReceive: (callback) => {
myAgent.on('message', (text) => callback(text))
},
})
ring.start() // That's it.Why Ringing.ai
Zero Dependencies
Uses native Web Speech APIs. No API keys, no cloud services, no costs. Everything runs in the browser.
Agent Agnostic
Works with OpenAI, LangChain, custom agents — anything. If it takes text in and returns text out, Ringing works.
Accessible
Built for everyone. Voice-first for users who need it. Screen reader friendly with proper ARIA attributes.
Plug & Play Widget
Optional floating mic button with animated visualizer. Inject into any page with one line. Dark and light themes.
Live Demo
Mock Agent
idle
Click the mic to start talking
Three steps. That's it.
1
Install
npm install ringing-ai
2
Connect
onSend: (text) => agent.send(text)
onReceive: (cb) => agent.on('msg', cb)3
Start
ring.start()
1
Install
npm install ringing-ai
2
Connect
onSend: (text) => agent.send(text)
onReceive: (cb) => agent.on('msg', cb)3
Start
ring.start()