You might want to take a look at SillyTavern. Supports multiple backends, accepts voice input, and has a plugin system.
As in "you meet a person at a tavern" and then you start chatting.
People provide different personalities to the project, sometimes with avatars and I think some can even change avatars based on their "mood".