セッションのライフサイクル
セッションは Whisperer における作業の中核単位です。クライアントが会議の音声を聞き取り、発話を文字起こしし、LLM の回答を受け取る時間枠を指します。ライフサイクルを理解しておくと、開始/一時停止を正しく使い分けたり、ダッシュボード上のステータスを解釈したり、問題を切り分けたりするのに役立ちます。
この記事を読むべきとき
次のことを理解したい場合は、この記事をお読みください。
- 会議の各フェーズで自分のデータに何が起こるのか;
- 回答が遅れることがあるのはなぜか、また文字起こしがいつ保存されるのか;
- クライアントとサーバー間の接続がどのように機能するのか。
セッションのフェーズ
1. 開始
「開始」ボタン(またはキーボードショートカット)を押すと、クライアントはアクティブモードに入ります。
- クライアントがサーバーへの接続を開き、デバイス識別子とトークンを送信します。
- サーバーがサブスクリプションと残り時間(分)のクォータを検証します。チェックを通過すると、セッション開始を確認し、セッション識別子を返します。
- クライアントが音声キャプチャを有効化し、録音を開始します。
2. 録音(ストリーミング)
音声は約 0.8 秒ごとに短いチャンクで送信されます。各チャンクには話者(ユーザーか相手か)のラベルが付けられます。
サーバーはチャンクをバッファリングし、認識処理へ送ります。文字起こし結果はリアルタイムでクライアントに返され、LiveTranscriptStrip に表示されます。
3. 質問と回答
ユーザーが「質問」(またはキーボードショートカット)を押すと、クライアントは現在の文字起こしコンテキストを含む ask フレームを送信します。
サーバーはシステムプロンプト(ロールプロンプト → ユーザーコンテキスト → ナレッジベースからの RAG)を組み立て、LLM に問い合わせます。回答はストリーミングで届きます。テキストは生成されるそばから表示され、Markdown サポートとページネーション(複数の回答がある場合)を備えた AnswerArea に即座に表示されます。
4. 一時停止
「一時停止」を押すと音声キャプチャは停止しますが、WebSocket 接続は開いたままです。セッションタイマーは一時停止します。「再開」を押すと再開できます。
5. 終了
「停止」を押すか、クライアントを閉じると:
- クライアントが
session.endフレームを送信します。 - サーバーがバッファされた文字起こしと完了した回答のリストをデータベースに書き出します。
- WebSocket が閉じます。
- ウェブダッシュボードでは、そのセッションが完全な文字起こしと分析情報とともに 履歴 セクションに表示されます。
📸 [スクリーンショット: 録音モードの Whisperer パネル — LiveTranscriptStrip と操作ボタンが表示されている]
データの保存
デフォルトでは、文字起こしと LLM の回答はデータベースに保存され、ダッシュボードからアクセスできます。no-logs モード が有効な場合、データはセッション終了後に削除されます — ただし、消費した時間(分)は引き続きカウントされます。
よくあるエラー
| エラー | 原因 | 対処法 |
|---|---|---|
| セッションが開始しない | メールが未確認、または有効なサブスクリプションがない | アカウントのステータスとクォータを確認する |
| 「相手の声が聞こえない」 | 画面収録の権限が付与されていない(macOS)、またはシステム音声のキャプチャが利用できない(Windows) | macOS の権限 / Windows |
| 文字起こしが表示されない | インターネット接続が不安定、または WebSocket の切断 | ネットワークを確認し、セッションを再起動する |
| LLM の回答に時間がかかりすぎる | AI プロバイダーが過負荷状態、または遅いモデルが選択されている | 設定でモデルを切り替える |
ベストプラクティス
- 「停止」ボタンでセッションを明示的に終了する — これによりデータが確実に履歴へ書き込まれます。
- 会議中の長い中断時には 一時停止 する — タイマーが止まり、時間(分)を無駄にしません。
- 文字起こしを保存したくない機密性の高い会議では no-logs を使用する。