claw-face
Floating avatar widget for AI agents showing emotions, actions.
Installation
npx clawhub@latest install claw-faceView the full skill documentation and source below.
Documentation
๐ค 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...
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!)
# 1. Check if you have Python + tkinter:
python3 -c "import tkinter; print('Ready!')"
Terminal 1 โ Run ClawFace:
python3 SKILL_PATH/scripts/avatar.py --mode robot
Terminal 2 โ Run Demo:
python3 SKILL_PATH/scripts/avatar.py --demo
Watch the avatar cycle through all emotions, actions, and effects automatically! ๐
Manual control:
echo '{"emotion":"excited","action":"success","effect":"confetti","message":"It works!"}' > ~/.clawface/avatar_state.json
โ ๏ธ Requirements
Python 3.10+ with tkinter:
# Check:
python3 -c "import tkinter; print('OK')"
# Install if missing:
# macOS: brew install python-tk@3.14
# 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):
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:
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:
reading before you readsuccess/error, then idle๐ง Technical Reference
State File
Write JSON to~/.clawface/avatar_state.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
Ffor fullscreenQto quit