feat: AI Router per session; Settings at the sidebar's foot; shipped tool icons
AI Router is a session's choice, not a workspace's: - an AI Router select beside the model picker in the workspace home and a pane's run form (RouterPicker.tsx; hidden off Claude/Codex or with only Native; last pick remembered in agenthub.session.router) - `router` on POST /api/lanes/:id/start and POST /api/run; Claude gets --settings=<data dir>/router-settings/<name>.json (0600, outranks project and user settings, key never in argv), Codex -p <name> + key via tmux -e - dashboard_runs.router; a resume naming none goes back to it - profile PATCH rewrites the session files, DELETE removes them - gone: POST /api/lanes/:id/router/apply, LaneRouterRow, the Add-workspace router radio, the claude-/codex-home `routers` answers; clearLaneRouters takes the old keys out of each workspace's settings.local.json at start Sidebar: Settings pinned to the foot, the collapse toggle beside it (stacked on the rail) instead of in the brand's corner. Icons: shipped SVG marks for claude, codex, openclaw and hermes (a black/white pair swapped by theme) in client/public/ai-tools/, used by AiToolIcon before the server's favicon.
This commit is contained in:
@@ -50,7 +50,7 @@ archived, and give a session — not a project — its own worktree.
|
||||
| 3 | Drop the activity bar's **Sessions** tab (third copy of the same list) | small |
|
||||
| 4 | **Fork** a Claude session into a free pane (`--resume <id> --fork-session`) | small |
|
||||
| 5 | Ctrl/Cmd+click a live session in the sidebar opens it in a second pane | small |
|
||||
| 6 | Worktree per session = child workspace (D4) — **ask first** | large |
|
||||
| 6 | Worktree per session, Claude's way (D4) | large |
|
||||
| 7 | Comment on a diff line → text pasted into the session's prompt | medium, optional |
|
||||
|
||||
### Phase 1 — session ownership
|
||||
|
||||
Reference in New Issue
Block a user