File size: 1,337 Bytes
c373ca4
 
9f60036
 
 
c373ca4
 
9f60036
 
 
 
c373ca4
9f60036
c373ca4
9f60036
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
---
title: Notification Buddy
emoji: πŸ””
colorFrom: purple
colorTo: blue
sdk: static
pinned: false
short_description: "Desktop notifications trigger robot reactions"
tags:
  - reachy_mini
  - reachy_mini_python_app
---
# Notification Buddy πŸ””πŸ€–

WebSocket server that receives notification events and makes the Reachy Mini robot react differently based on notification type.

## Notification Types & Reactions

| Type | Reaction |
|------|----------|
| πŸ“§ email | Sideways glance |
| πŸ“… calendar | Alert head-up + antenna perk |
| ⚠️ system | Quick startle |
| πŸ’¬ message | Friendly perk + nod |
| πŸ”” mention | Curious tilt |
| ⏰ reminder | Double-take alert |

## Usage

The app starts a WebSocket server on `ws://0.0.0.0:8765`.

Send JSON messages:
```json
{"type": "email", "priority": "normal"}
{"type": "calendar", "priority": "high"}
{"type": "system", "priority": "urgent"}
```

Priority scales the reaction intensity: `low` (0.5x), `normal` (1x), `high` (1.5x), `urgent` (2x).

## Features

- Per-type cooldowns prevent reaction spam
- Priority-based intensity scaling
- Smooth keyframe interpolation
- Idle breathing when no notifications
- Queue system for multiple rapid notifications

## Requirements

- `websockets`, `numpy`

## Install & Run

```bash
pip install .
reachy-mini run notification_buddy
```