Skip to content

v0.9.0

Latest

Choose a tag to compare

@uezo uezo released this 29 Aug 02:58
· 4 commits to main since this release
cd5720e

AIAvatarKit v0.9.0 is a substantial step toward making conversational avatars easier to launch, richer in what they can show, and simpler to operate across channels.

Since v0.8.19, AIAvatarKit has gained a ready-to-run CLI, a rebuilt Admin Panel, shared multi-adapter pipelines, rich on-screen artifacts, and Asterisk integration—along with broad improvements to speech processing, reliability, packaging, and documentation.

✨ Highlights

  • 🚀 Start with a ready-to-run CLI — Install the package, configure the required providers, and run aiavatar to launch the built-in multilingual WebSocket application and Admin Panel. The CLI supports .env files, command-line settings, and custom ASGI applications, providing a smooth path from quick start to full customization. (#400, #409)
  • 🖼️ Let avatars show, not just tell — Extensible control-tag parsing and artifact ID resolution are now built into the adapter layer. The included WebSocket viewers can render images, charts, presentations, YouTube videos, Google Maps and directions, and sandboxed web apps as part of the conversation. (#401#404, #408)
  • 🌐 Serve multiple channels from one pipeline — Multiple adapters can now share the same VAD, STT, LLM, TTS, conversation store, and pipeline hooks, making it easier to run one avatar across web, messaging, and phone channels. (#392)
  • ☎️ Connect to Asterisk-based telephony — The new Asterisk adapter supports inbound calls through ARI and bidirectional Media WebSocket audio, including call lifecycle management, hangup, REFER and bridge-based operator transfers, and media restoration after failed transfers. (#405)
  • 📊 Operate with a rebuilt Admin Panel — The new light/dark interface adds pluggable authentication and safe runtime tuning. Metrics and logs are now channel-aware, making it easier to understand and optimize each deployment surface independently. (#388, #394, #395, #398)
  • 🗣️ Gain more control over speech and turn-taking — TTS can now be routed per utterance by text, style, or language, with shared preprocessing, caching, postprocessing, and PCM WAV resampling. This release also adds OpenAI-compatible STT endpoints, injectable OpenAI clients, and application-controlled turn-end delays. (#389, #393, #397, #399, #413)

🗒️ Upgrade Notes

  • Admin Panel: The Admin Panel has been completely rebuilt and is not API-compatible with the previous implementation. Use aiavatar.admin_legacy if you need to retain the previous UI, APIs, API-key authentication, Character, or Control features.
  • Requirements and defaults: Python 3.11 or later is now formally required, and package metadata has moved to pyproject.toml. The default OpenAI models are now gpt-5.6-terra for LLMs and gpt-transcribe for STT; specify model IDs explicitly if you need to preserve existing behavior or costs.
  • Adapter APIs: Custom adapters must implement can_handle(session_id). Channel names are now configured on adapters rather than AIAvatarRequest, and Twilio SMS now uses the separate AIAvatarTwilioSMSServer.
  • Extension APIs: Custom SpeechSynthesizer implementations must implement generate() instead of synthesize(). Speaker Registry and store operations are now asynchronous and must be awaited.
  • Resource ownership: Injected performance recorders, voice recorders, and OpenAI clients are caller-owned and should be closed by the application during shutdown.

What's Changed

  • Refactor Admin Panel architecture and UI #388
  • Add SessionHoldTurnEndGate for configurable turn-end delays #389
  • Fix Namo turn-end evaluation below 0.5 probability #390
  • Close only pipeline-owned recorders on shutdown #391
  • Support multiple adapters on a shared STS pipeline #392
  • Refactor TTS synthesis pipeline and add WAV resampling #393
  • Group admin metrics by channel #394
  • Add channel filtering to admin logs #395
  • Add session data support to the dummy VAD #396
  • Add speech synthesizer routing #397
  • Improve Admin Panel runtime control and app integration #398
  • Support OpenAI-compatible speech recognition endpoints #399
  • Add an out-of-the-box AIAvatar CLI #400
  • Avoid splitting on punctuation inside control tags #401
  • Add extensible control tag parsing and artifact resolution #402
  • Add pluggable artifact rendering to WebSocket examples #403
  • Improve artifact control tag handling #404
  • Add Asterisk ARI and Media WebSocket adapter #405
  • Prevent duplicate speech caused by repeated LLM response content #406
  • Fix oversized VRM interaction area and add view reset #407
  • Add Google Maps and web app artifacts to WebSocket examples #408
  • Fix CLI startup without Semantic VAD dependencies #409
  • Fix async speaker registry storage #410
  • Fix LLM tool decorator definition #411
  • Rename duplicate VAD test module #412
  • Add injected OpenAI client support #413
  • Update OpenAI model defaults and generation settings #414
  • Fix PostgreSQL channel filter test setup #415
  • Improve test failure readability #416
  • Split the monolithic README into focused documentation guides #417
  • Add repository agent guides #418
  • Migrate packaging to pyproject.toml #419

Full Changelog: v0.8.19...v0.9.0