Skip to content

Squad View

AI-assisted development increasingly means running multiple agents at once: one refactoring a module, another writing tests, a third researching an API. The problem is coordination. Terminal tabs blur together, you lose track of which agent is doing what, and there is no shared context linking their work back to your project.

Squad View is Sidespace's multi-agent cockpit. You launch, monitor, and coordinate CLI agents in a single interface. In v1, you are the quarterback. There is no AI orchestration layer. You decide which agent works on what, and Squad View gives you the visibility to keep it all straight.

What's Built

Three-Zone Layout

ZonePositionPurpose
Task sidebarLeft (~220px)Read-only kanban lens, grouped by project. Shows task status and agent assignments.
Focused terminalCenterFull-size xterm.js terminal for the agent you're actively watching.
Thumbnail stripBottomMiniature previews of all running agents. Click to focus. "+" button adds new terminals.

The right panel remains Hoshi's chat. Squad View is the sole terminal surface; Hoshi advises, terminals execute.

Constellation Names

Each terminal gets an auto-assigned constellation name (Orion, Lyra, Vela, and so on). These are not cosmetic. They persist into session logs and the memory bank (memories.agent_name column), so you can trace which agent produced which insight or change when reviewing a session.

Panel States

StateIndicatorMeaning
RunningGreenAgent is actively producing output
IdleAmberNo output for 30 seconds
EndedRedProcess exited. Ghost state preserves scrollback for review.

CLI Auto-Detection and Launch

When you add a terminal, Squad View detects installed CLI agents (Claude Code, Codex, etc.) using the detect_available_clis Tauri command. A popover lets you pick from available options.

The CLI registry (src/lib/cli-registry.ts) maps each agent type to its launch command via getLaunchCommand(). The terminal auto-launches the chosen CLI immediately. The "blank" type gives you an empty shell for manual control.

Environment Variable Injection

Every Squad terminal gets two variables injected automatically:

VariableValuePurpose
SIDESPACE_AGENT_NAMEConstellation name (e.g., Orion)Agent identifies itself in logs and memory writes
SIDESPACE_SQUAD_SESSIONtrueSignals a coordinated multi-agent session to tools and scripts

This is how agent identity flows through the system without requiring the CLI tools themselves to know about Sidespace.

State Management

All panel state lives client-side in sessionStorage via a Zustand store (useSquadStore). No new database tables. Terminal sessions are ephemeral; the durable artifacts (memories, commits, task updates) flow through the existing persistence layer.

Keyboard Shortcuts

ShortcutAction
Cmd+Shift+SToggle Squad View
Ctrl+NAdd a new terminal
Ctrl+1 through Ctrl+9Focus terminal by position
Ctrl+WClose focused terminal panel

MCP Tools for Agent Control

Agents running in Squad terminals can interact with Sidespace programmatically through MCP tools:

ToolWhat It Does
sidespace_navigate_previewOpens a file or URL in the Sidespace preview panel
sidespace_add_squad_terminalAdds a new terminal to the Squad View
sidespace_open_squad_viewSwitches the UI to Squad View

These tools replace the earlier deep-link approach (which would spawn a new app instance instead of routing to the existing one). The SIDESPACE_SQUAD_SESSION environment variable signals to agents that MCP tools are available for app control.

Where It's Heading

Near-term direction is giving Hoshi awareness of what is happening in Squad terminals (which agents are running, what they are working on) so it can suggest coordination moves. Full AI orchestration (Hoshi dispatching work autonomously) is on the roadmap but deliberately deferred until the manual workflow is solid.