- Landing page with overview and comparison - Extensive FAQ (60+ questions) - Step-by-step setup guide - Security documentation - Personas customization guide
409 lines
7.3 KiB
Markdown
409 lines
7.3 KiB
Markdown
---
|
|
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.
|