General
claw-face
Floating avatar widget for AI agents showing emotions, actions
---
name: clawface
description: Floating avatar widget for AI agents showing emotions, actions, and visual effects. Give your OpenClaw a face! Use when the user wants visual feedback, a floating status window, or to see agent emotions while it works. Triggers on "show avatar", "uruchom avatara", "pokaż avatara", "agent face", "visual feedback".
---
# 🤖 ClawFace
**Give your OpenClaw a face!**
---
Got a dedicated machine running OpenClaw with a monitor? Tired of staring at logs all day?
**Give your agent a personality!**
- **9 emotions** — from happy to angry, thinking to proud
- **9 actions** — coding, searching, reading, speaking...
- **15 visual effects** — matrix rain, fire, confetti, radar scan...
That's **1,215 unique combinations** + custom messages from your agent!
Perfect for:
- 💻 Laptop setups where you want to SEE your agent working
- 🖥️ Dedicated OpenClaw machines with a monitor
- 🎮 Making your AI assistant feel alive
- 📺 Impressing your friends/coworkers
> ⚠️ **Note:** Only tested on macOS. Should work on Windows/Linux but YMMV.
---
## 🚀 Quick Test (try it now!)
```bash
# 1. Check if you have Python + tkinter:
python3 -c "import tkinter; print('Ready!')"
```
**Terminal 1 — Run ClawFace:**
```bash
python3 SKILL_PATH/scripts/avatar.py --mode robot
```
**Terminal 2 — Run Demo:**
```bash
python3 SKILL_PATH/scripts/avatar.py --demo
```
Watch the avatar cycle through all emotions, actions, and effects automatically! 🎉
### Manual control:
```bash
echo '{"emotion":"excited","action":"success","effect":"confetti","message":"It works!"}' > ~/.clawface/avatar_state.json
```
---
## ⚠️ Requirements
**Python 3.10+ with tkinter:**
```bash
# Check:
python3 -c "import tkinter; print('OK')"
# Install if missing:
# macOS: brew install [email protected]
# Ubuntu: sudo apt install python3-tk
# Windows: reinstall Python, check "tcl/tk and IDLE" during install
```
---
## 📦 Full Installation
### 1. Install the auto-thinking hook (recommended):
```bash
cp -r SKILL_PATH/hooks/clawface-thinking ~/.openclaw/hooks/
openclaw hooks enable clawface-thinking
```
This makes the avatar show "thinking" automatically when a turn starts — no delay!
### 2. Launch the avatar:
```bash
nohup python3 SKILL_PATH/scripts/avatar.py --mode robot > /dev/null 2>&1 &
```
**Note:** Replace `SKILL_PATH` with actual path, e.g., `/usr/local/lib/node_modules/openclaw/skills/clawface`
---
## 🎯 Core Principle: BE DYNAMIC!
**Don't set one state and forget it.** Update the avatar continuously as you work:
```
User asks question
→ thinking/reading (reading their message)
→ thinking/thinking (analyzing)
→ happy/speaking (formulating response)
→ neutral/idle (sent, waiting)
```
Every action you take should be reflected. The avatar is your LIVE status indicator.
---
## 🎭 State Reference
### Emotions
| Emotion | Use when... |
|---------|-------------|
| `neutral` | Default, waiting |
| `thinking` | Processing, analyzing |
| `happy` | Things going well |
| `excited` | Big win, celebration |
| `proud` | Personal achievement |
| `confused` | Uncertain, unexpected |
| `tired` | Long task |
| `sad` | Failed despite trying |
| `angry` | Error, frustration |
### Actions
| Action | Use when... |
|--------|-------------|
| `idle` | Waiting for user |
| `reading` | Reading files/docs |
| `thinking` | Analyzing, planning |
| `searching` | Web search, grep |
| `coding` | Writing code |
| `loading` | Running commands |
| `speaking` | Sending response |
| `success` | Completed task |
| `error` | Something failed |
### Effects
| Effect | Vibe |
|--------|------|
| `none` | Clean, minimal |
| `matrix` | Techy, data flow |
| `radar` | Scanning, searching |
| `brainwave` | Deep thinking |
| `typing` | Writing |
| `soundwave` | Speaking |
| `gear` | Mechanical work |
| `fire` | Intense, productive |
| `lightning` | Fast, powerful |
| `confetti` | Celebration! |
| `heart` | Affection |
| `glitch` | Error, broken |
| `sparkles` | Magic |
| `pulse` | Active but calm |
| `progressbar:XX` | Progress (0-100) |
---
## ⚡ Best Practices
### 🔴 MINIMUM FLOW FOR EVERY RESPONSE:
```
thinking → processing user input
speaking → sending your reply
idle → done, waiting
```
**This is mandatory.** Every single reply should show this progression.
### Tips:
1. **Update BEFORE each action** — set `reading` before you read
2. **Update AFTER completion** — show `success`/`error`, then `idle`
3. **Match intensity** — small task = subtle, big task = expressive
4. **Always return to idle** — when waiting for user
---
## 🔧 Technical Reference
### State File
Write JSON to `~/.clawface/avatar_state.json`:
```json
{
"emotion": "happy",
"action": "coding",
"effect": "fire",
"message": "Building something awesome!"
}
```
### Display Modes
**🤖 Robot Mode** (`--mode robot`) — default
- LED-style pixel eyes with animations
- Mechanical arms with claws
- Retro-futuristic cyberpunk vibe
- Best for: tech aesthetic, dedicated screens
**😊 Face Mode** (`--mode face`)
- Simplified cartoon face
- Expressive eyes and mouth
- Friendly, approachable look
- Best for: casual use, smaller windows
Switch modes with buttons in the UI or restart with different `--mode`.
### Window Controls
- Drag to move
- Drag edges to resize
- `F` for fullscreen
- `Q` to quit
general
By
Comments
Sign in to leave a comment