Search

PythonReactSEOPDF
OpenClaw

clawatar

Give your AI agent a 3D VRM avatar body with animations, expressions, voice chat, and lip sync. Use when the user wants a visual avatar, VRM viewer, avatar companion, VTuber-style character, or 3D character they can talk to. Installs a web-based viewer controllable via WebSocket.

dongping-chen0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install dongping-chen/clawatar

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

Clawatar — 3D VRM Avatar Viewer

Give your AI agent a body. Web-based VRM avatar with 162 animations, expressions, TTS lip sync, and AI chat.

Install & Start

# Clone and install
git clone https://github.com/Dongping-Chen/Clawatar.git ~/.openclaw/workspace/clawatar
cd ~/.openclaw/workspace/clawatar && npm install

# Start (Vite + WebSocket server)
npm run start

Opens at http://localhost:3000 with WS control at ws://localhost:8765.

Users must provide their own VRM model (drag & drop onto page, or set model.url in clawatar.config.json).

WebSocket Commands

Send JSON to ws://localhost:8765:

play_action
{"type": "play_action", "action_id": "161_Waving"}
set_expression
{"type": "set_expression", "name": "happy", "weight": 0.8}

Expressions: happy, angry, sad, surprised, relaxed

speak (requires ElevenLabs API key)
{"type": "speak", "text": "Hello!", "action_id": "161_Waving", "expression": "happy"}
reset
{"type": "reset"}

Quick Animation Reference

Mood Action ID
Greeting 161_Waving
Happy 116_Happy Hand Gesture
Thinking 88_Thinking
Agreeing 118_Head Nod Yes
Disagreeing 144_Shaking Head No
Laughing 125_Laughing
Sad 142_Sad Idle
Dancing 105_Dancing, 143_Samba Dancing, 164_Ymca Dance
Thumbs Up 153_Standing Thumbs Up
Idle 119_Idle

Full list: public/animations/catalog.json (162 animations)

Sending Commands from Agent

cd ~/.openclaw/workspace/clawatar && node -e "
const W=require('ws'),s=new W('ws://localhost:8765');
s.on('open',()=>{s.send(JSON.stringify({type:'speak',text:'Hello!',action_id:'161_Waving',expression:'happy'}));setTimeout(()=>s.close(),1000)})
"

UI Features

  • Touch reactions: Click avatar head/body for reactions
  • Emotion bar: Quick 😊😢😠😮😌💃 buttons
  • Background scenes: Sakura Garden, Night Sky, Café, Su...

Source information

Source
github
Repository
openclaw/skills
Path
skills/dongping-chen/clawatar
Version
—
Commit
fc18df2d2ef287b0c8f908282299c161ba148af1
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# Clawatar — 3D VRM Avatar Viewer

Give your AI agent a body. Web-based VRM avatar with 162 animations, expressions, TTS lip sync, and AI chat.

## Install & Start

```bash
# Clone and install
git clone https://github.com/Dongping-Chen/Clawatar.git ~/.openclaw/workspace/clawatar
cd ~/.openclaw/workspace/clawatar && npm install

# Start (Vite + WebSocket server)
npm run start
```

Opens at http://localhost:3000 with WS control at ws://localhost:8765.

Users must provide their own VRM model (drag & drop onto page, or set `model.url` in `clawatar.config.json`).

## WebSocket Commands

Send JSON to `ws://localhost:8765`:

### play_action
```json
{"type": "play_action", "action_id": "161_Waving"}
```

### set_expression
```json
{"type": "set_expression", "name": "happy", "weight": 0.8}
```
Expressions: `happy`, `angry`, `sad`, `surprised`, `relaxed`

### speak (requires ElevenLabs API key)
```json
{"type": "speak", "text": "Hello!", "action_id": "161_Waving", "expression": "happy"}
```

### reset
```json
{"type": "reset"}
```

## Quick Animation Reference

| Mood | Action ID |
|------|-----------|
| Greeting | `161_Waving` |
| Happy | `116_Happy Hand Gesture` |
| Thinking | `88_Thinking` |
| Agreeing | `118_Head Nod Yes` |
| Disagreeing | `144_Shaking Head No` |
| Laughing | `125_Laughing` |
| Sad | `142_Sad Idle` |
| Dancing | `105_Dancing`, `143_Samba Dancing`, `164_Ymca Dance` |
| Thumbs Up | `153_Standing Thumbs Up` |
| Idle | `119_Idle` |

Full list: `public/animations/catalog.json` (162 animations)

## Sending Commands from Agent

```bash
cd ~/.openclaw/workspace/clawatar && node -e "
const W=require('ws'),s=new W('ws://localhost:8765');
s.on('open',()=>{s.send(JSON.stringify({type:'speak',text:'Hello!',action_id:'161_Waving',expression:'happy'}));setTimeout(()=>s.close(),1000)})
"
```

## UI Features

- **Touch reactions**: Click avatar head/body for reactions
- **Emotion bar**: Quick 😊😢😠😮😌💃 buttons
- **Background scenes**: Sakura Garden, Night Sky, Café, Su...

Related skills

OpenClaw

bambu-studio-ai

heyixuan2

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pi...

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

0protocol

0isone

Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.

OpenClaw

0x0-messenger

eijiac24

Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.