51 lines
2.6 KiB
Markdown
51 lines
2.6 KiB
Markdown
# 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 本文を持たせる仕組み。
|