plans/input-history.md: - Implementation plan for shell-style up/down arrow message history in SimpleInput, deriving history from session log conversation data - Covers prop threading, history derivation, navigation state, keybinding details, modal parity, and test cases plans/model-selection.md: - Three-phase plan for model visibility and control: display current model, model picker at spawn, mid-session model switching via Zellij plans/PLAN-tool-result-display.md: - Updates to tool result display plan (pre-existing changes) plans/subagent-visibility.md: - Updates to subagent visibility plan (pre-existing changes) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
Model Selection & Display
Summary
Add model visibility and control to the AMC dashboard. Users can see which model each agent is running, pick a model when spawning, and switch models mid-session.
Models
| Label | Value sent to Claude Code |
|---|---|
| Opus 4.6 | opus |
| Opus 4.5 | claude-opus-4-5-20251101 |
| Sonnet 4.6 | sonnet |
| Haiku | haiku |
Step 1: Display Current Model
Surface context_usage.model in SessionCard.js.
- Data already extracted by
parsing.py(line 202) from conversation JSONL - Already available via
/api/stateincontext_usage.model - Add model name formatter:
claude-opus-4-5-20251101->Opus 4.5 - Show in SessionCard (near agent badge or context usage area)
- Shows
nulluntil first assistant message
Files: dashboard/components/SessionCard.js
Step 2: Model Picker at Spawn
Add model dropdown to SpawnModal.js. Pass to spawn API, which appends --model <value> to the claude command.
- Extend
/api/spawnto accept optionalmodelparam - Validate against allowed model list
- Prepend
--model {model}to command inAGENT_COMMANDS - Default: no flag (uses Claude Code's default)
Files: dashboard/components/SpawnModal.js, amc_server/mixins/spawn.py
Step 3: Mid-Session Model Switch
Dropdown on SessionCard to change model for running sessions via Zellij.
- Send
/model <value>to the agent's Zellij pane:zellij -s {session} action write-chars "/model {value}" --pane-id {pane} zellij -s {session} action write 10 --pane-id {pane} - New endpoint:
POST /api/session/{id}/modelwith{"model": "opus"} - Only works when agent is idle (waiting for input). If mid-turn, command queues and applies after.
Files: dashboard/components/SessionCard.js, amc_server/mixins/state.py (or new mixin)