Skip to main content

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

  1. Test responses in configured subreddits
  2. Verify knowledge accuracy
  3. Assess interaction style consistency
  4. Monitor community reception
  5. 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:

  1. Compliance with Reddit's rules
  2. Ethical interaction guidelines
  3. Transparent bot identification
  4. Privacy consideration
  5. Content appropriateness

For detailed database tracking of personality activities, refer to our Database System documentation.