Skill: yukihamada/voice-ui (version 1.0.0)

--- name: voice-ui description: Self-evolving voice assistant UI. Talk to your AI, ask it to improve itself, and watch the code update in real-time. --- # Voice UI **自己進化型AIアシスタントUI** - 音声で会話しながら自分自身を改善できる ## 機能 - 🎤 音声認識 (Whisper) - 🔊 音声合成 (TTS) - 🤖 かわいいロボットUI（表情変化） - 🔄 自己進化（UIの変更を音声で指示） - 📝 自動Gitコミット ## セットアップ ```bash cd <workspace>/skills/voice-ui npm install ./start.sh ``` ブラウザで http://localhost:8765 を開く ## 必要な設定 OpenClaw config (`~/.openclaw/openclaw.json`) に voice agent を追加: ```json { "agents": { "list": [{ "id": "voice", "name": "Voice Assistant", "model": { "primary": "anthropic/claude-sonnet-4-5" } }] } } ``` ## 使い方 1. マイクボタンをタップ（またはスペースキー長押し） 2. 話しかける 3. AIが返答 ### 自己進化コマンド - 「背景を青にして」→ CSSを自動編集 - 「ボタンを大きくして」→ スタイルを変更 - 「新機能を追加して」→ JSを編集 変更は自動でGitコミットされる。 ## ファイル構成 - `index.html` - メインUI - `server.cjs` - Node.jsサーバー - `start.sh` - 起動スクリプト - `CONTEXT.md` - AIへのコンテキスト情報 ## 環境変数 - `OPENAI_API_KEY` - OpenAI API Key（Whisper/TTS用） 設定がない場合、OpenClawの設定から自動取得を試みる。

path: CONTEXT.md
content: # Voice UI Context

このファイルはvoice-uiから呼ばれた時のコンテキスト情報です。

## 重要

ユーザーが「voice-uiから:」で始まるメッセージを送ってきた場合、
それは音声UIアプリからのリクエストです。

## UI改善リクエストについて

ユーザーが以下のようなリクエストをした場合：
- 「背景を変えて」
- 「色を変えて」
- 「ボタンを大きくして」
- 「UIを改善して」

→ `/Users/yuki/.openclaw/workspace/voice-ui/index.html` を編集してください！

## ⚠️ 変更後は必ずGitコミット！

UIやコードを編集したら、必ず以下を実行：
```bash
cd /Users/yuki/.openclaw/workspace/voice-ui && git add -A && git commit -m "変更内容の説明"
```

## ファイル構成

- `index.html` - メインのUI（HTML/CSS/JS）
- `server.cjs` - バックエンドサーバー
- `package.json` - Node.js設定
- `CONTEXT.md` - このファイル（コンテキスト情報）

## 現在のUI

- パステルグラデーション背景（または白）
- ロボットキャラクター（表情が変わる）
- 音声認識 + TTS
- OpenClaw統合（自己改善可能）


path: README.md
content: # 🤖 Claw Voice UI

**自己進化型AIアシスタント** - 音声で会話しながら自分自身を改善できるWebアプリ

## ✨ 特徴

- 🎤 **音声対話** - マイクで話しかけるだけ
- 🧠 **OpenClaw統合** - フル機能のAIエージェント
- 🔄 **自己進化** - 「UIを改善して」と言えばコードを自動編集
- 📝 **自動バージョン管理** - 変更は自動でGitコミット
- 🎨 **かわいいUI** - ロボットキャラが表情で反応

## 🚀 セットアップ

### 前提条件

- [OpenClaw](https://github.com/openclaw/openclaw) がインストール済み
- Node.js 18+
- OpenAI API Key

### インストール

```bash
# クローン
git clone https://github.com/yukihamada/voice-ui.git
cd voice-ui

# 依存関係
npm install

# 環境変数（または OpenClaw の設定から自動取得）
export OPENAI_API_KEY="your-key-here"

# 起動
./start.sh
```

### OpenClaw 設定

voice agentを追加（`~/.openclaw/openclaw.json`）:

```json
{
  "agents": {
    "list": [
      {
        "id": "voice",
        "name": "Voice Assistant",
        "workspace": "~/.openclaw/workspace",
        "model": {
          "primary": "anthropic/claude-sonnet-4-5"
        }
      }
    ]
  }
}
```

## 🎮 使い方

1. http://localhost:8765 を開く
2. 🎤 ボタンをタップ（またはスペースキー長押し）
3. 話しかける
4. AIが返答 + 音声で読み上げ

### 自己進化コマンド例

- 「背景を青にして」
- 「ボタンをもっと大きくして」
- 「新しい機能を追加して」
- 「バグを直して」

## 🏗️ アーキテクチャ

```
┌─────────────────┐
│   Browser UI    │
│  (index.html)   │
└────────┬────────┘
         │ HTTP
┌────────▼────────┐
│   Node Server   │
│  (server.cjs)   │
└────────┬────────┘
         │ CLI
┌────────▼────────┐
│    OpenClaw     │
│  (voice agent)  │
└────────┬────────┘
         │ Tools
┌────────▼────────┐
│  File System    │
│  Git / APIs     │
└─────────────────┘
```

## 📁 ファイル構成

```
voice-ui/
├── index.html      # メインUI
├── server.cjs      # バックエンドサーバー
├── start.sh        # 起動スクリプト
├── CONTEXT.md      # AIへのコンテキスト
├── package.json    # Node.js設定
└── README.md       # このファイル
```

## 🔧 開発

```bash
# 開発サーバー
node server.cjs

# 変更をコミット
git add -A && git commit -m "Your message"
git push
```

## 📄 ライセンス

MIT

## 🙏 謝辞

- [OpenClaw](https://github.com/openclaw/openclaw) - AIエージェントフレームワーク
- [OpenAI](https://openai.com) - Whisper & TTS
- [Anthropic](https://anthropic.com) - Claude


path: package-lock.json
content: {
  "name": "voice-ui",
  "version": "1.0.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "voice-ui",
      "version": "1.0.0",
      "license": "ISC",
      "dependencies": {
        "ws": "^8.19.0"
      }
    },
    "node_modules/ws": {
      "version": "8.19.0",
      "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
      "integrity": [REDACTED_SECRET],
      "license": "MIT",
      "engines": {
        "node": ">=10.0.0"
      },
      "peerDependencies": {
        "bufferutil": "^4.0.1",
        "utf-8-validate": ">=5.0.2"
      },
      "peerDependenciesMeta": {
        "bufferutil": {
          "optional": true
        },
        "utf-8-validate": {
          "optional": true
        }
      }
    }
  }
}


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: suspicious | SkillSpector: suspicious (CRITICAL)