ターミナルセッション
実装プランターミナルでの永続的なPTYセッション、エージェント注意検出、回復動作。
ヘルスチェックとロギングを備えた永続的なPTYでコマンドを実行します。必要なときに音声文字起こしが利用可能です。
セッションライフサイクル
ターミナルが開くと、UIコンポーネントはPTYセッションを作成し、バッファリングされたビューを通じて出力をストリームします。コンポーネントは即座に接続ステータスを表示し、キーストロークをPTYに転送し、セッションが失敗した場合は自動的に再試行します。セッションメタデータは、タイムスタンプ、終了コード、作業ディレクトリ、完全な出力ログとともにSQLiteに保存されるため、再起動時に以前のコンテキストを再開できます。
依存関係チェック
コマンドを起動する前に、ターミナルはclaude、cursor、codex、geminiなどのサポートされているCLIツールの存在をチェックします。同じコマンドはデフォルトシェルも報告するため、ユーザーはどの環境が実行されるかを知ることができます。これにより、必要なバイナリを見つけられないセッションへの起動を防ぎます。
エージェント注意検出
ターミナルは2レベルの非アクティブ検出システムを通じてエージェントのアクティビティを監視します。エージェントが出力の生成を停止すると、システムは何が起こったかを確認するように徐々にアラートを出します:
- レベル1(30秒): 「エージェントアイドル - タスクが完了した可能性があります」黄色インジケーター付き
- レベル2(2分): 「エージェントの注意が必要 - ターミナルを確認してください」赤色インジケーターとデスクトップ通知付き
このアプローチにより、エージェントが停止した理由を推測することなく、タスクを完了したかガイダンスが必要かどうかを追跡できます。注意インジケーターは、新しい出力を受信すると自動的にクリアされます。
音声文字起こしと回復
ターミナルモーダル内で、音声文字起こしは音声をキャプチャし、ターミナル入力エリアに貼り付けることができます。録音フックはプロジェクトレベルの文字起こし設定を検索し、録音状態を追跡し、認識されたテキストをアクティブなプランセッションにストリームします。
PTYセッションが切断された場合、ターミナルサーフェスは回復コントロールを表示し、指数バックオフで接続を再試行します。ヘルスチェックはセッション状態を継続的に監視し、接続の問題が検出されたときに自動回復アクションを提供します。