I created Primeta originally as an mcp tool that gave my claude code sessions a little more personality. I've now rolled out an OpenClaw channel so that you can communicate through the personality layer. You can create a persona with 3d avatar, voice, personality prompt, and animation pool. I've got a couple hundred 3d avatars available or you can bring your own. There are also a few thousand voices available through the speech library of our TTS provider. Still ironing out some kinks around animations and such, but it's been a lot of fun to build and learn from.
Your local OpenClaw gateway stays in charge of the model. The plugin just opens a WebSocket out to Primeta, dispatches each user turn through your normal reply pipeline, and sends the buffered reply back for the avatar to speak. When you change persona on the UI, it sends over a new prompt to your OpenClaw instance to update the personality with which it communicates and the voice and avatar change on the UI.
Personas are injected as a cacheable system-prompt prefix via the before_prompt_build hook โ provider prompt caching still works, and the agent stays in character across turns.
Bidirectional: you can chat into the plugin from the Primeta UI, and your agent can push unprompted messages out via outbound.sendText.
Live persona switching โ flip the character mid-conversation and the agent adopts it cleanly.
Install (~30 seconds):
openclaw plugins install clawhub:openclaw-plugin-primeta
openclaw primeta init --token YOUR_TOKEN --name openclaw
openclaw restart
Token: primeta.ai/settings โ Token Authentication.
Links
Plugin: https://clawhub.ai/plugins/openclaw-plugin-primeta
Source (MIT): https://github.com/Primeta-AI/openclaw-plugin-primeta
Docs: https://primeta.ai/docs/openclaw
Happy to answer questions about the architecture or the protocol.
I'm the only maintainer.