From 028839b3cbef494f0190be4d1fef34eac0577137 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Mon, 18 May 2026 12:59:04 +0700 Subject: [PATCH] Add comparison pages under /docs/alternatives Group the docs sidebar by directory so the new pages cluster under a heading, add a hamburger menu for the mobile docs nav, and let the docs main column shrink so wide code blocks and tables scroll inside instead of pushing the page wide. --- packages/website/src/routes/docs.tsx | 140 +++++++++++++++++------- packages/website/src/styles.css | 2 + public-docs/alternatives/conductor.md | 95 ++++++++++++++++ public-docs/alternatives/happy-coder.md | 97 ++++++++++++++++ public-docs/alternatives/openchamber.md | 91 +++++++++++++++ public-docs/alternatives/superset.md | 114 +++++++++++++++++++ 6 files changed, 502 insertions(+), 37 deletions(-) create mode 100644 public-docs/alternatives/conductor.md create mode 100644 public-docs/alternatives/happy-coder.md create mode 100644 public-docs/alternatives/openchamber.md create mode 100644 public-docs/alternatives/superset.md diff --git a/packages/website/src/routes/docs.tsx b/packages/website/src/routes/docs.tsx index 43230b0ed..78e7a5349 100644 --- a/packages/website/src/routes/docs.tsx +++ b/packages/website/src/routes/docs.tsx @@ -1,5 +1,7 @@ import { createFileRoute, Link, Outlet } from "@tanstack/react-router"; -import { getDocs } from "~/docs"; +import { Menu, X } from "lucide-react"; +import { useCallback, useState } from "react"; +import { type Doc, getDocs } from "~/docs"; import "~/styles.css"; export const Route = createFileRoute("/docs")({ @@ -10,57 +12,121 @@ const ACTIVE_OPTIONS_EXACT = { exact: true }; const MOBILE_ACTIVE_PROPS = { className: "text-foreground" }; const DESKTOP_ACTIVE_PROPS = { className: "bg-muted text-foreground" }; +interface NavItem { + name: string; + href: string; +} + +interface NavGroup { + name: string | null; + items: NavItem[]; +} + +const GROUP_LABELS: Record = { + alternatives: "Alternatives", +}; + +function groupKey(doc: Doc): string | null { + const idx = doc.slug.indexOf("/"); + return idx === -1 ? null : doc.slug.slice(0, idx); +} + +function buildNavigation(): NavGroup[] { + const groups = new Map(); + for (const doc of getDocs()) { + const key = groupKey(doc); + const items = groups.get(key) ?? []; + items.push({ name: doc.frontmatter.nav, href: doc.href }); + groups.set(key, items); + } + const ordered: NavGroup[] = []; + if (groups.has(null)) ordered.push({ name: null, items: groups.get(null)! }); + for (const [key, items] of groups) { + if (key === null) continue; + ordered.push({ name: GROUP_LABELS[key] ?? key, items }); + } + return ordered; +} + function DocsLayout() { - const navigation = getDocs().map((doc) => ({ - name: doc.frontmatter.nav, - href: doc.href, - })); + const groups = buildNavigation(); + const [mobileNavOpen, setMobileNavOpen] = useState(false); + const toggleMobileNav = useCallback(() => setMobileNavOpen((v) => !v), []); + const closeMobileNav = useCallback(() => setMobileNavOpen(false), []); return (
{/* Mobile header */} -
- - Paseo - Paseo - - +
+
+ + Paseo + Paseo + + +
+ {mobileNavOpen && ( + + )}
{/* Desktop sidebar */} -
diff --git a/packages/website/src/styles.css b/packages/website/src/styles.css index f1ebdc4b1..4824816e3 100644 --- a/packages/website/src/styles.css +++ b/packages/website/src/styles.css @@ -232,6 +232,8 @@ margin-top: 1rem; margin-bottom: 1rem; font-size: 0.875rem; + display: block; + overflow-x: auto; } .docs-prose th, diff --git a/public-docs/alternatives/conductor.md b/public-docs/alternatives/conductor.md new file mode 100644 index 000000000..8278408d4 --- /dev/null +++ b/public-docs/alternatives/conductor.md @@ -0,0 +1,95 @@ +--- +title: Open source Conductor alternative with Linux, Windows, and mobile +description: Paseo is open source, runs on macOS, Linux, and Windows, ships native iOS and Android apps, and supports 30+ agents through the in-app catalog plus any ACP or CLI agent. Conductor is macOS only and Claude Code or Codex only. +nav: Conductor +order: 100 +--- + +# Paseo vs Conductor + +Conductor is a macOS app for running Claude Code and Codex in parallel git worktrees. Closed source. + +Paseo is an app for orchestrating coding agents, with native clients on desktop, mobile, web, and the CLI. Open source (AGPL-3.0). + +## Why pick Paseo + +Conductor runs on macOS, with Claude Code and Codex, in parallel git worktrees. Paseo does all of that. Pick Paseo if you want: + +- Linux or Windows alongside macOS +- A native iOS and Android app +- Many more agents than Claude Code and Codex +- A CLI to script agent work and drive remote daemons +- A self-hosted daemon you can run on a server, VM, or homelab +- Open source you can audit and fork + +## Architecture + +The Paseo daemon runs as its own process. Desktop, web, mobile, and CLI all connect to it over a websocket. Run the daemon on your laptop, on a VM, in Docker, or across a fleet, and connect to any of them from any client. + +Conductor's desktop app is the host. Agents run inside it. + +## Providers + +Paseo runs Claude Code, Codex, OpenCode, and Pi natively, plus 30+ more agents through the in-app catalog including GitHub Copilot, Cursor, Gemini CLI, and Amp. Paseo speaks the [Agent Client Protocol](https://agentclientprotocol.com), so any ACP agent works. Custom providers run any CLI agent. See [Supported providers](/docs/supported-providers). + +Conductor runs Claude Code and Codex. + +Both tools launch the official CLIs as subprocesses with your own credentials. Neither extracts tokens or proxies model calls. + +## Panes + +Paseo's app has split panes and tabs (⌘D for vertical, ⌘⇧D for horizontal). Panes include a terminal alongside your agents, a diff viewer, and a browser for testing running services. + +## GitHub + +Paseo's app handles commit, push, opening PRs, watching checks and reviews, and merging. + +## CLI + +Paseo has a CLI that mirrors the app: + +```bash +paseo run --provider codex "implement OAuth" +paseo run --host devbox:6767 "run the test suite" +paseo ls +paseo send "add tests" +paseo schedule create --cron "0 9 * * 1" "audit the codebase" +``` + +`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes. + +Conductor does not have a CLI. + +## Worktrees and services + +Both tools isolate parallel agents in git worktrees. + +Paseo also gives each worktree its own dev server URL. Two agents running their dev servers at the same time get `web.fix-auth.my-app.localhost` and `web.add-search.my-app.localhost` instead of port collisions. + +## Mobile + +Paseo ships native iOS and Android apps with the same feature set as the desktop app. Conductor has no mobile app. + +## Voice + +Paseo's speech-to-text and text-to-speech run locally on your device. Nothing leaves your network. Conductor does not have voice. + +## Comparison + +| | Paseo | Conductor | +| ---------------------------- | --------------------------------------------------------------- | ------------------ | +| License | Open source (AGPL-3.0) | Closed source | +| Platforms | macOS, Linux, Windows | macOS only | +| Native mobile | iOS, Android | — | +| Providers | Claude Code, Codex, OpenCode, Pi + 30+ via ACP catalog + custom | Claude Code, Codex | +| Git worktrees | Yes | Yes | +| Per-worktree dev server URLs | Yes | — | +| Split panes and tabs | Yes | — | +| In-app terminal | Yes | Yes | +| In-app browser | Yes | — | +| GitHub workflow in app | Commit, push, PR, checks, reviews, merge | Yes | +| CLI | Run, `--host`, ls, send, schedule, loop | — | +| Local voice (on-device) | Yes | — | +| Self-hosted daemon | Yes | — | + +See also: [Paseo vs Superset](/docs/alternatives/superset), [Paseo vs OpenChamber](/docs/alternatives/openchamber), [Paseo vs Happy Coder](/docs/alternatives/happy-coder). diff --git a/public-docs/alternatives/happy-coder.md b/public-docs/alternatives/happy-coder.md new file mode 100644 index 000000000..d764f53e2 --- /dev/null +++ b/public-docs/alternatives/happy-coder.md @@ -0,0 +1,97 @@ +--- +title: Happy Coder alternative with a desktop app and git worktrees +description: Paseo ships a native desktop app, runs agents in isolated git worktrees, and supports 30+ agents. Happy Coder is mobile and web only, wraps the agent CLI, and supports Claude Code and Codex. +nav: Happy Coder +order: 104 +--- + +# Paseo vs Happy Coder + +Happy Coder is a mobile and web client for Claude Code and Codex. It wraps the agent CLI on your laptop and syncs sessions to phone and browser over an end-to-end encrypted relay. Open source under MIT. + +Paseo is an app for orchestrating coding agents, with native clients on desktop, mobile, web, and the CLI. Open source (AGPL-3.0). + +## When to pick what + +Pick Happy Coder if you want the most minimal setup. Wrap an existing Claude Code or Codex session on your laptop and check in on it from your phone. + +Pick Paseo if you want: + +- A native desktop app on macOS, Linux, and Windows +- Git worktrees for parallel agents +- Per-worktree dev server URLs +- GitHub PRs, checks, reviews, and merges in the app +- Many more agents than Claude Code and Codex +- A CLI to script agent work and drive remote daemons + +## Architecture + +Paseo runs the agent inside its own daemon. The daemon owns the agent lifecycle, the worktree, and the dev servers. Clients connect over a websocket and drive the daemon. + +Happy Coder runs the agent inside its existing CLI on your laptop and syncs the session to its mobile and web clients through an end-to-end encrypted relay. + +## Panes + +Paseo's app has split panes and tabs (⌘D for vertical, ⌘⇧D for horizontal). Panes include a terminal alongside your agents, a diff viewer, and a browser for testing running services. + +Happy Coder does not have a desktop app. + +## GitHub + +Paseo's app handles commit, push, opening PRs, watching checks and reviews, and merging. + +## Mobile + +Both tools ship native iOS and Android apps. + +## Providers + +Paseo runs Claude Code, Codex, OpenCode, and Pi natively, plus 30+ more agents through the in-app catalog including GitHub Copilot, Cursor, Gemini CLI, and Amp. Paseo speaks the [Agent Client Protocol](https://agentclientprotocol.com), so any ACP agent works. Custom providers run any CLI agent. See [Supported providers](/docs/supported-providers). + +Happy Coder runs Claude Code and Codex. + +## Worktrees and services + +Paseo runs each agent in its own git worktree. Each worktree gets its own dev server URL like `web.fix-auth.my-app.localhost`, so parallel agents don't fight for the same port. + +Happy Coder runs the agent in the directory you launched the CLI from. + +## CLI + +Paseo has a CLI that mirrors the app: + +```bash +paseo run --provider codex "implement OAuth" +paseo run --host devbox:6767 "run the test suite" +paseo ls +paseo send "add tests" +paseo schedule create --cron "0 9 * * 1" "audit the codebase" +``` + +`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes. + +Happy Coder has a CLI to launch the wrapped session. It does not have schedules or loops. + +## Voice + +Paseo's speech-to-text and text-to-speech run locally on your device. Nothing leaves your network. + +## Comparison + +| | Paseo | Happy Coder | +| ---------------------------- | --------------------------------------------------------------- | ---------------------- | +| License | Open source (AGPL-3.0) | Open source (MIT) | +| Desktop app | macOS, Linux, Windows | — | +| Native mobile | iOS, Android | iOS, Android | +| Architecture | Daemon owns agent lifecycle | Wraps the agent CLI | +| Providers | Claude Code, Codex, OpenCode, Pi + 30+ via ACP catalog + custom | Claude Code, Codex | +| Split panes and tabs | Yes | — | +| In-app terminal | Yes | — | +| In-app browser | Yes | — | +| GitHub workflow in app | Commit, push, PR, checks, reviews, merge | — | +| Git worktrees | Yes | — | +| Per-worktree dev server URLs | Yes | — | +| CLI | Run, `--host`, ls, send, schedule, loop | Launch wrapped session | +| Local voice (on-device) | Yes | — | + +See also: [Paseo vs Conductor](/docs/alternatives/conductor), [Paseo vs Superset](/docs/alternatives/superset), [Paseo vs OpenChamber](/docs/alternatives/openchamber). diff --git a/public-docs/alternatives/openchamber.md b/public-docs/alternatives/openchamber.md new file mode 100644 index 000000000..5228c3dc1 --- /dev/null +++ b/public-docs/alternatives/openchamber.md @@ -0,0 +1,91 @@ +--- +title: OpenChamber alternative with Linux, Windows, and mobile +description: Paseo ships native iOS and Android apps, runs on macOS, Linux, and Windows, and supports 30+ agents. OpenChamber is macOS only with a PWA and is built around OpenCode. +nav: OpenChamber +order: 103 +--- + +# Paseo vs OpenChamber + +OpenChamber is a macOS desktop app for OpenCode. Also available as a PWA. Open source under MIT. + +Paseo is an app for orchestrating coding agents, with native clients on desktop, mobile, web, and the CLI. Open source (AGPL-3.0). + +## Why pick Paseo + +OpenChamber runs on macOS, around OpenCode, with a phone PWA. Paseo runs OpenCode too, on macOS, and adds: + +- Linux and Windows desktop +- A native iOS and Android app +- Many more agents than OpenCode (Claude Code, Codex, Pi, plus 30+ more via the in-app ACP catalog) +- A scriptable CLI to drive agents and connect to remote daemons + +## Mobile + +Paseo ships a native iOS and Android app with the same feature set as the desktop. Install from the App Store or Google Play. + +OpenChamber does not have a native mobile app. + +## Desktop + +Paseo ships on macOS, Linux, and Windows. + +OpenChamber ships on macOS. + +## Providers + +Paseo runs Claude Code, Codex, OpenCode, and Pi natively, plus 30+ more agents through the in-app catalog including GitHub Copilot, Cursor, Gemini CLI, and Amp. Paseo speaks the [Agent Client Protocol](https://agentclientprotocol.com), so any ACP agent works. Custom providers run any CLI agent. See [Supported providers](/docs/supported-providers). + +OpenChamber is built around OpenCode. + +## Panes + +Paseo's app has split panes and tabs (⌘D for vertical, ⌘⇧D for horizontal). Panes include a terminal alongside your agents, a diff viewer, and a browser for testing running services. + +## GitHub + +Paseo's app handles commit, push, opening PRs, watching checks and reviews, and merging. + +## CLI + +Paseo has a CLI that mirrors the app: + +```bash +paseo run --provider codex "implement OAuth" +paseo run --host devbox:6767 "run the test suite" +paseo ls +paseo send "add tests" +paseo schedule create --cron "0 9 * * 1" "audit the codebase" +``` + +`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes. + +OpenChamber does not have a CLI. + +## Worktrees and services + +Paseo runs each agent in its own git worktree. Each worktree gets its own dev server URL like `web.fix-auth.my-app.localhost`, so parallel agents don't fight for ports. + +## Voice + +Paseo's speech-to-text and text-to-speech run locally on your device. OpenChamber does not have voice. + +## Comparison + +| | Paseo | OpenChamber | +| ---------------------------- | --------------------------------------------------------------- | ----------------- | +| License | Open source (AGPL-3.0) | Open source (MIT) | +| Desktop platforms | macOS, Linux, Windows | macOS | +| Mobile | Native iOS, Android | PWA | +| Providers | Claude Code, Codex, OpenCode, Pi + 30+ via ACP catalog + custom | OpenCode | +| Split panes and tabs | Yes | — | +| In-app terminal | Yes | — | +| In-app browser | Yes | — | +| GitHub workflow in app | Commit, push, PR, checks, reviews, merge | Yes | +| CLI | Run, `--host`, ls, send, schedule, loop | — | +| Git worktrees | Yes | Yes | +| Per-worktree dev server URLs | Yes | — | +| Local voice (on-device) | Yes | — | +| Self-hosted daemon | Yes | — | + +See also: [Paseo vs Conductor](/docs/alternatives/conductor), [Paseo vs Superset](/docs/alternatives/superset), [Paseo vs Happy Coder](/docs/alternatives/happy-coder). diff --git a/public-docs/alternatives/superset.md b/public-docs/alternatives/superset.md new file mode 100644 index 000000000..a918fde59 --- /dev/null +++ b/public-docs/alternatives/superset.md @@ -0,0 +1,114 @@ +--- +title: Superset alternative with Linux, Windows, and mobile +description: Paseo is open source under an OSI license, has no login wall, ships native mobile, and runs on macOS, Linux, and Windows. Superset is source-available, macOS only, and gates the desktop app on a Superset login. +nav: Superset +order: 101 +--- + +# Paseo vs Superset + +Superset is a macOS desktop app for running CLI coding agents in parallel git worktrees. Source-available under the Elastic License 2.0. + +Paseo is an app for orchestrating coding agents, with native clients on desktop, mobile, web, and the CLI. Open source (AGPL-3.0). + +## When to pick what + +Pick Superset if you prefer a terminal-first interface where agents live inside terminal panes. + +Pick Paseo if you want: + +- An OSI-approved open source license (AGPL-3.0) +- Linux or Windows +- A native mobile app +- No login wall +- A per-agent UI with modes, slash commands, and file pickers +- Free without seat limits + +## License + +Paseo is open source under AGPL-3.0. Audit it, fork it, redistribute it. + +Superset is source-available under the Elastic License 2.0. The source is on GitHub, but the license restricts hosting it as a service and limits redistribution. + +## Login + +Superset's desktop app shows a Superset login wall on first launch. A Superset account is required to use it. + +Paseo does not require any login. + +## Architecture + +The Paseo daemon runs as its own process. Desktop, web, mobile, and CLI clients connect to it. Run the daemon on your laptop, on a server, or in Docker, and connect from anywhere. + +Superset's desktop is the host. Agents run inside it. + +## Providers + +Both tools support many agents. Superset is a terminal multiplexer where each agent runs inside a terminal pane. Paseo runs Claude Code, Codex, OpenCode, and Pi natively with a per-agent UI (modes, slash commands, file picker, diff viewer), plus 30+ more agents through the in-app catalog via ACP, plus any custom CLI agent. See [Supported providers](/docs/supported-providers). + +## Panes + +Paseo's app has split panes and tabs. Panes include a diff viewer and a browser for testing running services. Agents render as native UI with modes, slash commands, and file pickers. + +In Superset, each agent runs inside a terminal pane. + +## GitHub + +Paseo's app handles commit, push, opening PRs, watching checks and reviews, and merging. + +## CLI + +Paseo has a CLI that mirrors the app: + +```bash +paseo run --provider codex "implement OAuth" +paseo run --host devbox:6767 "run the test suite" +paseo ls +paseo send "add tests" +paseo schedule create --cron "0 9 * * 1" "audit the codebase" +``` + +`paseo run --host` connects to a remote daemon. `paseo schedule` runs an agent on a cron. `paseo loop` retries an agent until a verification command passes. + +Superset is a desktop app and does not have a CLI. + +## Worktrees and services + +Both tools isolate parallel agents in git worktrees. + +Paseo also gives each worktree its own dev server URL like `web.fix-auth.my-app.localhost`, so parallel agents don't fight for ports. + +## Mobile + +Paseo ships native iOS and Android apps with the same feature set as the desktop. Superset does not have a mobile app. + +## Voice + +Paseo's speech-to-text and text-to-speech run locally on your device. Superset does not have voice. + +## Pricing + +Paseo is free with no seat limits. + +Superset is free for one seat with local workspaces only. Team features and sync start at $20 per seat per month. + +## Comparison + +| | Paseo | Superset | +| ---------------------------- | ----------------------------------------------------- | -------------------------------------- | +| License | Open source (AGPL-3.0) | Source-available (Elastic License 2.0) | +| Platforms | macOS, Linux, Windows | macOS only | +| Native mobile | iOS, Android | — | +| Login required | No | Yes (Superset account) | +| Pricing | Free | Free 1 seat, $20/seat/mo Pro | +| Per-agent native UI | Yes (modes, slash commands, file picker, diff viewer) | Terminal output | +| Split panes and tabs | Yes | Yes (terminals) | +| In-app browser | Yes | — | +| GitHub workflow in app | Commit, push, PR, checks, reviews, merge | Yes | +| Git worktrees | Yes | Yes | +| Per-worktree dev server URLs | Yes | — | +| CLI | Run, `--host`, ls, send, schedule, loop | — | +| Local voice (on-device) | Yes | — | +| Self-hosted daemon | Yes | — | + +See also: [Paseo vs Conductor](/docs/alternatives/conductor), [Paseo vs OpenChamber](/docs/alternatives/openchamber), [Paseo vs Happy Coder](/docs/alternatives/happy-coder).