cc-caller — Claude Code向け通話通知システム
概要
cc-caller は、AI(Claude Code)がユーザーに「電話」をかける体験を提供するオープンソースの仕組みです。AI側が通知や緊急呼び出しを発した際、MCPサーバー(caller-mcp)を仲介にしてバックエンドとブラウザクライアントを接続し、TTSで音声を再生、STTでユーザーの返答を取得することで双方向の音声/テキストコミュニケーションを実現します。4段階の緊急度に対応し、ブラウザベースで来電受信やリアルタイム応答が可能。TypeScriptで実装され、Dockerfile等によるコンテナ化の準備があります。
リポジトリの統計情報
- スター数: 5
- フォーク数: 1
- ウォッチャー数: 5
- コミット数: 2
- ファイル数: 12
- メインの言語: TypeScript
主な特徴
- Claude Code からの「来電通知」をブラウザで受け取れるインターフェース
- TTS(Text-to-Speech)でAIの発言を音声再生、STT(Speech-to-Text)でユーザー応答を取得
- 緊急度を低/通常/高/緊急の4段階で扱える優先度管理
- MCPサーバー(caller-mcp)を経由した分離されたアーキテクチャとWebSocketによるリアルタイム通信
技術的なポイント
cc-caller の設計は「分離とリアルタイム性」を軸にしており、Claude Code(AI)と実際のユーザー端末を直接つなぐのではなく、MCPサーバー(caller-mcp)をブローカーとして挟むことで柔軟性と安全性を担保しています。MCPサーバーは通知の仲介、呼び出しの制御、優先度判定、コネクション管理を担い、バックエンドにはWebSocketベースのリアルタイム経路が用意されている想定です。これにより低遅延で音声・テキストを双方向に流せます。
音声面ではTTSでAIのメッセージを再生し、ユーザーの返信はSTTで文字化されてAIにフィードバックされます。実装言語はTypeScriptで、型安全性とエディタの補完を活かしてクライアント/サーバー双方を統一して開発しやすくしています。Dockerfile と .dockerignore が含まれているため、コンテナ化によるデプロイやスケールアウトも想定できます。
拡張性の観点では、TTS/STTエンジンをプロバイダーレベルで切替可能にすると実運用での柔軟性が上がります。また、緊急度に応じた通知チャネル振り分け(音声強度・リトライポリシー・複数端末への同報)や認証・認可(APIキーやJWT)を導入することで実運用に耐える設計になります。なお、音声ストリーミングの品質確保(コーデック、バッファリング、パケットロス対策)や、WebSocketの再接続ロジック、負荷分散(MCPの水平スケール)を考慮することが重要です。
セキュリティ面では、MCPを境界としたアクセス制御、通信のTLS化、ユーザー同意の取得(音声記録等)を実装するとよいでしょう。ログや監査を充実させれば、誰がいつ通話に出たか/不在だったかを追跡できます。最後に、Claude Code 側のフックやイベント定義を明確にしておくと、他のエージェント/自動化ワークフローとも統合しやすくなります。
プロジェクトの構成
主要なファイルとディレクトリ:
- .dockerignore: file
- .github: dir
- .gitignore: file
- Dockerfile: file
- README.md: file
その他のファイル(例):TypeScriptソース、設定ファイル、簡易のクライアントUIやサンプル構成などが含まれている想定です。リポジトリ全体でファイル数は12、実行やビルドのための最低限の設定が揃っています。Dockerfile があるため、ローカルでの検証はコンテナ化して行うことができます。
…他 7 ファイル
まとめ
Claude Code とユーザーのリアルタイム音声通知を簡潔に実現するTypeScript製の軽量プロジェクトです(50字程度)。
リポジトリ情報:
- 名前: cc-caller
- 説明: 説明なし
- スター数: 5
- 言語: TypeScript
- URL: https://github.com/zhu1090093659/cc-caller
- オーナー: zhu1090093659
- アバター: https://avatars.githubusercontent.com/u/46916148?v=4
READMEの抜粋:
📞 cc-caller
让 Claude Code 在完成任务或遇到困难时,能够”打电话”给你!
🎯 功能特性
- 🔔 来电通知: Claude Code 可以发起”电话”呼叫
- 🎤 语音交互: 使用 TTS 播放 Claude 的消息,STT 识别你的回复
- ⚡ 紧急程度: 支持 4 级紧急程度(低/正常/高/紧急)
- 💬 双向通信: 实时语音或文字回复
- 🌐 Web 应用: 在浏览器中接收来电
🏗️ 系统架构
┌──────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ Claude Code │────▶│ MCP Server │────▶│ 后端服务 │
│ │ │ (caller-mcp) │ │ (WebSocket) │
└──────────────┘ └──────────────────┘ ...