概要
現在、入力エリアにおけるコンテキスト追加の手段が分散している。
| 機能 |
現在のトリガー |
UI 位置 |
| ファイル添付 |
📎 クリップボタン / # キー |
contextBar 左上 |
| サブエージェント |
@ キー |
textarea 上にポップアップ |
| シェルモード |
テキスト先頭に ! |
textarea 内にインジケーター表示 |
これらをクリップボタン(📎)の統合メニューから一箇所で選択できるようにし、発見しやすさと操作の統一感を向上させる。
要件
1. 統合コンテキストメニュー
クリップボタンのドロップダウンを拡張し、以下のセクションを持つ統合メニューにする:
- ファイル — 現在のファイルピッカーと同等(複数選択可)
- エージェント — 現在の
@ ポップアップと同等(1つまで選択可)
- シェルモード — トグルスイッチで ON/OFF
2. シェルモードインジケーターの移動
現在 textarea 内に表示されているシェルモードインジケーター(🐚 アイコン+ラベル)を、エージェントチップやファイルチップと同じ行(contextBar の左側)に移動する。選択済みエージェントチップと同じ見た目のチップとして表示し、×ボタンで解除できるようにする。
3. シェルモードの state 化
現在は text.startsWith(") で判定しているが、独立した state(isShellMode)に変更する。統合メニューのトグルや contextBar のチップから ON/OFF を制御できるようにする。
4. # / @ / ! ショートカットの維持
テキスト入力中の #(ファイル検索)、@(エージェント選択)、!(シェルモード)のテキストトリガーはパワーユーザー向けショートカットとして引き続き動作させる。統合メニューは「発見しやすい UI」としての位置づけ。
排他 / 併用の関係
| 組み合わせ |
関係 |
理由 |
| ファイル + ファイル |
✅ 併用可 |
複数ファイルを同時添付可能 |
| ファイル + エージェント |
✅ 併用可 |
SDK の parts に file と agent を同時送信可 |
| エージェント + エージェント |
❌ 排他 |
単一選択(selectedAgent は1つ) |
| シェルモード + ファイル |
❌ 排他 |
session.shell() API にファイルパラメータがない |
| シェルモード + エージェント |
❌ 排他 |
session.shell() は agent: "default" 固定 |
→ シェルモード ON 時はファイル・エージェントの選択を disabled にする(または選択済みをクリアする)。
影響範囲
FileAttachmentBar — ドロップダウンを統合メニューに拡張
InputArea — シェルモード state 化、handleClipClick でエージェント一覧も取得、シェルインジケーターを contextBar に移動
InputArea.module.css — シェルチップのスタイル追加、shellIndicator を textarea 内から contextBar 内へ移動
- 各種テスト — シェルモードの判定方法変更に伴う修正
概要
現在、入力エリアにおけるコンテキスト追加の手段が分散している。
#キー@キー!これらをクリップボタン(📎)の統合メニューから一箇所で選択できるようにし、発見しやすさと操作の統一感を向上させる。
要件
1. 統合コンテキストメニュー
クリップボタンのドロップダウンを拡張し、以下のセクションを持つ統合メニューにする:
@ポップアップと同等(1つまで選択可)2. シェルモードインジケーターの移動
現在
textarea内に表示されているシェルモードインジケーター(🐚 アイコン+ラベル)を、エージェントチップやファイルチップと同じ行(contextBarの左側)に移動する。選択済みエージェントチップと同じ見た目のチップとして表示し、×ボタンで解除できるようにする。3. シェルモードの state 化
現在は
text.startsWith(")で判定しているが、独立した state(isShellMode)に変更する。統合メニューのトグルや contextBar のチップから ON/OFF を制御できるようにする。4.
#/@/!ショートカットの維持テキスト入力中の
#(ファイル検索)、@(エージェント選択)、!(シェルモード)のテキストトリガーはパワーユーザー向けショートカットとして引き続き動作させる。統合メニューは「発見しやすい UI」としての位置づけ。排他 / 併用の関係
partsに file と agent を同時送信可selectedAgentは1つ)session.shell()API にファイルパラメータがないsession.shell()はagent: "default"固定→ シェルモード ON 時はファイル・エージェントの選択を disabled にする(または選択済みをクリアする)。
影響範囲
FileAttachmentBar— ドロップダウンを統合メニューに拡張InputArea— シェルモード state 化、handleClipClickでエージェント一覧も取得、シェルインジケーターを contextBar に移動InputArea.module.css— シェルチップのスタイル追加、shellIndicator を textarea 内から contextBar 内へ移動