Clawdbot ToolsDocumentedScanned

claw-face

Floating avatar widget for AI agents showing emotions, actions.

Share:

Installation

npx clawhub@latest install claw-face

View 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...
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!)

# 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

EmotionUse when...
neutralDefault, waiting
thinkingProcessing, analyzing
happyThings going well
excitedBig win, celebration
proudPersonal achievement
confusedUncertain, unexpected
tiredLong task
sadFailed despite trying
angryError, frustration

Actions

ActionUse when...
idleWaiting for user
readingReading files/docs
thinkingAnalyzing, planning
searchingWeb search, grep
codingWriting code
loadingRunning commands
speakingSending response
successCompleted task
errorSomething failed

Effects

EffectVibe
noneClean, minimal
matrixTechy, data flow
radarScanning, searching
brainwaveDeep thinking
typingWriting
soundwaveSpeaking
gearMechanical work
fireIntense, productive
lightningFast, powerful
confettiCelebration!
heartAffection
glitchError, broken
sparklesMagic
pulseActive but calm
progressbar:XXProgress (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:

  • Update BEFORE each action โ€” set reading before you read
  • Update AFTER completion โ€” show success/error, then idle
  • Match intensity โ€” small task = subtle, big task = expressive
  • Always return to idle โ€” when waiting for user

  • ๐Ÿ”ง 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
    • F for fullscreen
    • Q to quit