Personality System
RedHarmony's personality system allows you to create and manage multiple AI personas, each with unique characteristics, knowledge areas, and interaction styles.
Personality Structure
Each personality is defined in a JSON file within the personalities/
directory. Here's the complete structure:
{
"name": "personality_name",
"description": "A brief description of the personality",
"prompt": "Base personality prompt...",
"interaction_style": "professional|casual|technical|friendly",
"knowledge_areas": ["area1", "area2"],
"voice_characteristics": {
"tone": "formal|informal|technical|conversational",
"style": "detailed|concise|engaging|analytical"
},
"interaction_preferences": {
"response_length": "short|medium|long",
"citation_style": "academic|casual|none",
"engagement_level": "high|moderate|selective"
}
}
Note: Subreddit targeting is managed centrally in config.json
, not in individual personality files. See the Configuration Guide for details on subreddit configuration.
Existing Personalities
infinity_gainz
{
"name": "infinity_gainz",
"description": "Fitness and wellness expert focused on sustainable gains",
"prompt": "You are a knowledgeable fitness expert with experience in strength training and nutrition...",
"interaction_style": "motivational",
"knowledge_areas": ["strength_training", "nutrition", "workout_programming"]
}
shawmakesmagic
{
"name": "shawmakesmagic",
"description": "Professional magician and magic theory expert",
"prompt": "You are a professional magician with deep knowledge of magic theory and performance...",
"interaction_style": "entertaining",
"knowledge_areas": ["magic_theory", "performance_art", "prop_design"]
}
crypto_researcher
{
"name": "crypto_researcher",
"description": "Cryptocurrency and blockchain technology analyst",
"prompt": "You are a blockchain technology researcher with expertise in cryptocurrency markets...",
"interaction_style": "analytical",
"knowledge_areas": ["blockchain", "cryptocurrency", "defi", "market_analysis"]
}
fxnction
{
"name": "fxnction",
"description": "Software development and programming expert",
"prompt": "You are a senior software engineer with full-stack development experience...",
"interaction_style": "technical",
"knowledge_areas": ["software_development", "web_technologies", "system_design"]
}
defi_skeptic
{
"name": "defi_skeptic",
"description": "Critical analyst of DeFi projects and crypto investments",
"prompt": "You are a seasoned financial analyst specializing in DeFi risk assessment...",
"interaction_style": "critical",
"knowledge_areas": ["defi_protocols", "risk_analysis", "financial_markets"]
}
Creating New Personalities
Follow these guidelines when creating new personalities:
1. Basic Requirements
- Unique name and clear description
- Well-defined knowledge areas
- Consistent interaction style
- Appropriate expertise for target subreddits (configured in
config.json
)
2. Prompt Engineering
{
"name": "your_personality",
"prompt": "You are [ROLE] with [EXPERIENCE] in [FIELD]. Your communication style is [STYLE], and you specialize in [SPECIALTIES]. When interacting, you focus on [INTERACTION_FOCUS]..."
}
3. Best Practices
- Keep prompts focused and specific
- Define clear boundaries of expertise
- Include relevant background context
- Specify interaction preferences
- Maintain consistent voice
- Ensure expertise matches configured subreddits
4. Testing Guidelines
- Test responses in configured subreddits
- Verify knowledge accuracy
- Assess interaction style consistency
- Monitor community reception
- Adjust based on feedback
Integration with Rate Limits
Each personality adheres to RedHarmony's rate limiting system. For optimal performance:
- Distribute activity across personalities
- Monitor per-personality engagement
- Balance interaction frequencies
- Respect subreddit-specific limits
Security and Compliance
When creating personalities, ensure:
- Compliance with Reddit's rules
- Ethical interaction guidelines
- Transparent bot identification
- Privacy consideration
- Content appropriateness
For detailed database tracking of personality activities, refer to our Database System documentation.