1. 项目定位与用途
Superset 定位为"AI 代理时代的代码编辑器",是一款桌面应用程序,专注于在本地机器上编排和运行多个 CLI 编码代理。其核心用途是通过 Git worktree 技术实现多代理并行执行与任务隔离,提供统一监控界面、内置差异查看器和编辑器集成,帮助开发者减少在不同代理和任务间的上下文切换,显著提升代码开发效率。项目支持任何基于终端的 CLI 代理,包括 Claude Code、OpenAI Codex、Cursor Agent 等,实现"如果能在终端运行,就能在 Superset 运行"的通用兼容性。
2. 解决的问题
Superset 主要解决三个核心问题:一是多代理并行时的任务隔离问题,通过为每个任务创建独立的 Git worktree 和分支,确保代理间代码变更互不干扰;二是状态监控与注意力管理问题,提供集中式仪表板跟踪所有代理状态,并在需要人工干预时及时通知;三是工作流割裂问题,内置差异查看器允许直接审查和编辑变更,并支持一键将工作区打开到本地编辑器或终端,避免在多个应用间切换。这解决了传统方式下同时运行多个 AI 代理导致的混乱、冲突和效率低下问题。
3. 适用场景
Superset 适用于以下场景:需要同时处理多个独立代码任务的开发者,如同时修复不同模块的 bug、开发多个功能特性;希望利用多个 AI 代理(不同厂商或模型)进行并行探索和比较的团队;需要严格隔离代理变更、避免代码冲突的协作环境;追求高效审查 AI 生成代码、快速集成到主项目的个人或团队;以及任何依赖 CLI 编码代理但苦于缺乏统一管理和监控工具的用户。项目特别适合本地工作tree-based 开发模式,强调在隔离环境中安全地运行不受信任的代理代码。
4. 安装方式
安装方式分为两种:预构建版本适合普通用户,直接从 GitHub Releases 页面下载 macOS 应用程序即可使用;源码构建适合开发者,需先克隆仓库,然后配置环境变量(复制 .env.example 到 .env 并填写必要值,或设置 SKIP_ENV_VALIDATION=1 跳过验证),安装 Caddy 反向代理(复制 Caddyfile.example 到 Caddyfile),最后使用 Bun 运行开发脚本(如 SKIP_ENV_VALIDATION=1 bun run dev)或构建脚本(bun run build)。项目要求 macOS 系统(Windows/Linux 未经测试)、Bun v1.0+、Git 2.20+、GitHub CLI (gh) 和 Caddy。
5. 使用方式
使用流程如下:启动应用后首先添加并配置所需的 CLI 代理(如 Claude Code、Codex 等);为每个待处理任务创建独立的工作区,系统会自动建立对应的 Git worktree 和分支;在界面中监控所有代理的运行状态、输出和进度,当代理完成工作或需要干预时会收到通知;使用内置的差异查看器审查代理生成的代码变更,可直接在应用中编辑修改;最后通过一键操作将工作区打开到首选编辑器(如 VS Code)或终端,继续手动开发。工作区预设功能可自动化环境 setup 和依赖安装,提升启动效率。
6. 补充说明与实现特点
项目采用分层架构,明确分离 Electron 桌面层与独立主机服务层,后者可脱离桌面应用单独部署。Monorepo 结构基于 Bun 和 Turborepo,包含 apps(desktop、api、admin、marketing、docs)和 packages(ui、db、host-service 等)两大类别。技术栈涵盖 Next.js 16、React、TailwindCSS v4、shadcn/ui、Drizzle ORM 和 Biome。主机服务(packages/host-service)是核心,管理工作区生命周期、PTY 终端、文件系统监听、Git 操作和 AI 聊天运行时。数据库支持 Neon