ByteNoteByteNote

字节笔记本

2026年3月13日

Superset:编码代理的增强型终端

API中转
¥120

本文介绍 Superset,一个专为 AI 编码代理设计的增强型终端。该项目支持同时运行多个 CLI 编码代理,每个任务在独立的 git worktree 中隔离,提供统一的监控界面和内置的 diff 查看器,是提升开发工作流的理想工具。

项目简介

Superset 是一个开源的增强型终端应用,由 superset-sh 开发维护。项目被称为"编码代理的终端",旨在解决同时运行多个 AI 编码代理时的上下文切换和任务隔离问题,通过并行执行和工作树隔离技术,实现 10 倍开发效率提升。

核心特性

  • 并行执行:同时运行 10+ 个编码代理
  • 工作树隔离:每个任务独立的分支和工作目录
  • 代理监控:跟踪代理状态,变更就绪时通知
  • 内置 Diff 查看器:检查和编辑代理变更
  • 工作区预设:自动化环境设置、依赖安装
  • 通用兼容:兼容任何终端 CLI 代理
  • 快速上下文切换:在任务间快速跳转
  • IDE 集成:一键在工作区打开外部编辑器

为什么选择 Superset

传统使用 AI 编码代理时,开发者面临以下问题:

  • 上下文切换开销大
  • 多个代理相互干扰
  • 难以监控代理状态
  • 变更审查效率低

Superset 通过以下方式解决:

  • 无上下文切换:同时运行多个代理
  • 任务隔离:每个任务独立的 git worktree
  • 统一监控:在一个地方跟踪所有代理
  • 快速审查:内置 diff 查看器和编辑器

支持的代理

Superset 兼容任何基于 CLI 的编码代理:

代理状态
Claude Code完全支持
OpenAI Codex CLI完全支持
Cursor Agent完全支持
Gemini CLI完全支持
GitHub Copilot完全支持
OpenCode完全支持
任何 CLI 代理可用

只要能在终端运行,就能在 Superset 上运行。

技术架构

  • 运行时Bun v1.0+
  • 版本控制:Git 2.20+(worktree 支持)
  • GitHub CLIgh
  • 反向代理Caddy(开发服务器)
  • 平台:macOS(Windows/Linux 未测试)

安装指南

前置要求

要求详情
操作系统macOS(Windows/Linux 未测试)
运行时Bun v1.0+
版本控制Git 2.20+
GitHub CLIgh
Caddycaddy

方法一:下载预编译版本(推荐)

直接下载 macOS 版本

方法二:从源码构建

bash
# 1. 克隆仓库
git clone https://github.com/superset-sh/superset.git
cd superset

# 2. 设置环境变量
cp .env.example .env
# 编辑 .env 填入值

# 3. 设置 Caddy(反向代理)
cp Caddyfile.example Caddyfile

# 4. 安装依赖并运行
bun install
bun run dev

# 5. 构建桌面应用
bun run build
open apps/desktop/release

快速开始

创建工作区

bash
# 新建工作区
⌘N

# 快速创建工作区
⌘⇧N

# 打开项目
⌘⇧O

管理多个代理

bash
# 在工作区 1-9 之间切换
⌘1, ⌘2, ⌘3, ...

# 上一个/下一个工作区
⌘⌥↑/↓

终端操作

bash
# 新建标签页
⌘T

# 关闭面板/终端
⌘W

# 右分屏
⌘D

# 下分屏
⌘⇧D

# 清除终端
⌘K

# 终端内查找
⌘F

键盘快捷键

工作区导航

快捷键操作
⌘1-9切换到工作区 1-9
⌘⌥↑/↓上一个/下一个工作区
⌘N新建工作区
⌘⇧N快速创建工作区
⌘⇧O打开项目

终端操作

快捷键操作
⌘T新建标签页
⌘W关闭面板/终端
⌘D右分屏
⌘⇧D下分屏
⌘K清除终端
⌘F终端内查找
⌘⌥←/→上一个/下一个标签
Ctrl+1-9打开预设 1-9

布局控制

快捷键操作
⌘B切换工作区侧边栏
⌘L切换变更面板
⌘O在外部应用中打开
⌘⇧C复制路径

配置

工作区设置

.superset/config.json 中配置工作区设置和清理:

json
{
  "setup": ["./.superset/setup.sh"],
  "teardown": ["./.superset/teardown.sh"]
}
选项类型说明
setupstring[]创建工作区时运行的命令
teardownstring[]删除工作区时运行的命令

示例设置脚本

bash
#!/bin/bash
# .superset/setup.sh

# 复制环境变量
cp ../.env .env

# 安装依赖
bun install

# 运行其他设置任务
echo "Workspace ready!"

可用的环境变量

设置脚本可访问以下环境变量:

  • SUPERSET_WORKSPACE_NAME — 工作区名称
  • SUPERSET_ROOT_PATH — 主仓库路径

使用场景

场景 1:并行开发多个功能

bash
# 工作区 1:开发认证功能
⌘1
# 运行 Claude Code 开发认证

# 工作区 2:开发支付功能
⌘2
# 运行 Cursor Agent 开发支付

# 工作区 3:修复 bug
⌘3
# 运行 GitHub Copilot 修复 bug

场景 2:代码审查

bash
# 切换变更面板
⌘L

# 使用内置 diff 查看器
# 检查代理的变更
# 直接编辑或接受变更

场景 3:环境自动化

bash
# .superset/setup.sh 自动:
# - 复制 .env 文件
# - 安装依赖
# - 运行数据库迁移
# - 启动开发服务器

# 工作区立即可用,无需手动配置

场景 4:团队协作

bash
# 每个功能独立的分支
# 每个分支独立的工作区
# 同时开发而不冲突

核心功能详解

1. 并行执行

  • 同时运行 10+ 个编码代理
  • 每个代理独立工作
  • 无上下文切换开销
  • 最大化资源利用

2. 工作树隔离

  • 每个任务独立分支
  • 独立的工作目录
  • 代理互不干扰
  • 并行开发安全

3. 代理监控

  • 统一状态监控
  • 实时进度跟踪
  • 变更就绪通知
  • 错误及时提醒

4. 内置 Diff 查看器

  • 可视化变更
  • 内联编辑
  • 快速接受/拒绝
  • 无需离开应用

5. 工作区预设

  • 自动环境设置
  • 依赖自动安装
  • 自定义脚本支持
  • 一键就绪

6. IDE 集成

  • 一键打开编辑器
  • 支持主流 IDE
  • 无缝切换
  • 保持工作流

工作流优化

传统工作流

text
1. 打开终端
2. 运行代理 A
3. 等待完成
4. 切换上下文
5. 运行代理 B
6. 等待完成
7. 切换上下文
8. 运行代理 C
...

Superset 工作流

text
1. 创建 3 个工作区
2. 同时运行代理 A、B、C
3. 监控所有进度
4. 需要时介入
5. 快速审查变更
6. 继续下一步

效率提升:10 倍

最佳实践

1. 工作区组织

  • 按功能模块分配工作区
  • 使用描述性名称
  • 保持工作区专注
  • 及时清理已完成任务

2. 设置脚本

  • 自动化重复任务
  • 环境一致性
  • 减少手动配置
  • 提升启动速度

3. 监控策略

  • 定期检查代理状态
  • 及时处理错误
  • 审查重要变更
  • 保持工作流流畅

4. 资源管理

  • 监控内存使用
  • 合理分配工作区
  • 及时关闭不需要的终端
  • 保持系统响应

性能优化

  • 并行处理:充分利用多核 CPU
  • 资源隔离:避免代理冲突
  • 智能通知:减少不必要的检查
  • 缓存优化:快速切换工作区

安全考虑

  • 本地运行,数据不离开机器
  • 工作区隔离防止交叉污染
  • Git 历史保留所有变更
  • 权限控制访问敏感文件

应用场景

  • 并行开发:同时开发多个功能
  • 代码审查:快速审查 AI 生成的代码
  • 自动化测试:并行运行测试代理
  • 文档生成:同时生成多份文档
  • 重构工作:并行重构不同模块
  • Bug 修复:同时修复多个 bug

项目链接

分享: