Skip to content

feat: エージェント切替でヘッダのプラン / モデル / 使用状況も切り替わるようにする - #130

Merged
takecchi merged 1 commit into
mainfrom
codiva/agent-plan-model-usage
Aug 21, 2026
Merged

feat: エージェント切替でヘッダのプラン / モデル / 使用状況も切り替わるようにする#130
takecchi merged 1 commit into
mainfrom
codiva/agent-plan-model-usage

Conversation

@takecchi

Copy link
Copy Markdown
Owner

背景

/agent で新規セッションの既定エージェントを切り替えても、一覧画面のヘッダ(バナー)は

  • プラン: claude.ai のプラン名(プラン: Claude Team)を出しっぱなし
  • モデル: 起動時の config.model を prop で配っていたため、切替でモデル指定が CLI 既定へ戻っても前の値が居座る
  • 使用状況: 「既定エージェント or archived でないセッションのどれかが usage を報告する」判定だったため、Claude セッションが残っている間はゲージも残る

という状態で、エージェント名だけが変わって残りが前の provider のままでした。ヘッダは「次に動くエージェント」の説明なので、項目ごとに読み方が食い違います。

変更

  • showsAccountUsageshowsAccountInfocore/agent-capabilities.ts)。判定を既定エージェントだけに狭め、稼働中セッションは見ない。プラン名と使用状況は同じ 1 回の probe(utils/usage-probe.ts)が運ぶので、判定も 1 本にまとめてプラン行とゲージを揃って出し分ける
  • ヘッダのモデル欄と既定エージェントを manager の購読で読む(ui/hooks.tsuseDefaultModel / useDefaultAgent)。SessionManager.setModel / setDefaultAgentstore.notify() するので、切替でモデルが CLI 既定へ戻ったことも即座に出る
  • 起動時の設定値を配っていた App / SessionListmodel prop を削除(既定モデルの出所を manager 1 つにする)
  • 取得側(bootstrap/usage-poller.tsenabled)も同じ純関数を通したままなので、出さないゲージのために 5 分ごとの claude probe は立たない(既定を Claude へ戻せば次の poll から再開)

結果、/agent で Codex / Grok を選ぶと エージェント: Codex / モデル: CLI 既定 になり、プラン行と使用状況セクションは消えます。

トレードオフ

Claude のセッションが走っている最中に既定を切り替えると、その消費(ゲージ)は見えなくなります。「ヘッダは既定エージェントの説明」という一貫性を、消費を覗ける便利さより優先しました(既定を戻せばまた出ます)。

テスト

  • npm run lint / npm run typecheck / npm test(2982 passed・カバレッジ閾値クリア)/ npm run build
  • 追加: tests/app.test.tsx/agent で既定を切り替えるとヘッダのプラン / モデル / 使用状況も入れ替わる(実 CLI を起こさないフェイクアダプタで配線を検証)
  • 追加: src/core/session-manager.spec.tssetModel / setDefaultAgent が購読者へ通知する(同じ値なら通知しない)
  • 更新: src/core/agent-capabilities.spec.tsshowsAccountInfo のテーブル

ドキュメント

docs/ARCHITECTURE.md(縮退の表 + 判定を狭めた理由)/ docs/TASKS.md / CLAUDE.md / .claude/rules/sdk-integration.md / README.md(ユーザー可視の挙動)を更新しました。

手動確認のお願い

非対話セッションのため TUI の体感確認ができていません。/agent での切替時にヘッダの 4 項目(エージェント / プラン / モデル / 使用状況)が揃って入れ替わるか、実端末で見ていただけると助かります。

`/agent` で新規セッションの既定エージェントを切り替えても、ヘッダ(バナー)は
Claude のプラン名・起動時の設定モデル・claude.ai の使用状況ゲージを出し続けていた。
ヘッダは「次に動くエージェント」の説明なので、エージェント名だけが変わって残りが
前の provider のままだと、項目ごとに読み方が食い違う。

- `showsAccountUsage` を `showsAccountInfo` に置き換え、判定を**既定エージェントだけ**に
  狭めた(稼働中セッションは見ない)。プラン名と使用状況は同じ 1 回の probe が運ぶので
  判定も 1 本にまとめ、プラン行とゲージを揃って出し分ける
- ヘッダのモデル欄と既定エージェントを manager の購読で読む(`useDefaultModel` /
  `useDefaultAgent`)。`setModel` / `setDefaultAgent` が `store.notify()` するので、
  切替でモデルが CLI 既定へ戻ったことも即座に反映される
- 起動時の設定値を配っていた `App` / `SessionList` の `model` prop を削除(唯一の出所を
  manager にする)
- 表示と取得は同じ純関数を通したままなので、出さないゲージのために 5 分ごとの
  `claude` probe は立たない(既定を Claude へ戻せば再開する)
@takecchi
takecchi merged commit 06bc90a into main Aug 21, 2026
1 check passed
@takecchi
takecchi deleted the codiva/agent-plan-model-usage branch August 21, 2026 01:00
takecchi added a commit that referenced this pull request Aug 21, 2026
## 概要

README などの説明が「Claude Code 専用アプリ」に読める状態だったので、**Claude Code 以外(Codex /
Grok)でも使える**ことを明示しました。実装は既に 3 エージェント対応済み(#128 / #130)で、本 PR
はドキュメント・パッケージメタのみの変更です。

## 変更内容

### README.md

- **タグライン / 紹介文** — 「Claude Code セッションを並列実行」→「コーディングエージェント(Claude Code /
Codex / Grok)のセッションを並列実行」。
- **冒頭に対応エージェントの表を追加** — 「Claude Code 専用ではありません」と明言し、それぞれが起動する
CLI(`claude` / `codex` / `grok`)を並べた。
- **特徴の 2 番目に「エージェントを選べる」を繰り上げ**(従来は下の方に埋もれていた)。Claude 固有の項目(プラン /
使用状況・学習データ利用の警告)には「Claude のとき」と注記。
- **機能差の比較表を追加** — 許可ダイアログ・コスト表示・使用状況ゲージ・ログ復元の 4 点だけが違い、worktree 分離 /
並列実行 / 中断 / マージ / PR 自動化 / 通知 / `/model` はどのエージェントでも同じ、と先に書いた(表の値は
`CLAUDE_CAPABILITIES` / `CODEX_CAPABILITIES` / `GROK_CAPABILITIES` と一致)。
- **見出しを改題** — 「Codex / Grok で動かす」→「エージェントを選ぶ・切り替える」(Claude
も含めた選択の話なので)。参照している 2 箇所のリンク / 文言も追従。
- ログイン手順に `claude auth login` を追記、Claude 前提の言い回し(`gh`
レート制限・トランスクリプトの説明)を中立化。

### その他

- `package.json` — `description` を "parallel coding-agent sessions
(Claude Code / Codex / Grok)" に変更(npm ページの 1 行説明)。`keywords` に `codex` /
`grok` / `coding-agent` を追加。
- `CLAUDE.md` / `docs/PRD.md` — 概要 1 行を同じ方針に更新。

## テスト計画

- [x] 変更はドキュメントと `package.json` のメタ情報のみ(コード・テストへの影響なし)
- [ ] CI(lint / typecheck / test / build)がグリーン
- [ ] README を GitHub でプレビューし、追加した 2
つの表と見出しアンカー(`#エージェントを選ぶ切り替えるagent`)が正しく解決されることを確認
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant