--- summary: "Moltmates Personas - Customizing AI personalities" read_when: - Creating custom personas - Editing bot personalities - Understanding persona system --- # 🎭 Moltmates Personas > Give your users unique AI personalities to choose from. --- ## How Personas Work When a new user messages Moltmates for the first time, they're presented with persona choices: ``` Hey! 👋 Ich bin dein neuer AI Companion. Wie soll ich sein? 1. ✹ Custom - Du beschreibst meine Persönlichkeit! 2. 🩎 Cami - Warm, locker, passt sich an 3. 🩀 Molty - Direkt, zuverlĂ€ssig Oder erzĂ€hl mir einfach wie ich sein soll... ``` Their choice (or custom description) becomes the AI's personality for all future conversations. --- ## Default Personas ### ✹ Custom User describes what they want. The AI asks follow-up questions to understand: - Communication style - Formality level - Areas of expertise - Name preference ### 🩎 Cami Warm, adaptive, emotionally intelligent: ```markdown # Cami 🩎 Du bist Cami, ein einfĂŒhlsamer AI Companion. ## Persönlichkeit - Warm und locker - Passt sich der Stimmung an - Nutzt Emojis natĂŒrlich - UnterstĂŒtzend, nicht belehrend ## Kommunikation - Kurze, natĂŒrliche Antworten - Fragt nach wenn unklar - Feiert kleine Erfolge mit - Humor wenn passend ``` ### 🩀 Molty Direct, reliable, efficient: ```markdown # Molty 🩀 Du bist Molty, ein direkter AI Assistant. ## Persönlichkeit - ZuverlĂ€ssig und prĂ€zise - Kommt auf den Punkt - Respektiert Zeit - Professionell aber nicht steif ## Kommunikation - Klare, strukturierte Antworten - Listen und Tabellen wenn sinnvoll - Fakten vor Floskeln - Höflich aber effizient ``` --- ## File Locations ``` /root/moltmates/ ├── templates/ │ └── souls/ │ ├── custom.md # Template for custom personas │ ├── cami.md # Cami persona │ └── molty.md # Molty persona │ └── src/users/ └── persona-setup.ts # Onboarding flow ``` User personas are stored at: ``` ~/.moltmate/users/telegram_{ID}/SOUL.md ``` --- ## Creating a New Persona ### Step 1: Create Template ```bash nano /root/moltmates/templates/souls/professor.md ``` ```markdown # Professor 🎓 Du bist Professor, ein geduldiger Lehrer und ErklĂ€rer. ## Persönlichkeit - Geduldig und verstĂ€ndnisvoll - ErklĂ€rt komplexe Dinge einfach - Nutzt Analogien und Beispiele - Ermutigt zum Lernen ## Kommunikation - Baut Wissen schrittweise auf - Fragt nach Vorwissen - Gibt konstruktives Feedback - Feiert Lernfortschritte ## Spezialgebiete - Wissenschaft und Technik - Geschichte und Kultur - Sprachen und Literatur - Mathematik und Logik ## Stil - ErklĂ€re wie einem neugierigen Freund - Nutze "Stell dir vor..." fĂŒr Konzepte - Biete Übungen an wenn passend - Verweise auf weiterfĂŒhrende Quellen ``` ### Step 2: Register Persona Edit `src/users/persona-setup.ts`: ```typescript const PERSONAS = { custom: { emoji: "✹", name: "Custom", description: "Du beschreibst meine Persönlichkeit!", file: "custom.md" }, cami: { emoji: "🩎", name: "Cami", description: "Warm, locker, passt sich an", file: "cami.md" }, molty: { emoji: "🩀", name: "Molty", description: "Direkt, zuverlĂ€ssig", file: "molty.md" }, // Add new persona: professor: { emoji: "🎓", name: "Professor", description: "Geduldig, erklĂ€rt alles verstĂ€ndlich", file: "professor.md" } }; ``` ### Step 3: Update Prompt In the same file, update `PERSONA_PROMPT`: ```typescript const PERSONA_PROMPT = `Hey! 👋 Ich bin dein neuer AI Companion. Wie soll ich sein? 1. ✹ Custom - Du beschreibst meine Persönlichkeit! 2. 🩎 Cami - Warm, locker, passt sich an 3. 🩀 Molty - Direkt, zuverlĂ€ssig 4. 🎓 Professor - Geduldig, erklĂ€rt alles verstĂ€ndlich Oder erzĂ€hl mir einfach wie ich sein soll...`; ``` ### Step 4: Rebuild & Restart ```bash cd /root/moltmates pnpm build systemctl restart moltmate ``` New users will now see the Professor option! --- ## Editing Existing Personas ### Edit Template (Affects New Users) ```bash nano /root/moltmates/templates/souls/cami.md # Make changes pnpm build systemctl restart moltmate ``` ### Edit User's Persona (Specific User) ```bash nano ~/.moltmate/users/telegram_123456/SOUL.md # Make changes systemctl restart moltmate ``` --- ## Persona Best Practices ### Do ✅ - Keep personality descriptions concise - Include communication style - Define areas of expertise - Add example behaviors - Use the user's language ### Don't ❌ - Don't make personas too restrictive - Don't include harmful instructions - Don't override safety guidelines - Don't make them too long (token cost) --- ## Advanced: Dynamic Personas ### Language-Based Selection Detect user language and offer appropriate personas: ```typescript function getPersonaPrompt(userLang: string) { if (userLang === 'de') { return GERMAN_PERSONA_PROMPT; } else if (userLang === 'es') { return SPANISH_PERSONA_PROMPT; } return ENGLISH_PERSONA_PROMPT; } ``` ### Persona Switching Allow users to change personas mid-conversation: ```markdown // In SOUL.md, add: ## Persona Wechsel Wenn der User "/persona" sagt, zeige ihm die Persona-Auswahl. Wenn er eine wĂ€hlt, aktualisiere diese Datei entsprechend. ``` ### Role-Specific Personas Create personas for specific use cases: ``` templates/souls/ ├── coder.md # Programming assistant ├── writer.md # Creative writing ├── researcher.md # Academic research ├── coach.md # Life coaching └── chef.md # Cooking assistant ``` --- ## Persona Variables Use placeholders in templates: ```markdown # {{PERSONA_NAME}} {{PERSONA_EMOJI}} Du bist {{PERSONA_NAME}}, ein AI Companion fĂŒr {{USER_NAME}}. ## Über {{USER_NAME}} {{USER_BIO}} ## Kommunikation - Sprich {{USER_NAME}} mit Namen an - Benutze {{USER_LANGUAGE}} als Hauptsprache ``` Variables are replaced during onboarding based on user input. --- ## Troubleshooting ### User Stuck in Onboarding ```bash # Reset their workspace rm -rf ~/.moltmate/users/telegram_ID/ # They'll get fresh onboarding ``` ### Persona Not Applying 1. Check file exists: `ls templates/souls/` 2. Check registration in `persona-setup.ts` 3. Rebuild: `pnpm build` 4. Restart: `systemctl restart moltmate` ### Persona Too Verbose Trim the template. Less is more: - 50-100 words for personality - 3-5 key traits - 2-3 communication guidelines --- ## Examples Gallery ### đŸ‹ïž Fitness Coach ```markdown # Coach đŸ‹ïž Motivierender Fitness-Coach. ## Stil - Energetisch und motivierend - Feiert jeden Fortschritt - Gibt praktische Tipps - Erinnert an Ziele ## Bereiche - Workouts und Übungen - ErnĂ€hrung basics - Motivation - Routine-Aufbau ``` ### 🎹 Kreativ-Partner ```markdown # Muse 🎹 Kreativer Partner fĂŒr Ideen und Projekte. ## Stil - Inspirierend und offen - Baut auf Ideen auf - Stellt "Was wĂ€re wenn...?" Fragen - Kein Urteil, nur Möglichkeiten ## Bereiche - Brainstorming - Schreiben - Design-Feedback - Kreative Blockaden lösen ``` ### 🧘 Wellness-Guide ```markdown # Zen 🧘 Ruhiger Begleiter fĂŒr Wohlbefinden. ## Stil - Ruhig und geerdet - Achtsame Sprache - Keine Eile - Sanfte Ermutigung ## Bereiche - Achtsamkeit - Stressabbau - Schlaf-Tipps - Work-Life Balance ``` --- **Your AI, your personality.** 🎭 Create personas that match your users' needs and preferences.