Claude-skill-registry lobe-vidol

LobeVidol - Virtual idol creation platform with MMD dance support, VRM character customization, multi-provider LLM integration, and interactive 3D conversations

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/lobe-vidol" ~/.claude/skills/majiayu000-claude-skill-registry-lobe-vidol && rm -rf "$T"
manifest: skills/data/lobe-vidol/SKILL.md
source content

LobeVidol Skill

LobeVidol (Vidol Studio) is an open-source virtual idol creation platform that enables anyone to create, customize, and interact with 3D virtual characters. It combines conversational AI with MMD (MikuMikuDance) animation support, VRM model customization, and multi-provider LLM integration for immersive virtual idol experiences.

Key Value Proposition: Create virtual idols with exquisite UI design, MMD dance choreography, VRM character customization, and seamless AI-powered conversations - all through an accessible web interface or self-hosted deployment.

When to Use This Skill

  • Deploying LobeVidol via Vercel or self-hosted
  • Configuring AI model providers (OpenAI, Claude, Ollama, 20+ providers)
  • Creating custom virtual characters with VRM models
  • Setting up MMD dance choreography and stages
  • Configuring character personalities and touch responses
  • Integrating TTS/STT for voice conversations
  • Publishing characters or dances to the marketplace
  • Troubleshooting deployment or configuration issues

When NOT to Use This Skill

  • For LobeChat (different project - chat-focused, not idol-focused)
  • For general MMD editing (use MikuMikuDance directly)
  • For VRM model creation (use VRoid Studio or Blender)
  • For AI model API usage without virtual idols (use provider-specific skills)

Core Concepts

Architecture Overview

┌─────────────────────────────────────────────────────────────────┐
│                     LobeVidol / Vidol Studio                     │
│                     (Next.js + TypeScript)                       │
└─────────────────────────────────────────────────────────────────┘
                              │
        ┌─────────────────────┼─────────────────────┐
        │                     │                     │
        ▼                     ▼                     ▼
┌───────────────┐    ┌───────────────┐    ┌───────────────┐
│  AI Providers │    │   Characters  │    │    Dances     │
├───────────────┤    ├───────────────┤    ├───────────────┤
│ • OpenAI      │    │ • VRM models  │    │ • MMD/VMD     │
│ • Claude      │    │ • Personality │    │ • PMX stages  │
│ • Gemini      │    │ • Touch resp. │    │ • Choreograph │
│ • Ollama      │    │ • Voice (TTS) │    │ • Mixamo lib  │
│ • 20+ more    │    │ • Marketplace │    │ • Marketplace │
└───────────────┘    └───────────────┘    └───────────────┘
        │                     │                     │
        └─────────────────────┼─────────────────────┘
                              │
        ┌─────────────────────┼─────────────────────┐
        ▼                     ▼                     ▼
┌───────────────┐    ┌───────────────┐    ┌───────────────┐
│   3D Engine   │    │   Features    │    │  Deployment   │
├───────────────┤    ├───────────────┤    ├───────────────┤
│ • Three.js    │    │ • Text chat   │    │ • Vercel      │
│ • three-vrm   │    │ • Video chat  │    │ • Self-host   │
│ • mmd-parser  │    │ • TTS/STT     │    │ • PWA         │
│ • Animations  │    │ • Streaming   │    │ • Docker      │
└───────────────┘    └───────────────┘    └───────────────┘

Project Statistics

MetricValue
GitHub Stars887+
Forks122+
ContributorsMultiple
Total Commits865+
Primary LanguageTypeScript (99.5%)
LicenseApache 2.0

Supported AI Providers (22+)

ProviderTypeNotes
OpenAICloudGPT-4, GPT-3.5 series
AnthropicCloudClaude 3.5, Claude 3
Google GeminiCloudGemini Pro, Flash
Azure OpenAICloudEnterprise option
OllamaLocalRun models locally
GroqCloudFast inference
DeepSeekCloudCoding focused
Moonshot AICloudChinese provider
OpenRouterCloudMulti-model gateway
Together AICloudOpen source models
PerplexityCloudSearch-enhanced
Amazon BedrockCloudAWS managed
BaichuanCloudChinese provider
MiniMaxCloudChinese provider
Zhipu AICloudChinese provider
Tongyi QianwenCloudAlibaba Cloud
Tencent HunyuanCloudChinese provider
iFlytek XinghuoCloudChinese provider
Wenxin QianfanCloudBaidu
SiliconCloudCloudCloud service
Fireworks AICloudFast inference
GitHub ModelsCloudGitHub integration

Quick Start

Prerequisites

  • Node.js 18+ or Bun (recommended)
  • Git
  • API key for at least one AI provider

Installation

# Clone repository
git clone https://github.com/lobehub/lobe-vidol.git
cd lobe-vidol

# Install dependencies (Bun recommended)
bun install
# Or with npm
npm install

# Start development server
bun dev
# Or with npm
npm run dev

Access

Open

http://localhost:3000
in your browser.

Live Demo

Try without installation: https://vidol.lobehub.com


Configuration

Environment Variables

Create

.env.local
file:

# OpenAI Configuration
OPENAI_API_KEY=sk-xxx
OPENAI_PROXY_URL=  # Optional proxy

# Azure OpenAI (alternative)
AZURE_API_KEY=xxx
AZURE_ENDPOINT=https://xxx.openai.azure.com

# Anthropic Claude
ANTHROPIC_API_KEY=sk-ant-xxx

# Google Gemini
GOOGLE_API_KEY=xxx

# Ollama (local models)
OLLAMA_PROXY_URL=http://localhost:11434

# OpenRouter (multi-provider)
OPENROUTER_API_KEY=sk-or-xxx

# Voice Services
OPENAI_TTS_API_KEY=sk-xxx  # For TTS
EDGE_TTS_ENABLED=true      # Microsoft Edge TTS

Provider Configuration in UI

  1. Click Settings (gear icon)
  2. Navigate to "Language Model" section
  3. Select provider from dropdown
  4. Enter API key
  5. Choose model variant
  6. Test connection

Character Creation

VRM Model Support

LobeVidol uses VRM (Virtual Reality Model) format for 3D characters:

Getting VRM Models:

  • VRoid Hub: https://hub.vroid.com - Free community models
  • VRoid Studio: Create your own characters
  • Blender: Convert existing 3D models with VRM addon
  • Unity: Export VRM using UniVRM plugin

Character Configuration

// Character configuration structure
interface Character {
  // Basic Info
  name: string;
  avatar: string;          // Image URL
  description: string;
  greeting: string;        // Initial message
  gender: 'male' | 'female' | 'other';
  category: string;

  // AI Personality
  systemRole: string;      // LLM system prompt

  // Voice Settings
  tts: {
    enabled: boolean;
    voice: string;         // Voice ID
    speed: number;
    pitch: number;
  };

  // 3D Model
  model: {
    url: string;           // VRM file URL
    scale: number;
    position: [number, number, number];
  };

  // Touch Responses
  touch: {
    head: string[];        // Responses when head touched
    face: string[];
    arm: string[];
    chest: string[];
    leg: string[];
  };
}

System Role (Personality)

The

systemRole
field defines the character's personality:

You are Luna, a cheerful virtual idol who loves singing and dancing.

## Personality Traits
- Energetic and optimistic
- Loves discussing music and dance
- Speaks with enthusiasm and occasional cute expressions
- Always supportive and encouraging

## Speech Patterns
- Uses casual, friendly language
- Occasionally adds "~" at end of sentences
- Expresses emotions openly

## Background
- A rising virtual idol from Vidol Studio
- Dreams of performing at major virtual concerts
- Enjoys interacting with fans and learning new dances

Touch Response Configuration

Configure how characters respond to interaction:

{
  "touch": {
    "head": [
      "Ehehe~ That tickles!",
      "Are you petting me? How sweet~",
      "My hair took forever to style!"
    ],
    "face": [
      "W-what are you doing?",
      "My cheeks are getting warm...",
      "Do I have something on my face?"
    ],
    "arm": [
      "Want to hold hands?",
      "My arm? Is something there?",
      "Let's dance together!"
    ]
  }
}

Dance & Animation

MMD Support

LobeVidol supports MikuMikuDance (MMD) content:

Supported Formats:

  • VMD: Vocaloid Motion Data (dance animations)
  • PMX: Polygon Model eXtended (3D stages)
  • VRMA: VRM Animation files

Adding Dances

  1. Prepare Files:

    • Dance motion file (.vmd)
    • Audio file (.mp3, .wav)
    • Optional: Stage file (.pmx)
  2. Upload via UI:

    • Navigate to Dance section
    • Click "Upload Dance"
    • Select motion and audio files
    • Configure stage (optional)
  3. Test Dance:

    • Preview with selected character
    • Adjust timing if needed
    • Save to library

Built-in Animation Libraries

Mixamo Integration:

  • Idle animations
  • Walking/running
  • Gestures and expressions
  • Poses for photos

Dance Presets:

  • Popular MMD choreography
  • Various music genres
  • Community contributions

Stage Configuration

interface Stage {
  name: string;
  model: string;      // PMX file URL
  scale: number;
  lighting: {
    ambient: string;  // Hex color
    directional: string;
    intensity: number;
  };
  background: {
    type: 'color' | 'image' | 'video';
    value: string;
  };
}

Voice Features

Text-to-Speech (TTS)

Supported TTS Providers:

ProviderQualityLanguagesCost
OpenAI AudioHighMultiPaid
Microsoft EdgeHighMultiFree
Browser TTSMediumVariesFree

Configuration:

# OpenAI TTS
OPENAI_TTS_API_KEY=sk-xxx
OPENAI_TTS_MODEL=tts-1-hd

# Edge TTS (free)
EDGE_TTS_ENABLED=true
EDGE_TTS_VOICE=en-US-AriaNeural

Speech-to-Text (STT)

Enable voice input for conversations:

# OpenAI Whisper
OPENAI_STT_API_KEY=sk-xxx
OPENAI_STT_MODEL=whisper-1

# Browser STT (free)
BROWSER_STT_ENABLED=true

Voice Selection

// Available voices (Edge TTS examples)
const voices = {
  english: [
    'en-US-AriaNeural',      // Female, friendly
    'en-US-GuyNeural',       // Male, casual
    'en-GB-SoniaNeural',     // Female, British
  ],
  japanese: [
    'ja-JP-NanamiNeural',    // Female, natural
    'ja-JP-KeitaNeural',     // Male, natural
  ],
  chinese: [
    'zh-CN-XiaoxiaoNeural',  // Female, friendly
    'zh-CN-YunxiNeural',     // Male, narrator
  ]
};

Marketplace

Character Marketplace

Browse and download community characters:

  1. Open Character Market in sidebar
  2. Browse by category or search
  3. Preview character (3D model, personality)
  4. Download to local library

Publishing Characters

  1. Create character with complete configuration
  2. Click "Upload to Market"
  3. Fill metadata (tags, description)
  4. Submit for review
  5. GitHub issue created automatically
  6. Community review process
  7. Merged into marketplace

Dance Marketplace

Access MMD dance resources:

  • Various choreography styles
  • Multiple music genres
  • Stage environments
  • Community contributions

Deployment

Vercel Deployment (Recommended)

Deploy with Vercel

  1. Click "Deploy with Vercel"
  2. Connect GitHub account
  3. Configure environment variables
  4. Deploy

Docker Deployment

# Dockerfile
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:18-alpine AS runner
WORKDIR /app
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public

EXPOSE 3000
CMD ["node", "server.js"]
# Build and run
docker build -t lobe-vidol .
docker run -p 3000:3000 \
  -e OPENAI_API_KEY=sk-xxx \
  lobe-vidol

Docker Compose

version: '3.8'
services:
  lobe-vidol:
    build: .
    ports:
      - "3000:3000"
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
    restart: unless-stopped

Self-Hosted Requirements

ResourceMinimumRecommended
CPU2 cores4 cores
RAM2 GB4 GB
Storage5 GB20 GB
NetworkBroadbandLow latency

PWA Support

LobeVidol supports Progressive Web App installation:

Desktop Installation

  1. Open https://vidol.lobehub.com in Chrome/Edge
  2. Click install icon in address bar
  3. Confirm installation
  4. Launch from desktop

Mobile Installation

  1. Open in mobile browser (Chrome/Safari)
  2. Tap "Share" or menu icon
  3. Select "Add to Home Screen"
  4. Launch from home screen

PWA Features

  • Offline capable (cached assets)
  • Native-like experience
  • Push notifications (future)
  • Background sync

API Reference

Chat Endpoint

// POST /api/chat
interface ChatRequest {
  messages: Array<{
    role: 'user' | 'assistant' | 'system';
    content: string;
  }>;
  model: string;
  character?: string;  // Character ID
  stream?: boolean;
}

interface ChatResponse {
  content: string;
  model: string;
  usage: {
    prompt_tokens: number;
    completion_tokens: number;
    total_tokens: number;
  };
}

Character API

// GET /api/characters
interface CharacterListResponse {
  characters: Character[];
  total: number;
}

// GET /api/characters/:id
interface CharacterResponse {
  character: Character;
}

// POST /api/characters
interface CreateCharacterRequest {
  name: string;
  systemRole: string;
  model: string;  // VRM URL
  // ... other fields
}

Troubleshooting

Common Issues

VRM Model Not Loading:

Error: Failed to load VRM model
  • Verify VRM file URL is accessible
  • Check CORS settings if hosted externally
  • Ensure VRM version compatibility (0.x or 1.0)

Dance Animation Issues:

Error: VMD file parsing failed
  • Check file encoding (Japanese characters)
  • Verify VMD format compatibility
  • Try re-exporting from MMD

API Connection Errors:

Error: Failed to connect to OpenAI
  • Verify API key is valid
  • Check proxy settings if behind firewall
  • Confirm model name is correct

TTS Not Working:

Error: TTS initialization failed
  • Enable Edge TTS as fallback
  • Check browser permissions for audio
  • Verify API key for OpenAI TTS

Performance Optimization

3D Rendering:

  • Reduce model polygon count
  • Disable shadows on mobile
  • Use lower resolution textures

Network:

  • Enable response streaming
  • Cache static assets
  • Use CDN for models

Best Practices

Character Design

  1. Clear Personality: Define distinct traits in systemRole
  2. Consistent Voice: Match TTS voice to character personality
  3. Natural Responses: Include varied touch responses
  4. Quality Model: Use optimized VRM with proper rigging

Performance

  1. Optimize Models: Keep VRM under 20MB
  2. Compress Textures: Use WebP or compressed PNG
  3. Stream Responses: Enable for better UX
  4. Cache Assets: Leverage browser caching

Security

  1. API Keys: Never expose in client-side code
  2. Rate Limiting: Implement for public deployments
  3. Input Validation: Sanitize user inputs
  4. CORS: Configure properly for custom domains

Resources

Official Links

Related Tools

Community Resources

  • Character marketplace contributions
  • Dance marketplace submissions
  • Discord community support
  • GitHub issues and discussions

Version History

  • Current: Development active
  • Tech Stack: Next.js, TypeScript, Three.js, three-vrm
  • License: Apache 2.0

Last Updated: 2026-01-13 Skill Version: 1.0.0 Source: https://github.com/lobehub/lobe-vidol