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コマースサポート。

はじめに (クイックサマリー)

  1. 前提条件 – Linux/macOS (または Windows 上の WSL2), Bash ≥ 4, Node 20/22+, pnpm 9, Python 3.12, Docker Compose v2, Go Task。
  2. 実行task up:dev を実行すると、環境ファイルが作成され、Postgres と Redis が起動し、マイグレーションが実行され、すべてのサービスが起動します。
  3. アクセス – コンソールは http://localhost:3000、マーケティングサイトは http://localhost:3001、API ヘルスチェックは http://localhost:5000/api/v1/health、AI ワーカーのヘルスチェックは http://localhost:5555/health です。
  4. 実際の資格情報の追加 – LiveKit, Twilio/Telnyx, AWS, Deepgram, ElevenLabs, Stripe などの情報を .env.dev に入力して、実際の通話を可能にします。

結論

QuickVoice は、独自の音声エージェントプラットフォームに代わる、包括的なオープンソースの選択肢です。Web コンソールから電話プロバイダーに至るまで、音声 AI スタックのあらゆる部分を検査、カスタマイズ、セルフホストする能力をチームに提供し、同時に RAG、ツール実行、課金、プライバシー制御の即時サポートを提供します。まだ初期段階ですが、リポジトリには完全なモノレポ、詳細なドキュメント、および自前のインフラを管理したいチームのための明確な本番環境への道筋が含まれています。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • Dispatch