2.6 KiB
2.6 KiB
TUI: 空 Pod で起動したときの Greeting カード
背景
新しい Pod を作って TUI で起動した直後、ユーザーはほぼ空の画面を見ることになる。Pod がどういう設定で動いているか(cwd、scope、利用可能なツール、model)、何を打てばよいか(入力フォーカスはどこか、最初のメッセージを送ればよいだけなのか)が画面から読み取れない。
最初のターンが始まる前に、Pod の自己紹介と使い方ヒントを1枚のカードとして見せることで、空画面の困惑と Pod 設定の不透明さを同時に解消したい。
要件
表示タイミング
- セッションが空(まだ turn が1つも無い)の状態で TUI を開いた直後に表示する。
- ユーザーが最初のメッセージを送信した時点で消えるか、履歴の頭に flatten して残るかは設計時に判断。
カードに載せる情報
最低限:
- Pod 名(manifest の
pod.name) - cwd(絶対パス)
- model / provider
- scope の要約(readable / writable パス。既に
Scope::summary()が存在する) - 登録ツール一覧(ツール名のみ)
任意で:
- システムプロンプトの冒頭数行、または AGENTS.md が取り込まれているかどうかの表示
- 基本キーバインドのヒント(終了・通知ペインなど、別チケットで足される機能も想定)
再開時の扱い
- 既存セッション(turn がある状態)を再開したときは表示しない。履歴冒頭に残すかどうかは設計時に判断(残すなら flatten 済みカードとして)。
設計で決めること
- flatten するか、消すか: 初回メッセージ送信で消える一時カード vs 履歴の一部として残るカード
- カード内のレイアウト: 単一 widget か、ブロック構成か
- AGENTS.md 取り込み済みかどうかの可視化を入れるか(AGENTS.md 取り込みチケット完了後に追加検討でも可)
完了条件
test_pod.local.tomlのような空セッション Pod を TUI で開くと、Pod 名・cwd・scope・ツール一覧がカード状に表示される。- ユーザーが最初のメッセージを送った後、カードは規定の挙動(消える or 残る)に従う。
- 既存セッションを再開したときは Greeting が出ない。
範囲外
- テーマ・配色のカスタマイズ。
- Pod ごとにカスタムの Greeting 本文を持たせる仕組み。