Claude Code

ライブセッションビュー

タイムラインパネルが実際に表示するもの — メッセージ、ツール呼び出し、タスク、プロンプトを CLI のスクロールバックではなくイベントとしてレイアウト。

タブで Claude Code が動作しているとき、purplemux は生のターミナルビューを構造化されたタイムラインに置き換えます。同じセッション、同じ JSONL トランスクリプト — ただし、スキャンしたり、スクロールしたり、リンクできる個別のイベントとしてレイアウトされます。

なぜタイムラインがスクロールバックより優れるのか

Claude CLI はインタラクティブです。ターミナルで 15 分前の動作を見るには、それ以降に起きたすべてをスクロールで通り過ぎ、折り返した行を読み、ツール呼び出しの境目を推測する必要があります。

タイムラインは同じデータを保ちつつ構造を加えます:

  • メッセージ、ツール呼び出し、タスク、プロンプトごとに 1 行
  • ツールの入力と出力をグループ化
  • 永続的なアンカー — バッファが満たされてもイベントは上から流れません
  • 現在のステップは経過時間カウンタとともに常に下部に固定

トップバーのモード切替でいつでもターミナルに戻れます。タイムラインは同じセッションへのビューであり、別のセッションではありません。

表示されるもの

タイムラインの各行は Claude Code JSONL トランスクリプトのエントリに対応します:

タイプ 表示内容
ユーザメッセージ あなたのプロンプトをチャットバブルとして。
アシスタントメッセージ Claude の返信を Markdown でレンダリング。
ツール呼び出し ツール名、主要な引数、レスポンス — readeditbash など。
ツールグループ 連続するツール呼び出しを 1 つのカードに折り畳み。
タスク / プラン チェックボックス進捗付きの複数ステップのプラン。
サブエージェント エージェントの呼び出しを独自の進捗とともにグループ化。
権限プロンプト Claude が提供したのと同じオプションでインターセプトされたプロンプト。
コンパクト中 Claude が自動コンパクトしているときの控えめなインジケータ。

長いアシスタントメッセージはスニペットに折り畳まれ、展開のアフォーダンスが付きます。長いツール出力は「もっと見る」トグルで省略されます。

どうやってライブのまま保つか

タイムラインは /api/timeline の WebSocket で供給されます。サーバはアクティブな JSONL ファイルに対して fs.watch を実行し、追加されたエントリをパースしてブラウザにプッシュします。ポーリングも完全な再取得もありません — 初期ペイロードで既存のエントリを送り、それ以降はインクリメンタルです。

Claude が busy の間、以下も表示されます:

  • 現在のステップのライブ経過時間付きスピナー
  • 現在のツール呼び出し (例「Reading src/lib/auth.ts」)
  • 最新のアシスタントテキストの短いスニペット

これらは JSONL ウォッチャーのメタデータパスから来ており、セッション状態を変えずに更新されます。

スクロール、アンカー、履歴

タイムラインは、すでに最下部にいるときは自動スクロールし、何かを読むためにスクロールアップしているときはその場所に留まります。最新エントリより画面 1 つ以上上にいるときは、フローティングの 最下部にスクロール ボタンが表示されます。

長いセッションでは、上にスクロールするにつれ古いエントリがオンデマンドで読み込まれます。Claude セッション ID は再開をまたいで保持されるので、昨日のセッションを再開しても中断したところから始まります。

入力欄にジャンプ
タイムライン内のどこからでも ⌘I で下部の入力バーにフォーカスできます。Esc は実行中の Claude プロセスに割り込みを送ります。

インラインの権限プロンプト

Claude がツール実行やファイル編集の許可を求めると、プロンプトはモーダルではなくタイムライン内にインラインで表示されます。オプションをクリック、対応する数字キーを押す、あるいは無視してスマートフォンの Web Push から答えることもできます。フル仕様は 権限プロンプト を参照してください。

1 つのタブでのモード

トップバーから、同じセッションで右側のパネルが何を表示するかを切り替えられます:

  • Claude — タイムライン (デフォルト)
  • Terminal — 生の xterm.js ビュー
  • Diff — 作業ディレクトリの Git 変更

モード切替で何かが再起動することはありません。3 つのビューの背後で、セッションは tmux 上で動作し続けます。

ショートカット: ⌘⇧C · ⌘⇧T · ⌘⇧F

次のステップ