mcpField
V
Voice Assistant

Voice Assistant

github.com/autometa-devチャットアプリ2477 週間前に更新

Voice Assistant について

Voice Assistant は、LiveKit、Cartesia、OpenAI、Silero を用いて構築されたシンプルな音声アシスタントで、MCP により WhatsApp と連携します。WhatsApp を音声で操作したい開発者に向いています。

主な機能

  1. 01LiveKit による音声対話
  2. 02Cartesia によるテキスト読み上げ
  3. 03OpenAI による音声認識と LLM 呼び出し
  4. 04Silero による音声区間検出
  5. 05mcp_config.json による MCP サーバー設定

活用シーン

  1. 01音声による WhatsApp メッセージの検索と操作
  2. 02LiveKit Agents Playground でのローカル音声エージェントの検証

MCP 対応

MCP クライアントとして mcp_config.json を読み込み、ローカルで動作する whatsapp-mcp サーバーに接続します。これにより、音声アシスタントが WhatsApp 関連のツールを呼び出せます。

詳細

ボイスアシスタント

LiveKit、Cartesia、OpenAI、Silero、および WhatsApp 統合用の Multi-Content Processor (MCP) を使用したシンプルなボイスアシスタント。

前提条件

  • Python >=3.13
  • uv (Python パッケージャーおよび仮想環境マネージャー)

セットアップ

  1. リポジトリをクローンする:

    git clone <your-repo-url>
    cd voice-assistant
    
  2. 仮想環境を作成およびアクティベートする (uv を使用):

    uv venv
    source .venv/bin/activate  # On Linux/macOS
    # .\.venv\Scripts\activate    # On Windows
    
  3. 依存関係をインストールする:

    uv sync
    
  4. 環境変数をセットアップする:

    プロジェクトのルートに .env という名前のファイルを作成し、以下の環境変数を実際の値で追加してください。 下の例をコピーできます:

    LIVEKIT_URL=
    LIVEKIT_API_KEY=
    LIVEKIT_API_SECRET=
    CARTESIA_API_KEY=
    OPENAI_API_KEY=
    
    • LIVEKIT_URL: LiveKit サーバーの URL。
    • LIVEKIT_API_KEY: LiveKit API キー。
    • LIVEKIT_API_SECRET: LiveKit API シークレット。
    • CARTESIA_API_KEY: テキスト音声変換用の Cartesia API キー。
    • OPENAI_API_KEY: 音声テキスト変換および LLM 操作用の OpenAI API キー。
  5. WhatsApp MCP (Multi-Content Processor) を設定する:

    このプロジェクトは MCP を使用して WhatsApp と対話します。WhatsApp MCP サーバーが実行中で設定されている必要があります。

    このプロジェクトのルートの mcp_config.json ファイルを、MCP セットアップの正しいパスで更新してください:

    {
      "mcpServers": {
        "whatsapp": {
          "command": "{{PATH_TO_UV}}",
          "args": [
            "--directory",
            "{{PATH_TO_SRC}}/whatsapp-mcp/whatsapp-mcp-server",
            "run",
            "main.py"
          ]
        }
      }
    }
    
    • {{PATH_TO_UV}} を uv 実行ファイルの絶対パスに置き換えてください。ターミナルで which uv (Linux/macOS) または where uv (Windows) を実行することで見つけられます。
    • {{PATH_TO_SRC}} を whatsapp-mcp プロジェクトを含むディレクトリの絶対パスに置き換えてください。例えば、whatsapp-mcp プロジェクトが /Users/me/dev/whatsapp-mcp にある場合、この値は /Users/me/dev であるべきです。設定ファイルの最終パスは /Users/me/dev/whatsapp-mcp/whatsapp-mcp-server になります。

アシスタントを実行する

  1. (オプション) 必要なモデルファイルをダウンロードする (例: Silero VAD): voice.py スクリプトはコマンドを持つか、初回実行時に必要なモデルを自動的にダウンロードする可能性があります。以下の例は、voice.py がサポートしている場合の仮想的なコマンドを示しています。

    # voice.py にダウンロードコマンドがある場合、例:
    # uv run python voice.py download-files
    

    現在、voice.py スクリプトは livekit.agents.cli.run_app を使用しており、通常は Silero のようなプラグインのセットアップを独自に処理します。

  2. ボイスアシスタントを起動する:

    uv run voice-assistant-cli
    

    これは pyproject.toml で定義された voice-assistant-cli スクリプトを使用します。

Playground に接続する

アシスタントが実行中になると、ブラウザで LiveKit Agents Playground を読み込み、ローカルエージェントに接続できます。


注: このREADME は、uv がシステム PATH にインストールおよび設定されていることを前提としています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。