diff --git a/README.md b/README.md index 23a05c0..9b060de 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,49 @@ Built with WPF + [xterm.js](https://xtermjs.org/) + Windows ConPTY for full pseu --- +## Why CodeShellManager + +Most multi-agent tools are task orchestrators: a chat UI around one vendor's agent, a handful of parallel tasks, a diff to review. CodeShellManager is built for a different job. It hosts **many long-lived agent sessions as real terminals**, and helps you keep track of all of them. + +- **The real CLI, nothing lost.** Each session is the actual `claude` (or `codex`, `copilot`, `gemini`, `pwsh`…) running in a real pseudo-terminal, through your own PowerShell profile. Hooks, plugins, slash commands, status lines and profile functions all work exactly as in Windows Terminal. Chat-style wrappers lose some of these, especially in WSL. +- **Search everything every session ever printed.** All output is indexed to SQLite FTS5. Find the session that printed that error, URL or decision, even after it was closed, and relaunch it from the result. +- **Built for fleets, not a handful.** Up to 18 panes on screen, groups with bulk actions, sleep/wake to park projects without killing them, restart-all to pick up a new CLI build, and staggered Claude launches that avoid config corruption. Tested at 50+ sessions. +- **Know who needs you.** Sessions waiting for input or tool approval get a green/orange dot and a tray notification. +- **Run commands beside the agent.** F5 runs tests or a build in a separate background process with output in a drawer, then pastes the result to the agent in one click. The agent's terminal is never touched. +- **A native Windows app.** WPF + ConPTY. No Electron, Python, daemon, tmux or WSL required. Local, SSH and WSL sessions side by side. Install with winget or Chocolatey; no account; MIT. + +## How it compares + +A condensed view, as of October 2026. Tools without a Windows build (Conductor, Superset, cmux) are left out. See [docs/comparison.md](docs/comparison.md) for the full matrix, more tools and sources. + +✅ has it · ◐ partial · ❌ doesn't · ? unconfirmed + +| | **CodeShellManager** | Claude Code Desktop | Nimbalyst | Orca | Herdr | Claude Squad | +|---|---|---|---|---|---|---| +| Windows | ✅ native | ✅ native | ✅ native | ✅ native | ◐ beta | ◐ WSL only | +| Real terminal per session | ✅ | ❌ chat UI | ❌ chat UI | ◐ | ✅ | ✅ | +| Any CLI agent or shell | ✅ | ❌ Claude only | ◐ 2–4 agents | ◐ 4 agents | ✅ | ◐ | +| Full-text search across all session output | ✅ | ❌ | ◐ task search | ❌ | ❌ | ❌ | +| Sessions visible at once | ✅ 18 | ◐ 2 | ? | ? | ✅ panes | ◐ | +| Sleep a session, keep its slot | ✅ | ◐ archive | ❌ | ❌ | ❌ | ◐ pause | +| Waiting / approval detection | ✅ | ◐ on finish | ✅ | ? | ✅ | ◐ | +| SSH + WSL sessions | ✅ | ✅ | ◐ | ◐ SSH | ◐ SSH | ❌ | +| Per-session run commands | ✅ | ◐ preview servers | ❌ | ❌ | ❌ | ❌ | +| Git worktrees | ◐ manual | ✅ | ✅ | ✅ | ❌ | ✅ | +| Diff / review view | ❌ [#148](https://github.com/umage-ai/CodeShellManager/issues/148) | ✅ | ✅ | ✅ | ❌ | ✅ | +| Agents keep running with the window closed | ❌ [#149](https://github.com/umage-ai/CodeShellManager/issues/149) | ✅ cloud | ? | ? | ✅ | ✅ | +| Licence | MIT | Proprietary | MIT | MIT | AGPL-3.0 | AGPL-3.0 | + +Spotted something out of date? Competitors move fast. [Open an issue](https://github.com/umage-ai/CodeShellManager/issues) and we'll correct it. + ## Features - **Multi-terminal grid** — run up to 18 sessions simultaneously in configurable layouts (1, 2, 3, 4, 6 columns; 2×2, 6×2, 6×3 grids); the active pane is highlighted with a 2px accent ring so it's easy to spot - **Sidebar groups** — organise sessions into named groups with their own color and filter strip; bulk actions (sleep / close / re-group) operate on the active group - **Sleep & wake** — 💤 button parks a session: PTY torn down, but the session (and its notes) stays in the sidebar so you can wake it later from where you left off. Great when you have many long-running projects but only need a few live at once. +- **Restart sessions** — ↻ restarts a session in place (Claude conversations resume), or restart a whole group or every session to pick up a new CLI build; bulk restarts show progress and can be stopped +- **Git worktrees** — start a new session in a fresh worktree from any session's branch; sibling worktrees can be grouped together in the sidebar +- **Edit session** — change a session's folder, command, SSH/WSL target or appearance after it was created - **Recently closed** — Ctrl+Shift+T reopens the last-closed session (browser convention); the New Session dialog also lists the last 10 closed sessions for one-click revival - **Per-session run commands** — define a list of labelled commands per session (Test, Build, Watch…); ▶ runs the default, F5 / Shift+F5 run/stop it, output streams into a side drawer without touching the parent terminal. Optional post-run URL opens in your browser on exit code 0. - **Full-text search** — all terminal output indexed to SQLite FTS5; instant search across every session, ever @@ -37,7 +75,7 @@ Built with WPF + [xterm.js](https://xtermjs.org/) + Windows ConPTY for full pseu - **Session history** — clicking a search result from a closed session offers to relaunch it - **Configurable launch commands** — customise the commands available in the New Session dialog - **Claude badge** — sessions running `claude` commands get a visual indicator -- **Tray icon** — minimises to system tray; balloon notifications for alerts +- **Tray icon** — balloon notifications for alerts; double-click to bring the window forward - **Settings window** — all options configurable; persisted as JSON ## Requirements diff --git a/docs/comparison.md b/docs/comparison.md new file mode 100644 index 0000000..aeb3a06 --- /dev/null +++ b/docs/comparison.md @@ -0,0 +1,81 @@ +# How CodeShellManager compares + +*Last reviewed: October 2026.* This space moves fast. If something here is out of date, please [open an issue](https://github.com/umage-ai/CodeShellManager/issues) and we'll correct it. + +This compares CodeShellManager (CSM) with tools for running several AI coding agents at once **on Windows**. Competitor details come from each tool's own documentation and from published reviews (linked under [Sources](#sources)), not from hands-on benchmarking. A **?** means we couldn't confirm it either way. + +Popular tools without a Windows build (Conductor, Superset, cmux) are left out. + +## The tools + +| Tool | What it is | Windows | Licence | +|---|---|---|---| +| **CodeShellManager** | WPF terminal host for many real CLI agent sessions, with search, groups and sleep | Native | MIT | +| **Claude Code Desktop** | Anthropic's official app: chat-style UI for Claude, with panes, diffs and previews | Native | Proprietary | +| **Nimbalyst** | Desktop workspace with Claude Code and Codex sessions on a kanban board, plus editors | Native | MIT | +| **Orca** | Sends one prompt to several agents, each in its own git worktree, and compares results | Native | MIT | +| **Herdr** | Rust terminal multiplexer that tracks whether each agent is working, blocked or idle | Beta | AGPL-3.0 | +| **Claude Squad** | Go terminal UI on top of tmux and git worktrees | WSL only | AGPL-3.0 | +| **GridVibe** | Python grid of agent, SSH and WSL panes, with offline voice input | Native (needs Python) | ? | + +## Feature matrix + +✅ has it · ◐ partial · ❌ doesn't · ? unconfirmed + +| | **CSM** | Claude Code Desktop | Nimbalyst | Orca | Herdr | Claude Squad | GridVibe | +|---|---|---|---|---|---|---|---| +| **Agents and terminals** | | | | | | | | +| Real terminal per session (unmodified CLI) | ✅ | ❌ chat UI | ❌ chat UI | ◐ | ✅ | ✅ | ✅ | +| Any CLI agent or shell | ✅ | ❌ Claude only | ◐ 2–4 agents | ◐ 4 agents | ✅ | ◐ | ◐ 6 agents | +| Sessions visible at once | ✅ 18 | ◐ 2 (split) | ? | ? | ✅ tiling panes | ◐ | ◐ 8 | +| **Search and memory** | | | | | | | | +| Full-text search across all output, incl. closed sessions | ✅ | ❌ | ◐ task search | ❌ | ❌ | ❌ | ❌ | +| Notes per project | ✅ searchable | ❌ | ✅ docs | ❌ | ❌ | ❌ | ❌ | +| **Attention and scale** | | | | | | | | +| Waiting / needs-approval detection | ✅ dots + tray | ◐ on finish only | ✅ iOS push | ? | ✅ | ◐ | ✅ | +| Sleep a session (free resources, keep its slot) | ✅ | ◐ archive | ❌ | ❌ | ❌ | ◐ pause | ❌ | +| Restore and resume Claude on startup | ✅ auto `--resume` | ✅ | ✅ | ? | ✅ detach/attach | ◐ | ✅ | +| **Remote and environments** | | | | | | | | +| SSH sessions | ✅ | ✅ | ? | ✅ | ✅ | ❌ | ✅ | +| WSL sessions | ✅ with git status | ◐ fewer features | ◐ path translation | ? | ❌ | ◐ runs inside WSL | ✅ | +| Agents keep running with the window closed | ❌ ([#149](https://github.com/umage-ai/CodeShellManager/issues/149)) | ✅ cloud | ? | ? | ✅ | ✅ tmux | ❌ | +| Mobile or remote control | ❌ | ✅ Dispatch | ✅ iOS | ✅ | ✅ SSH attach | ❌ | ❌ | +| **Review and workflow** | | | | | | | | +| Git worktree creation | ◐ manual | ✅ per session | ✅ | ✅ core feature | ❌ | ✅ | ? | +| Diff / review view | ❌ ([#148](https://github.com/umage-ai/CodeShellManager/issues/148)) | ✅ | ✅ | ✅ | ❌ | ✅ | ◐ git sidebar | +| Browser / app preview | ❌ post-run URL only | ✅ | ✅ | ? | ❌ | ❌ | ✅ | +| Per-session run commands (F5, background output) | ✅ | ◐ preview servers | ❌ | ❌ | ❌ | ❌ | ❌ | +| **Install** | | | | | | | | +| How you install it | winget · choco · MSI | installer | installer | installer | PowerShell script | WSL + tmux + gh | Python 3.10+ | + +## Where CodeShellManager stands out + +1. **It runs the real CLI, so you lose nothing.** Chat-style apps wrap the agent in their own UI, and features fall off at the edges. For example, Claude Code Desktop's docs note that plugins aren't available in WSL sessions and that its terminal pane is local-only. CSM runs `claude` exactly as Windows Terminal would, through your PowerShell 7 profile, so hooks, plugins, the status line and profile functions all work. It's agent-neutral too: Copilot CLI, Codex, Gemini, aider or a plain `pwsh` run the same way. + +2. **Full-text search over everything any session printed.** All terminal output is indexed to SQLite FTS5. With many agents running, the question that matters is "which session printed that error, URL or decision?". CSM answers it even for closed sessions, and can relaunch a closed session from the search result. + +3. **Built for large fleets.** Up to 18 panes on screen, groups with bulk actions, sleep and wake, restart-all, and staggered Claude launches that avoid corrupting Claude's shared config file. CSM is tuned and measured at 50+ sessions, and sleep keeps dozens of projects one click away without dozens of live processes. + +4. **A native Windows app.** Built on ConPTY, Windows' own pseudo-terminal API, with no Electron, Python, daemon, tmux or WSL prerequisite. Installs from winget or Chocolatey and needs no account. + +5. **Run commands that don't touch the agent.** F5 runs tests or a build in a separate background process with its output in a drawer, then pastes that output to the agent in one click. + +6. **Smaller touches.** Programs in a session can push their colour, git branch and title to CSM via [OSC 9001](shell-integration.md), so SSH tools can report state. Each project has a searchable notepad. Ctrl+Shift+T reopens a closed session. Windows Terminal profiles import with their fonts and colour schemes. + +## Where it lags + +- **No diff or review view** yet: [#148](https://github.com/umage-ai/CodeShellManager/issues/148). +- **Closing the window ends the sessions.** Close-to-tray with live status is planned: [#149](https://github.com/umage-ai/CodeShellManager/issues/149). +- **Worktrees are manual.** Orca, Claude Code Desktop and Nimbalyst make one worktree per task the default. +- **No mobile or remote companion.** +- **Windows-only, by design.** + +## Sources + +- [Claude Code Desktop documentation](https://code.claude.com/docs/en/desktop) +- [Nimbalyst](https://nimbalyst.com/) and its [session-manager comparison](https://nimbalyst.com/blog/best-session-managers-for-claude-code-and-codex/) +- [Orca (stablyai/orca)](https://github.com/stablyai/orca) +- [Herdr review (bitdoze)](https://www.bitdoze.com/herdr-agent-multiplexer/) and [guide (Better Stack)](https://betterstack.com/community/guides/ai/herdr-ai-agent/) +- [Claude Squad](https://github.com/smtg-ai/claude-squad) +- [GridVibe](https://gitblind.noratr.app/JSstudent/gridvibe) +- [awesome-agent-orchestrators](https://github.com/andyrewlee/awesome-agent-orchestrators)