Skip to content

Dominant-dev/dzvinar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dzvinar

Dzvinar (Ukrainian дзвінар — “the bell-ringer / caller”) — an AI voice-call agent. Goal-driven dialogue, objection handling, a structured outcome at the end. Telephony is pluggable — it runs in a CLI simulator out of the box.

Most “AI caller” demos hard-wire one provider and can’t be tested without a paid account. Dzvinar separates the conversation engine from the channel: the engine only knows say() / listen() / hangup(). The shipped channel is a terminal simulator, so you can design and tune a call script with zero infrastructure, then drop in Twilio/SIP + TTS/STT by implementing one interface.

How it works

  1. A scenario (JSON) defines persona, goal and opener.
  2. The engine drives the dialogue turn-by-turn, stays on goal, handles pushback.
  3. When the goal is reached (or clearly impossible) it emits a structured result:
{ "end": true, "outcome": "success", "summary": "...", "data": {} }

Run (simulator)

npm install
export ANTHROPIC_API_KEY=sk-ant-...
npm start                      # uses scenarios/demo.json
# or: node index.js scenarios/your-scenario.json

You type the caller’s replies; the agent speaks back; the call ends with a machine-readable result you can log or push to a CRM.

Going live

Implement the say/listen/hangup interface in src/telephony.js with your provider (e.g. Twilio <Say> + speech webhook, or any TTS/STT pair). The engine code does not change.

Stack

Node.js · @anthropic-ai/sdk · pluggable telephony interface · prompt caching.

License

MIT © Oleksandr Bilov (@Dominant-dev)

About

Dzvinar - AI voice-call agent. Goal-driven dialogue, pluggable telephony, CLI simulator out of the box.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors