Releases: uezo/ChatdollKit
v0.8.2
🌐 Control WebGL Character from JavaScript
We’ve added the ability to control the ChatdollKit Unity application from JavaScript when running in WebGL builds. This allows for more seamless interactions between the Unity app and web-based systems.
- Enable WebGL interaction via external JavaScript #355
🗣️ Speech Synthesizer
A new SpeechSynthesizer
component has been introduced to streamline text-to-speech (TTS) operations. This component is reusable across projects without Model
package, simplifying maintenance and reusability.
- Add SpeechSynthesizer as new mainstream TTS component #354
- Speech synthesizer updates #358
- Improve TTS handling for empty strings and errors #353
🍩 Other Updates
- Small changes for v0.8.2 #356
- Update demo v0.8.2 #357
- Prevent user request from being overwritten by noise #359
Full Changelog: 0.8.1...0.8.2
v0.8.1
🏷️ User-Defined Tags
You can now include custom tags in AI responses, enabling dynamic actions. For instance, embed language codes in replies to switch between multiple languages on the fly during conversations.
- Add support for user-defined tags in response messages #342
- Add support for user-defined tags (Claude, Gemini and Dify) #350
🌐 External Control via Socket
Now supports external commands through Socket communication. Direct conversation flow, trigger specific phrases, or control expressions and gestures, unlocking new use cases like AI Vtubers and remote customer service.
- Add SocketServer to enable external request handling via socket communication #345
- Add DialogPriorityManager for handling prioritized dialog requests #346
- Add option to hide user message window #347
- Add ModelRequestBroker for simplified model control via tagged text #348
Check out the client-side demo here: https://gist.github.com/uezo/9e56a828bb5ea0387f90cc07f82b4c15
🍩 Other Updates
- Fix bug where expressions on error doesn't work #344
- Improve text splitting logic in SplitString method #349
- Update demo for v0.8.1 #351
Full Changelog: 0.8.0...0.8.1
v0.8.0
💎 What's New in Version 0.8 Beta
To run the demo for version 0.8.0 beta, please follow the steps below after importing the dependencies:
- Open scene
Demo/Demo08
. - Select
AIAvatarVRM
object in scene. - Set OpenAI API key to following components on inspector:
- ChatGPTService
- OpenAITTSLoader
- OpenAISpeechListener
- Run on Unity Editor.
- Say "こんにちは" or word longer than 3 characters.
- Enjoy👍
⚡ Optimized AI Dialog Processing
We've boosted response speed with parallel processing and made it easier for you to customize behavior with your own code. Enjoy faster, more flexible AI conversations!
🥰 Emotionally Rich Speech
Adjusts vocal tone dynamically to match the conversation, delivering more engaging and natural interactions.
- Improve expressiveness of text-to-speech output by @uezo in #336
- Allow adding emotion to speech synthesis by @uezo in #337
🎤 Enhanced Microphone Control
Microphone control is now more flexible than ever! Easily start/stop devices, mute/unmute, and adjust voice recognition thresholds independently.
🍩 Other Changes
Full Changelog: 0.7.7...0.8.0
v0.7.7
🥰 Support StyleBertVits2
We've added support for Text-to-Speech using the StyleBertVits2 API! 🎙️✨ Now, your AI characters can speak with even more expressive and dynamic voices, making them shine brighter than ever! 😎 Get ready to take your character's charm to the next level! 🚀💫
💕 Support Cohere Command R 💕
- Add experimental support for Command R by @uezo in #329
- Add experimental support for Command R on WebGL by @uezo in #331
🐸 Other Changes
- Fix bug in handling response when using Azure OpenAI by @uezo in #325
- Add option to completely disable WakeWordListener by @uezo in #326
- Fix bug causing ToolCalls to fail by @uezo in #328
- Provide workaround to clear state data, including LLM context by @uezo in #330
- Update WebGLMicrophone.jslib by @uezo in #332
Full Changelog: 0.7.6...v0.7.7
v0.7.6
What's Changed
🎓LLM related updates
- Add support for Dify Agents by @uezo in #315
- Add support for custom logic at the end of LLM streaming by @uezo in #316
- Internalize Dify ConversationId in state data by @uezo in #318
- Use GPT-4o mini as the default model for ChatGPT by @uezo in #321
🗣️ Dialog control
- Fix WebGL microphone input handling by @uezo in #317
- Improve WakewordListener functionality and debugging by @uezo in #320
🥰 3D model control
🐈 Others
Full Changelog: 0.7.5...0.7.6
v0.7.5
Dify Support 💙
Other changes
- Fix bug where mic volume changes are not applied immediately by @uezo in #307
- Enhance camera functionality with manual still capture and sub-camera switching by @uezo in #308
Full Changelog: 0.7.4...0.7.5
v0.7.4
👀 Enhanced Vision Capabilities
This update introduces autonomous vision input for Gemini and Claude, and adds vision input support for WebGL. Now, various AIs can offer richer conversational experiences with integrated vision input across different platforms.
- Support autonomous vision input for Gemini✨ #302
- Refactor Vision input and various related improvements #303
- Support autonomous vision input for Claude✹ #304
- Add vision input support for WebGL #305
Full Changelog: 0.7.3...0.7.4
v0.7.3
👀 Support dynamic vision input for ChatGPT
By adding a SimpleCamera to the scene and including [vision:camera] in the response message, the system will autonomously capture images when visual input is required for a response.
- Add autonomous image input handling for ChatGPT #298
📦 Easy setup by modularized UI components
Microphone volume sliders and request input forms have been modularized. These can now be used immediately by simply adding the prefabs to the scene without any additional setup.
- Modularize UI components for easy scene addition in #300
🎙️ dB-based microphone volume
✨ Other changes
- Switch from function call to tool call for ChatGPT Function Calling #297
- Remove deprecated ChatGPT-related modules in #301
Full Changelog: v0.7.2...0.7.3
v0.7.2
🖼️ Support vision
Set image to request message as payload for multimodal conversation.
- Support message with image in GPT-4V and Claude3 #286
🚀 Configuration-free demo
Just start without any configurations. Set API key (and others if you want) at runtime.
- Add configuration-free demo #288
Full Changelog: v0.7.1...v0.7.2
v0.7.1
🥰😇 Change avatar on runtime
Support changing avatar on runtime. Use ModelController.SetAvatar
to change the avatar to another on runtime.
If you want to try it on editor, set another avatar on the scene to the inspector of ModelController
and push Change Avatar
button(appears runtime only).
- Add support for changing avatar on runtime #280
🎙️ Better microphone management
Mute microphone when not listening for WakeWord or VoiceRequest.
Also added IsMuted
property to DialogController
so that you can control mute/unmute manually. Default is false
.
- IsMuted == false: Microphone will be on when WakeWordListener or VoiceRequestProvider is listening.
- IsMuted == true: Microphone will be off.
You can change the value manually on inspector or in script.
- Mute microphone when not listening for WakeWord or VoiceRequest #281
- Mute microphone when avatar speaking #282
🍱 Other changes
- Set message windows automatically without configurations #278
- Prevent UnityWebRequest error when calling LLMs #279
- Update demo for v0.7.1 #283
Full Changelog: v0.7.0...v0.7.1