PolyVoice — Home Assistant向けマルチプロバイダ音声アシスタント
概要
PolyVoiceは「ユーザーが選べる脳」をコンセプトにした、Home Assistant向けのマルチプロバイダ音声アシスタント統合です。READMEによれば15以上のビルトイン機能を持ち、6つのLLMプロバイダをサポート。ローカルファーストの設計でプライバシーを重視しつつ、HACS対応のカスタムコンポーネントとして簡単に導入できます。Home Assistantの自動化・エンティティ操作と密に連携し、音声コマンドの受け口(STT)や応答(TTS)、および自然言語処理を組み合わせてローカル端末上で柔軟な音声体験を提供することを目的としています。
リポジトリの統計情報
- スター数: 12
- フォーク数: 1
- ウォッチャー数: 12
- コミット数: 6
- ファイル数: 5
- メインの言語: Python
主な特徴
- マルチプロバイダ対応:6つのLLMプロバイダをサポート(README記載)。
- 15以上の組み込み機能:汎用的な音声操作やHome Assistant連携機能を備える。
- ローカルファースト:プライバシーを重視した動作を想定。
- HACS / カスタムコンポーネント形式での導入が可能。
技術的なポイント
PolyVoiceはHome Assistantの拡張ポイント(custom_components)として実装されることで、Home Assistantのイベント・サービス呼び出し・エンティティモデルとシームレスに統合できます。HACS用のメタデータ(hacs.json)が含まれているため、HACS経由でのインストールとアップデートが容易です。READMEにある「6 LLM providers」「local-first」という記述から、LLM呼び出しを抽象化するプロバイダ層を持ち、必要に応じて外部クラウド型のAPIやローカルでホストするモデルのいずれかを選べる設計が想定されます。
アーキテクチャのコアは音声入力→NLU→アクション実行→音声出力のパイプラインで、NLUや対話管理はLLMあるいは事前定義の機能群で処理されるでしょう。Home Assistantのサービスを直接トリガーすることで、ライト制御やメディア操作、通知、定型文アナウンス等のビルトイン機能と結び付けられます。Pythonベースで非同期IO(asyncio)を用いる設計なら、Home Assistantのイベントループと競合せず高応答を維持できます。
また、ローカルファースト方針は、音声データや会話履歴の外部送信を最小化し、オンプレミスのモデルを優先して利用する設定や、プライバシー保護のためのフォールバックロジックを備える事を意味します。ドキュメント(docs)フォルダは設定手順、プロバイダごとのキーやトークン管理、既存のHome Assistant自動化との連携例、トラブルシューティングを載せる想定で、導入・運用時のハードルを下げます。MITライセンスであるため、カスタマイズや二次配布も自由に行えます。
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- custom_components: dir
- docs: dir
- hacs.json: file
まとめ
Home Assistantに組み込めるローカル志向の多プロバイダ音声アシスタント。導入しやすく拡張性も高い。
リポジトリ情報:
- 名前: polyvoice
- 説明: Multi-provider voice assistant for Home Assistant with 15+ built-in functions
- スター数: 12
- 言語: Python
- URL: https://github.com/LosCV29/polyvoice
- オーナー: LosCV29
- アバター: https://avatars.githubusercontent.com/u/213895958?v=4
READMEの抜粋:
🎙️ PolyVoice
The multi-provider voice assistant for Home Assistant — 15+ built-in functions, 6 LLM providers, local-first, and completely free.
🎯 Like Alexa, but you choose the brain…