open-index/open-npm huggingface dataset:
npm package: @prometheusavatar/core
Description: Give your AI agent an embodied avatar — Live2D rendering, TTS, lip-sync, and emotion analysis in one SDK
Author: Myths Labs
Latest version: 0.8.1

# @prometheusavatar/core

Give your AI agent an embodied avatar — Live2D rendering, TTS, lip-sync, and emotion analysis in one SDK.

## Quick Start

```bash
npm install @prometheusavatar/core
```

```ts
import { createAvatar } from '@prometheusavatar/core';

const avatar = await createAvatar({
  container: document.getElementById('avatar')!,
  modelUrl: '/models/haru/haru.model3.json',
});

// Avatar speaks with auto-detected emotion + lip-sync
await avatar.speak('Hello! How are you today? 😊');
```

## API Reference

### `createAvatar(options): Promise<PrometheusAvatar>`

Factory function to create and initialize an avatar.

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `container` | `HTMLElement` | required | DOM element to render into |
| `modelUrl` | `string` | required | URL to Live2D model JSON |
| `width` | `number` | `800` | Canvas width |
| `height` | `number` | `600` | Canvas height |
| `backgroundColor` | `number` | `0x00000000` | Canvas background (hex) |
| `ttsEngine` | `ITTSEngine` | `WebSpeechTTS` | Custom TTS engine |
| `debug` | `boolean` | `false` | Enable debug logging |

### `PrometheusAvatar`

#### Methods

```ts
avatar.speak(text: string): Promise<void>     // Speak with auto emotion + lip-sync
avatar.setEmotion(emotion: Emotion): void      // Manually set emotion
avatar.processText(text: string): EmotionResult // Process LLM stream (no TTS)
avatar.loadModel(modelUrl: string): Promise<void> // Switch avatar model
avatar.stop(): void                            // Stop speech + lip-sync
avatar.resize(width, height): void             // Resize canvas
avatar.getEmotion(): Emotion                   // Get current emotion
avatar.destroy(): void                         // Cleanup resources
```

#### Events

```ts
avatar.on('speech:start', ({ text }) => { ... });
avatar.on('speech:end', ({ text }) => { ... });
avatar.on('emotion:change', ({ result, previous }) => { ... });
avatar.on('lipsync:frame', ({ frame }) => { ... });
avatar.on('model:loaded', ({ modelUrl }) => { ... });
avatar.on('model:error', ({ error, modelUrl }) => { ... });
```

#### Emotions

`'neutral' | 'happy' | 'sad' | 'angry' | 'surprised' | 'thinking'`

### Custom TTS Engine

Implement `ITTSEngine` to use any TTS provider:

```ts
import type { ITTSEngine } from '@prometheusavatar/core';

class MyTTSEngine implements ITTSEngine {
  async speak(text: string): Promise<void> { /* ... */ }
  stop(): void { /* ... */ }
  onAudioData?: (data: Float32Array) => void;
  onEnd?: () => void;
}

const avatar = await createAvatar({
  container: el,
  modelUrl: url,
  ttsEngine: new MyTTSEngine(),
});
```

## Architecture

```
PrometheusAvatar (orchestrator)
├── Live2DRenderer  — PIXI.js + Live2D Cubism SDK
├── WebSpeechTTS    — pluggable TTS (Web Speech API default)
├── LipSyncEngine   — audio → mouth shape mapping
└── EmotionAnalyzer — text → emotion detection
```

## License

MIT — [Myths Labs](https://github.com/myths-labs)
npm package: @prometheusavatar/mcp-server
Description: MCP Server for Prometheus Avatar — Give any AI agent an embodied avatar via Model Context Protocol
Author: Myths Labs
Latest version: 0.1.0

# @prometheusavatar/mcp-server

Give any AI agent an embodied Live2D avatar via [Model Context Protocol](https://modelcontextprotocol.io).

```bash
npx @prometheusavatar/mcp-server
```

## 7 Tools

| Tool | Description |
|------|-------------|
| `create_avatar` | Initialize a new avatar instance with model, voice, and persona |
| `equip_asset` | Equip/unequip marketplace assets (skins, voices, effects, etc.) |
| `generate_asset` | AI-generate new assets from text prompts (persona, expression, scene, etc.) |
| `list_marketplace` | Browse available marketplace assets by category |
| `get_avatar_status` | Get current avatar state and equipped assets |
| `share_avatar` | Generate shareable links and embed codes |
| `speak` | Make the avatar speak text with TTS and lip-sync animation |

## Setup

### Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "prometheus": {
      "command": "npx",
      "args": ["-y", "@prometheusavatar/mcp-server"],
      "env": {
        "GEMINI_API_KEY": "your-key-here"
      }
    }
  }
}
```

### Cursor / Windsurf / Any MCP Client

```json
{
  "command": "npx",
  "args": ["-y", "@prometheusavatar/mcp-server"]
}
```

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `GEMINI_API_KEY` | For asset generation | Google AI API key ([free](https://ai.google.dev)) |
| `PROMETHEUS_API_URL` | No | Custom API URL (default: `https://prometheus.mythslabs.ai`) |
| `PROMETHEUS_API_KEY` | No | API key for authenticated operations |

## Example Conversation

> **User**: "Create an avatar that looks like a cute anime girl and make her say hello"
>
> **AI Agent** (using MCP):
> 1. Calls `create_avatar` → gets embed URL
> 2. Calls `speak` with "Hello! Nice to meet you! 😊"
> 3. Returns the embed URL to the user

> **User**: "Browse the marketplace for cool effects"
>
> **AI Agent**:
> 1. Calls `list_marketplace` with category "effects"
> 2. Presents Cherry Blossom Rain, Starfield, etc.
> 3. User picks one → calls `equip_asset`

## Links

- **Platform**: [prometheus.mythslabs.ai](https://prometheus.mythslabs.ai)
- **SDK**: `npm i @prometheusavatar/core`
- **GitHub**: [myths-labs/prometheus-avatar](https://github.com/myths-labs/prometheus-avatar)

## License

MIT — [Myths Labs](https://mythslabs.ai)
npm package: @prometheusavatar/openclaw-plugin
Description: Prometheus Avatar plugin for OpenClaw — give your agent a Live2D body with lip-sync, emotions, and TTS
Author: Myths Labs
Latest version: 0.8.1

# 🔥 Prometheus Avatar — OpenClaw Plugin

> Give your OpenClaw agent a Live2D avatar with real-time lip-sync, emotion expressions, and TTS.

[![npm](https://img.shields.io/badge/npm-%40prometheus--avatar%2Fopenclaw--plugin-blue)](https://www.npmjs.com/package/@prometheus-avatar/openclaw-plugin)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![OpenClaw](https://img.shields.io/badge/OpenClaw-plugin-purple)](https://openclaw.ai)

## 🚀 Install

```bash
openclaw plugins install @prometheus-avatar/openclaw-plugin
```

## ✨ What it does

This plugin bridges OpenClaw agent events to the [Prometheus Avatar SDK](https://github.com/myths-labs/prometheus-avatar), giving your AI agent a visual body:

- **🎭 Live2D Avatar** — Renders a Live2D model in your agent's UI
- **🗣️ Text-to-Speech** — Agent messages are spoken aloud with lip-sync
- **😊 Emotion Detection** — Text sentiment drives avatar expressions (happy, sad, angry, surprised, thinking)
- **🎨 Marketplace Assets** — Equip skins, voices, personas, and effects from the [Prometheus Marketplace](https://prometheus.mythslabs.ai/marketplace)

## ⚙️ Configuration

Add to your `openclaw.config.json`:

```json
{
  "plugins": {
    "prometheus-avatar": {
      "avatarId": "haru",
      "ttsProvider": "web-speech",
      "enableLipSync": true,
      "enableEmotion": true
    }
  }
}
```

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `avatarId` | `string` | — | Avatar model ID from Prometheus Marketplace |
| `modelUrl` | `string` | Haru (default) | Direct URL to a `.model3.json` file |
| `ttsProvider` | `string` | `"web-speech"` | TTS provider: `web-speech` / `elevenlabs` / `azure` / `sherpa-onnx` |
| `ttsVoice` | `string` | — | Voice name or ID |
| `enableLipSync` | `boolean` | `true` | Audio-driven lip synchronization |
| `enableEmotion` | `boolean` | `true` | Emotion analysis from text |

## 🛠️ Agent Tools

When your OpenClaw agent has tool-use enabled, two creator tools are registered:

| Tool | Description |
|------|-------------|
| `prometheus_generate_thumbnail` | Generate AI thumbnails for marketplace assets |
| `prometheus_deploy_asset` | Deploy new assets (voices, skins, effects) to the Marketplace |

## 📡 Events

| Listens to | Emits |
|------------|-------|
| `agent:message` → speaks + animates | `avatar:speak` |
| `agent:thinking` → thinking expression | `avatar:emotion` |
| `agent:error` → surprised expression | `avatar:ready` |

## 🔗 Links

- **SDK**: [@prometheusavatar/core](https://www.npmjs.com/package/@prometheusavatar/core)
- **Marketplace**: [prometheus.mythslabs.ai](https://prometheus.mythslabs.ai)
- **GitHub**: [myths-labs/prometheus-avatar](https://github.com/myths-labs/prometheus-avatar)
- **Docs**: [Prometheus SDK Documentation](https://github.com/myths-labs/prometheus-avatar#readme)

## 📄 License

MIT © [Myths Labs](https://mythslabs.ai)
npm package: @prometheusresearch/react-autocomplete
Description: Autocomplete component for React
Author: Prometheus Research
Latest version: 0.4.3

# React Autocomplete

Autocomplete component for [React][].

## Installation

Install via npm:

    % npm install @prometheusresearch/react-autocomplete

## Credits

React Selectbox is free software created by [Prometheus Research][] and is
released under the MIT license.

[React]: http://facebook.github.io/react/
[Prometheus Research]: http://prometheusresearch.com
npm package: @prometheusresearch/react-box
Description: Flexbox based layout primitives for React
Author: Prometheus Research, LLC
Latest version: 0.10.1

React Box
=========

React Box provides flexbox based layout primitives for React.

Credits
-------

React Selectbox is free software created by [Prometheus Research][] and is
released under the MIT license.

[Prometheus Research]: http://prometheusresearch.com
npm package: @prometheusresearch/react-datetimepicker
Description: DateTime Picker component for  React
Author: Prometheus Research, LLC
Latest version: 0.5.0

React DateTime Picker
=====================

Installation
------------

Install via npm:

    % npm install @prometheusresearch/react-datetimepicker

Usage
-----

    import DateTimeField from '@prometheusresearch/react-datetimepicker'

    <DateTimeField onChange={...} />