Qoder Voice は Qoder IDE に組み込まれたリアルタイム音声パートナーです。音声チャットのように思いついたことをそのまま話しかけ、一緒にアイデアを広げ、進め方を整理し、会話だけでタスクを前に進めたり、ソフトウェアや PC を操作したりできます。対話と判断は音声レイヤーが担い、実際の調査・編集・実行は同じタスクのタイムライン上でバックエンド Agent が行うため、すべての過程を聞ける・見られる・後から辿れる状態が保たれます。
Qoder Voice は Quest ウィンドウで動作します。エディターウィンドウの Chat パネルではリアルタイム音声を利用できません。
オーブは IDE に埋め込まれたパーツではなく独立した透明ウィンドウです。そのためあらゆるアプリの上に浮かび、通常のデスクトップ空間すべてに追従します。
「これ」「このページ」「私の画面」と話しかけたとき、Qoder IDE は最前面アプリのウィンドウの画像とテキストをコンテキストとして読み取れます。初回に必要になった時点で、macOS がアクセシビリティと画面収録の権限を求めます。
この設定は既定でオンで、音声設定からいつでもオフにできます。オフにすると音声は画面へのアクセスを明確に断り、スクリーンショットもセッションに書き込まれません(プロンプト任せではなく、実装側のハードな制御です)。macOS 以外のプラットフォームでは常にオフとして扱われます。通常の(音声ではない)タスクはこの設定の影響を受けません。
Quest ウィンドウの「設定 → 音声 → リアルタイム音声」にあります。
開始と終了
- 3 つの入口:Quest 新規作成ページの音声ボタン、音声タスク下部の「音声を開始」、そしてカスタマイズ可能なショートカット(アプリが非フォーカスの状態でも起動できます)。
- 話し始めた時点でタスクになる:開始と同時に音声タスクが自動作成され、新規作成ページの「Start in」で選択したワークスペース(ローカル / SSH / WSL / Dev Container)をそのまま引き継ぎます。そのためタスクは対応するワークスペースのグループに入り、明示的に「ワークスペースなし」を選んだ場合のみ Chats に入ります。
- 接続中の発話も失われない:接続中も入力欄は見た目そのままで、一時的に編集不可になります。この間に話した内容はバッファに保持され、接続が完了した時点で順番どおりに送信されます。
- 3 つの終了方法:フローティングオーブのコントロールバーの終了ボタン、タスク下部の停止、または「通話を終了して」と話しかける方法。音声を終了しても、すでに動いているバックエンドの作業は止まりません。音声とタスクが同時に動いている場合、1 回目のクリックでは音声だけが止まり、2 回目でタスクが止まります。
フローティングオーブ
オーブは IDE に埋め込まれたパーツではなく独立した透明ウィンドウです。そのためあらゆるアプリの上に浮かび、通常のデスクトップ空間すべてに追従します。
- 状態がひと目で分かる:接続中、リッスン中、あなたが話している、AI が話している、思考中、無音、エラー、終了中の 8 状態。声紋の動きは実際のマイク入力の波形に基づき、AI の発話状態は実際の再生キューに厳密に追従します。
- 3 つの外観:クラシック声紋(デフォルト)、呼吸するオーブ、カプセル。右クリックで切り替えられ、選択はマシンごとに記憶されます。
- 吸着と自由配置:既定では現在の音声タスクの入力欄の上に吸着します。4px 以上ドラッグすると自由配置になり、タスク・ウィンドウ・アプリを切り替えて戻ってきてもその位置を保持します。該当タスクを開き直したときやオーブをクリックしたときに再び吸着します。
- ホバー時のコントロールバー:再生のミュート、マイクのオフ、音声の終了の 3 つ。ミュートは再生を無音にするだけで、マイクは録音を続けます。マイクをオフにすることは「話し終わった」という合図で、末尾の無音を補ってから録音リソースを解放します。
- クリックで現場に戻る:オーブをクリックすると即座に Quest が前面に出て、そのオーブが属する音声タスクが開きます。録音状態やミュート状態は変わりません。
- ミュート中は字幕で読む:ミュート中はオーブの上に現在の AI の回答がリアルタイム字幕として表示されます(最大 3 行)。右上のラベルには「接続中 / 処理中 / 深く思考中」が表示されます。
チャットのように進める
- 話すことがそのままタスクになる:雑談や、いまの文脈だけで答えられることはそのまま音声で返します。コードを読む、情報を調べる、コマンドを実行する、Quest タスクを操作するといった場合は、音声レイヤーが完結した 1 件のリクエストをバックエンド Agent に引き渡します。独立して永続的に走るバックグラウンド作業を明示的に依頼したときにのみ、別の Quest タスクが作成されます。
- 文字起こしと実行を階層表示:あなたと AI の文字起こしはリアルタイムで会話フローに流れ、見た目は通常のメッセージと同じです。ツール呼び出し・思考・実行レポートは既定で「Worked」エリアに折りたたまれ、展開すれば詳細を確認できます。
- いつでも割り込める:あなたが話し始めた瞬間に再生は停止します。通常の追加依頼は現在の作業の後ろに並び、「順番待ちにした」ことを明確に伝えます。方針をはっきり変えた場合や「今すぐ止めて」と明示した場合にのみ、現在のターンを中断してから新しい目標を実行します。順番待ちのまま未着手の作業は、新しい依頼によってキャンセルできます。
- 意味のあることだけ話す:タスクの結果は既定で 1〜2 文の口語。調査・原因究明・比較を明示的に依頼した場合は、結論と重要な発見を含む複数文の要約を返します。バックグラウンドに実質的な進展がないときは沈黙を保ち、待ち時間を読み上げることはありません。
- 承認が必要なとき:下部に確認カードが表示され、音声は「承認するか却下してください」と中立的に一度だけ伝えます。ツールの機微な詳細は読み上げません。
- テキスト入力も使える:音声セッション中、テキストだけの入力は音声セッションに送られます。添付ファイルやスラッシュコマンドを含む入力は、通常の追加質問として送信されます。
画面コンテキスト(Appshot、macOS のみ)
「これ」「このページ」「私の画面」と話しかけたとき、Qoder IDE は最前面アプリのウィンドウの画像とテキストをコンテキストとして読み取れます。初回に必要になった時点で、macOS がアクセシビリティと画面収録の権限を求めます。
この設定は既定でオンで、音声設定からいつでもオフにできます。オフにすると音声は画面へのアクセスを明確に断り、スクリーンショットもセッションに書き込まれません(プロンプト任せではなく、実装側のハードな制御です)。macOS 以外のプラットフォームでは常にオフとして扱われます。通常の(音声ではない)タスクはこの設定の影響を受けません。
設定項目
Quest ウィンドウの「設定 → 音声 → リアルタイム音声」にあります。
- ショートカット:リアルタイム音声を起動するキーを編集します。入口が利用できない状態では自動的に解放され、他アプリのキーを占有し続けません。
- 音色:Anna / Lily。実行中の接続の途中では切り替わらず、次回の接続から反映されます。
- 話す速度:低速 / 標準 / 高速。変更は即時反映され、話すテンポだけが変わり、内容や言語は変わりません。
- 声紋認識(既定でオフ):約 10 秒の 16 kHz モノラル音声を録音し、騒がしい環境や複数人の場面であなたの声を優先して認識します。有効にする前に保存目的への明示的な同意が必要です。オフにしても利用を止めるだけで、保存済みの声紋は削除されません。いつでも録り直して上書き、または削除できます。
- Appshot:前節を参照してください。
履歴と復元
- 音声の文字起こしと実行履歴はどちらも永続化され、タスクを開き直すとそのまま復元されます。前の接続で届かなかった完了通知が読み上げ直されることはありません。
- タスクを復元すると新しい音声接続が確立されますが、音声履歴は同じものを引き継ぎます。
- 音声タスクから Fork したタスクは通常の Agent Quest であり、音声セッションや音声固有の機能は引き継ぎません。
注意事項
- 対象ウィンドウ:リアルタイム音声は Quest ウィンドウでのみ利用でき、関連する設定も Quest ウィンドウにのみ表示されます。
- 同時接続は 1 本のみ:アプリ全体で同時に許可されるリアルタイム音声接続は 1 本だけです。新しい接続が古い接続を置き換え、古いウィンドウは「接続が置き換えられた」として正常に終了します。
- 起動失敗の通知は一度だけ:マイクの拒否、デバイス未検出、他アプリによる占有、非対応環境、残量不足のいずれも、対応するメッセージを一度だけ表示して元のページに戻り、中途半端な音声状態を残しません。
- 自動再接続はしない:切断やタイムアウト後に再接続待ちの状態は保持しません。タスク下部からもう一度音声を開始してください。
- 常に全二重:エコーキャンセルはモデル自身の発話だけを除去し、再生中もマイクは閉じないため、いつでも割り込めます。
- Linux:ネイティブ Wayland セッションではグローバルなポインター取得やプログラムからのウィンドウ移動に対応しておらず、オーブの操作機能は制限されます。