Files
2025-11-30 08:37:01 +08:00

115 lines
3.5 KiB
Markdown

---
description: Direct mood-based movements via daemon API (no conversation app required)
---
# Reachy Mini Mood Plugin (Direct Mode)
**Lightweight mood system that calls daemon API directly without requiring the conversation app.**
## Difference from `/reachy-mini:mood`
**`/reachy-mini:mood`** - Full integration with conversation app (requires run_reachy_pi.py)
**`/reachy-mini:mood-direct`** - Direct daemon API calls (only requires daemon running)
## When to Use This
Use **mood-direct** when:
- Testing mood behaviors without full conversation app
- Daemon is running but conversation app is not
- You want simpler, more predictable mood triggering
- Debugging mood system behavior
Use **mood** (regular) when:
- Full conversation app is running
- You want synchronized breathing/face tracking integration
- Running the complete Reachy Mini conversation system
## How It Works
This command uses the plugin's `mood_extractor.py` hook which:
1. Extracts `<!-- MOOD: mood_name -->` marker from your response
2. Polls TTS server status endpoint at `http://localhost:5001/status`
3. Continuously plays random emotions from that mood category
4. Stops when TTS finishes (`is_playing: false`)
5. Falls back to "thoughtful" mood if invalid mood specified
**Marker Format:**
```html
<!-- MOOD: mood_name -->
```
## Available Moods (9 Categories)
### celebratory
**Emotions:** success1, success2, proud1-3, cheerful1, electric1, enthusiastic1-2, grateful1, yes1, laughing1-2
### thoughtful
**Emotions:** thoughtful1-2, curious1, attentive1-2, inquiring1-3, understanding1-2
### welcoming
**Emotions:** welcoming1-2, helpful1-2, loving1, come1, grateful1, cheerful1, calming1
### confused
**Emotions:** confused1, uncertain1, lost1, inquiring1-2, incomprehensible2, uncomfortable1, oops1-2
### frustrated
**Emotions:** frustrated1, irritated1-2, impatient1-2, exhausted1, tired1, displeased1-2
### surprised
**Emotions:** surprised1-2, amazed1, oops1-2, incomprehensible2, electric1
### calm
**Emotions:** calming1, serenity1, relief1-2, shy1, understanding1-2, sleep1
### energetic
**Emotions:** electric1, enthusiastic1-2, dance1-3, laughing1-2, yes1, come1
### playful
**Emotions:** laughing1-2, dance1-3, cheerful1, enthusiastic1, oops1-2
## Usage Example
```markdown
<!-- TTS: "Fixed the bug! The validation middleware now handles edge cases properly." -->
<!-- MOOD: celebratory -->
Fixed! The validation middleware now checks all edge cases. Tests passing, ready for review.
```
## Technical Details
**Requirements:**
- Reachy Mini daemon running (`http://localhost:8100`)
- TTS server running (`http://localhost:5001`)
**Behavior:**
- Move timing: 1-2 second intervals between moves
- Safety timeout: 60 seconds maximum
- Fallback mood: "thoughtful" (if invalid mood specified)
- Dataset: `pollen-robotics/reachy-mini-emotions-library`
**No Integration With:**
- Conversation app breathing system
- Face tracking synchronization
- External control state management
## Quick Decision Guide
| **Situation** | **Mood** |
|--------------|----------|
| Task completed successfully | celebratory |
| Analyzing code/problem | thoughtful |
| Greeting/helping user | welcoming |
| Need clarification | confused |
| Persistent bug/difficulty | frustrated |
| Found unexpected issue | surprised |
| Explaining complex topic | calm |
| High-energy response | energetic |
| Jokes/casual/lighthearted | playful |
---
*This is the simplified direct-API version. For full integration with breathing and face tracking, use `/reachy-mini:mood` instead.*