yoi/tickets/tui-greeting-card.md
2026-04-15 05:21:43 +09:00

2.6 KiB
Raw Blame History

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 本文を持たせる仕組み。