Personalize — make it yours
OpenWatari ships one generic persona template. Your assistant's name, what it calls you, and the languages it speaks all come from config — so the same code becomes your assistant without editing a single prompt or source file.
The five identity settings
| Setting | What it does | Example |
|---|---|---|
JARVIS_ASSISTANT_NAME | what it calls itself | Watari, Aria, Jeeves |
JARVIS_USER_NAME | your name (blank = none) | Dana |
JARVIS_USER_ADDRESS | how it addresses you | sir, ma'am, boss, or blank |
JARVIS_UNDERSTOOD_LANGUAGES | languages it can understand | English, Spanish |
JARVIS_REPLY_LANGUAGE | the one language it replies in | English |
Drop them in .env (or answer the setup wizard):
JARVIS_ASSISTANT_NAME=Aria
JARVIS_USER_NAME=Dana
JARVIS_USER_ADDRESS=ma'am
JARVIS_UNDERSTOOD_LANGUAGES=English, Spanish
JARVIS_REPLY_LANGUAGE=EnglishThat alone yields: “You are Aria, Dana's personal voice assistant. Address Dana as ma'am. They may speak English, Spanish — understand any of them, but always reply in English.” Leave a field blank and the prose adapts gracefully (no name → “your personal assistant”; no honorific → “address them naturally”).
How it works
The persona file (personality/jarvis.md, or whatever JARVIS_PERSONA_FILE points at) is a template with {assistant_name}, {owner_possessive}, {address_line} and {language_line} tokens. build_system_prompt() fills them from config at every turn — verified in bench/test_identity.py (which also asserts no unfilled token ever leaks into the prompt). A generic starting point lives at personality/persona.example.md.
Going deeper: persona & profile
- Rewrite the voice. Edit the prose in your persona file (tone, manner, boundaries) — keep the
{tokens}and they'll still be filled. PointJARVIS_PERSONA_FILEat a different file to keep several personas. - Give it knowledge about you (your profile). The Markdown files under
memory/(who you are, your projects, your environment) are injected as long-term context. These are yours — fill them with your life, and keep them out of any public fork (they're your private profile, not framework code). - Wake word. Independent of the name — see Configuration (
JARVIS_WAKE_WORDS). The spoken name and the wake word can differ (e.g. wake on “hey jarvis”, identify as “Aria”).