allgpt-co/QuickVoice
Open-source, self-hostable platform for building and operating AI phone agents.
QuickVoice – オープンソース AI 電話エージェントプラットフォーム
概要 – エンジニアリングチームが音声ベースの AI エージェント(インバウンド受付、アウトバウンド営業ボットなど)を構築、実行、拡張できるセルフホスト可能なスタックです。マーケティングサイト、カスタマーコンソール、Express API、Python LiveKit ワーカー、電話統合(Twilio/Telnyx)、ナレッジベース(Pinecone)サポート、課金(Stripe)、および周辺のすべてのインフラ(Postgres, Redis, S3 など)を単一のモノレポにまとめています。
重要性 – ほとんどの音声エージェントサービスは、クローズドな SaaS API(例:Retell)として提供されています。QuickVoice は、ソースレベルでの完全な制御を伴う同じ製品インターフェースを提供し、プライバシーレビュー、コストの透明性、およびホスト型サービスでは不可能なカスタム拡張を可能にします。
コア機能 (README の記載に基づく)
| カテゴリ | ハイライト |
|---|---|
| エージェント実行環境 | Python で書かれた LiveKit ベースの音声ワーカー。通話ごとの設定(プロンプト、音声、言語、動的変数)。STT (Deepgram, Sarvam)、LLM (AWS Bedrock)、TTS (ElevenLabs, Sarvam) をサポート。 |
| ナレッジ & ツール | RAG 用の Pinecone ベクトルストア。Google embeddings。MCP/Smithery ツールブリッジ。通話中に外部 HTTP ツールを呼び出す機能(セーフガード付き)。 |
| 電話機能 | Twilio および Telnyx の番号購入、インバウンドルーティング、アウトバウンド通話、バッチキャンペーン、LiveKit トランクバインディング。 |
| コンソール & API | 組織、エージェント、番号、KB、API キー、課金、設定のための Next.js カスタマーコンソール。認証、権限、Stripe 統合、Webhook 処理を備えた Express API。 |
| プライバシー & コンプライアンス | デフォルトの PII 削除、オプションのゼロ PII モード、暗号化されたシークレット、URL 許可リスト、トランスクリプト、録音、KB 行、ツールログの自動保持ジョブ。 |
| 課金 | テストモードのウォレットフローを備えた Stripe 統合。サブスクリプション形式の利用とプリペイドクレジットをサポート。 |
| 開発体験 | 単一コマンド task up:dev (Docker Compose, pnpm, Python venv) でフルスタックをローカルで起動。DB マイグレーション、シーディング、CI、リンター、テスト用の広範な Taskfile スクリプト。 |
| 拡張性 | モノレポ (pnpm + Turborepo) により、フォーク、新しいプロバイダーの追加、エージェントの修正、カスタム MCP ツールのプラグイン、または音声カタログの置換が容易。 |
アーキテクチャの概要
Visitor → task up:dev →
├─ apps/web (マーケティングサイト)
├─ apps/console (カスタマー UI)
├─ apps/server (Express API, 認証, DB, Stripe, Twilio/Telnyx)
└─ apps/ai (Python LiveKit ワーカー, RAG, ツール実行)
│
└─ LiveKit ↔ Telephony (Twilio/Telnyx)
すべてのサービスは Postgres と Redis コンテナを使用してローカルで実行されます。本番環境では、独自の LiveKit、電話、およびクラウドプロバイダーの資格情報を提供する必要があります。
テックスタック (README より)
- フロントエンド: Next.js (React) + Tailwind CSS
- API: Express (TypeScript) + Better Auth
- 音声実行環境: LiveKit Agents, Python workers, Silero VAD, 多言語ターン検出, ノイズキャンセリング
- 電話: Twilio, Telnyx
- AI プロバイダー: LiveKit 推論経由で設定可能な STT/TTS/LLM (デフォルト: Deepgram, AWS Bedrock, ElevenLabs)
- ナレッジ & ツール: Pinecone ベクトル DB, Google embeddings, MCP/Smithery ブリッジ, カスタム HTTP ツール
- データストア: PostgreSQL (Prisma ORM), Redis/BullMQ, S3 互換オブジェクトストレージ
- 課金: Stripe
- オーケストレーション: Docker Compose, Go Task, pnpm (v9), Turborepo
- 言語ランタイム: Node 20/22+, Python 3.12, Go (Task 用)
プロジェクトの成熟度
- ステータス: 開発中、まだ安定版はありません (
ROADMAP.mdおよびv0.1.0ドラフト注記を参照)。 - ライセンス: MIT (商用利用可)。
- コミュニティ: 公開イシューフォーム、貢献ガイドライン、ガバナンス文書、およびロードマップ。スターやコミュニティの関心は歓迎されますが、プロジェクトはまだそのままでは本番環境向けではありません。
代表的なユースケース
- インバウンド AI 受付 – 電話への対応、顧客データの照会、サポートの提供。
- アウトバウンドキャンペーン – 自動リマインダー、営業電話、回収、結果の追跡。
- 予約スケジューリング – 音声駆動の予約フロー。
- ナレッジベースを活用したエージェント – アップロードされたドキュメントやベクトルストアの知識に基づく質問回答。
- ドメイン特化型自動化 – ヘルスケアのトリアージ、金融サービスの本人確認、物流調整、不動産のリード資格確認、Eコマースサポート。
はじめに (クイックサマリー)
- 前提条件 – Linux/macOS (または Windows 上の WSL2), Bash ≥ 4, Node 20/22+, pnpm 9, Python 3.12, Docker Compose v2, Go Task。
- 実行 –
task up:devを実行すると、環境ファイルが作成され、Postgres と Redis が起動し、マイグレーションが実行され、すべてのサービスが起動します。 - アクセス – コンソールは
http://localhost:3000、マーケティングサイトはhttp://localhost:3001、API ヘルスチェックはhttp://localhost:5000/api/v1/health、AI ワーカーのヘルスチェックはhttp://localhost:5555/healthです。 - 実際の資格情報の追加 – LiveKit, Twilio/Telnyx, AWS, Deepgram, ElevenLabs, Stripe などの情報を
.env.devに入力して、実際の通話を可能にします。
結論
QuickVoice は、独自の音声エージェントプラットフォームに代わる、包括的なオープンソースの選択肢です。Web コンソールから電話プロバイダーに至るまで、音声 AI スタックのあらゆる部分を検査、カスタマイズ、セルフホストする能力をチームに提供し、同時に RAG、ツール実行、課金、プライバシー制御の即時サポートを提供します。まだ初期段階ですが、リポジトリには完全なモノレポ、詳細なドキュメント、および自前のインフラを管理したいチームのための明確な本番環境への道筋が含まれています。
関連
- プロジェクト
- プロジェクト
- Dispatch
- Dispatch