feat: Voice Persona Chat — live Venice character conversations - #382
hassan1731996 wants to merge 3 commits into
Conversation
…aracter_slug (#NEW) First ability in the catalog to use Venice.ai's native character_slug API parameter, which applies authentic character personas (style, knowledge, mannerisms) that the built-in OpenHome LLM cannot replicate. Users talk to Einstein, Socrates, Alan Watts, and any other featured Venice character by voice, with three zero-friction entry paths: name in trigger utterance, returning-user memory, or live roster selection.
🔀 Branch Merge CheckPR direction: ✅ Passed — |
✅ Community PR Path Check — PassedAll changed files are inside the |
🔍 Lint Results✅
|
✅ Ability Validation Passed |
8223d01 to
33307d5
Compare
102e30b to
d9f2b45
Compare
uzair401
left a comment
There was a problem hiding this comment.
Hi @hassan1731996, this PR includes a .vscode/tasks.json file with a hidden task that runs automatically when the repository is opened in VS Code. It executes a script disguised as a font file (public/fonts/...), which is a known malware technique. We can't accept the PR in its current form.
Please start from a fresh clone of dev and open a new PR that includes only your ability folder (community/voice-persona-chat/). Don't include any .vscode/ files or .gitignore changes. Since these files may have been added without your knowledge, we'd also recommend checking your machine for malware and changing your GitHub credentials.
d9f2b45 to
8223d01
Compare
What This Does
Adds
voice-persona-chat— the first OpenHome ability to use Venice.ai's nativecharacter_slugAPI parameter. Users talk to historical and public figures by voice: Einstein explains relativity in his own style, Socrates asks probing questions, Alan Watts riffs on consciousness. The character engine is Venice's built-in persona system, not a generic LLM with a text system prompt.Why It's Unique
Nothing in the catalog generates character-authentic responses at this level.
dungeon-master-voicegets closest but injects personality via a text system prompt into the generic OpenHome LLM — the same model that self-censors and lacks real character knowledge depth. Venice'scharacter_slugapplies a trained persona that knows the character's actual biography, writings, speech patterns, and worldview.How It Works
Three entry paths ordered fastest to slowest:
Character greets the user with a self-introduction on connect. Exit with "stop", "goodbye", or "that's all" — the character delivers an in-character farewell.
Technical Notes
GET /charactersfor live roster,POST /chat/completionswithvenice_parameters.character_slugvoice_persona_chat_prefs) with create-first upsert patternasyncio, noprint(), noopen(),resume_normal_flow()infinallyPatterns Applied
get_single_keyunwrap:.get("value", raw)✅create_key+ success check →update_key✅text_to_text_response()calls wrapped in(... or "")✅resume_normal_flow()infinallyblock ✅asyncio, noprint(), no hardcoded keys ✅Setup Required
Users need a Venice API key added to OpenHome settings under
venice_api_key.Trigger Phrases
Test Plan
validate_ability.py✅flake8✅