Supacode
原生 macOS 命令中心,并行运行多个编码代理,每个任务独立工作树和终端。
- Star 数
- ★ 2.4k
- 最近更新
- 3 天前
- License
- NOASSERTION
- 主语言
- Swift
- FA 评分
- 53/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用
- 费用
- 免费,无需付费服务
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 开发者在同一时间处理多个功能分支,希望并行运行多个编码代理而不互相干扰。
- 不适合
- 仅使用 Windows 或 Linux 的开发者,本应用只支持 macOS 26.0+
- 希望下载即用、不愿从源码构建的用户,项目不提供预编译二进制
- 需要稳定远程开发体验的团队,SSH 远程仓库仍处于 Beta 阶段
- 源码审查
- 53/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Supacode 是一款原生 macOS 应用,作为编码代理的命令中心。它能让你并行运行多个编码代理(如 Claude、Codex、Copilot),每个任务拥有独立的 git worktree 和真实终端,互不干扰。会话在轻量级守护进程 zmx 中后台持久运行,即使退出应用或断开会话也能完整恢复,包括回滚历史。除了本地仓库,它还支持通过 SSH 管理远程仓库的工作树(Beta),复用多路复用连接并支持断线重连。应用集成 GitHub 拉取请求跟踪、实时代理状态徽章、自定义脚本、命令面板、深链接和 CLI,提供强大的控制能力。构建基于 The Composable Architecture 和 libghostty 终端渲染,支持自动更新。
Supacode 提供以下具体操作:从侧边栏、热键、命令面板、CLI 或深链接创建和管理 git worktree;在每个 worktree 中启动真实的终端会话(基于 libghostty),支持标签页和分屏;通过其安装的 hooks 检测每个窗格中的编码代理(如 Claude、Codex、Copilot)并显示实时状态(忙、等待输入、空闲),并在代理需要输入时发送通知;使用 zmx 守护进程持久化会话,支持应用退出或 SSH 断开后重连并保留滚动历史;通过 CLI(supacode)管理 worktrees、tabs、splits 和 repos,支持深链接(supacode://)以从其他应用触发操作;集成 GitHub 以跟踪每个 worktree 的 PR 状态、检查和合并就绪状态;运行自定义脚本(全局或按仓库),并将它们添加到脚本菜单、命令面板和深链接;支持远程 SSH 仓库,共享一个多路复用 SSH 连接进行 git 探测和终端会话。
- 开发者在同一时间处理多个功能分支,希望并行运行多个编码代理而不互相干扰。
- 通过 SSH 在远程服务器上维护代码库,希望管理 worktrees 并让终端会话在断线或休眠后不中断。
- 团队负责人需要监控多个代理任务的实时状态,通过通知及时响应。
- 使用命令面板和 CLI 快速切换工作树和仓库,提高工作流效率。
- 需要为每个仓库定制设置和归档脚本,并希望从统一界面触发。
如何安装或部署这个 Agent?
克隆仓库(使用 --recursive 获取子模块):git clone --recursive [email protected]:supabitapp/supacode.git;安装 mise 并运行 mise install 安装固定工具链;确保 ~/.local/bin 在 PATH 中;运行 make doctor 检查构建前置条件(包括 mise、子模块、Zig 链接的 Xcode、Metal Toolchain 等),并按输出修复缺失项;运行 make run-app 构建并启动 Debug 应用。注意:在 macOS 26.4+ 上,需要安装 Xcode 26.3 并接受许可、运行首次启动、下载 Metal Toolchain,因为固定 Zig 版本无法链接新 SDK。
如何使用这个 Agent?
启动应用后,从侧边栏、热键(⌃1-⌃9)、命令面板或 CLI 创建新的 worktree。选择或克隆仓库,分配编码代理。应用自动检测代理状态并显示徽章。通过 CLI(supacode)管理会话,例如列出 worktrees、分屏、运行脚本。支持深链接(supacode://)从其他应用触发操作。会话即使在退出应用后也会在后台持久运行,重新打开时自动恢复。对于远程 SSH 仓库,添加远程主机后,应用会复用 SSH 连接。
这个 Agent 有哪些优点和局限?
- 每个任务独立 worktree 和终端,真正并行且隔离。
- 会话持久性:通过 zmx 后台运行,退出应用或断线不丢失,支持滚动历史重连。
- 实时代理状态检测(Claude、Codex、Copilot)和通知,让用户及时响应。
- 全面的控制接口:CLI、深链接、命令面板、热键,满足多种操作方式。
- 集成 GitHub PR 跟踪和自定义脚本,增强工作流。
- 仅支持 macOS 26.0+,并且需要 Xcode 26.3(在 macOS 26.4+ 上)构建,依赖 Apple 生态。
- 远程 SSH 支持处于 Beta,部分本地功能受限。
- 构建依赖多个工具链(mise、GhosttyKit、Metal Toolchain),配置复杂。
- 没有预编译的安装包,需要用户自行从源码构建。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Supacode 当前 | 53 · 缺口较多 | 桌面应用免费 | ★ 2.4k | 3 天前 | Swift | — |
| Dinotty | 61 · 存在缺口 | 自托管服务免费 | ★ 722 | 14 天前 | TypeScript | Codex · Claude Code |
| Emdash:并行 AI 编码代理桌面端 | 45 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 6k | 1 天前 | TypeScript | ChatGPT · Codex · Claude Code |
| Yardsort | 70 · 存在缺口 | 桌面应用免费 | ★ 11 | 8 天前 | Rust | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 描述 SSH 远程仓库、会话持久化、自动更新等特性,但未提供权限最小化、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的具体实现细节。扣分原因:缺乏具体证据,仅凭描述性声明,无法确认实际安全措施。
证据显示:README 和 CI 工作流提供构建、测试、lint 等命令,但未提供失败消息的具体示例或错误处理机制。扣分原因:依赖可用性有提及(如 mise、Xcode),但失败消息未详细说明。
证据显示:README 明确目标用户(macOS 开发者)、使用场景(并行编码代理)、能力边界(本地和 SSH)、触发方式(CLI、deeplink、热键)和环境要求(macOS 26+)。扣分原因:能力边界和触发精度有描述,但未提供详细配置选项或限制。
证据显示:README 结构清晰,包含安装、构建、开发、技术栈、贡献指南;LICENSE 明确为 FSL-1.1-ALv2;SECURITY.md 提供漏洞报告流程。扣分原因:缺少版本历史或变更日志,示例和 FAQ 有限,维护责任未明确。
证据显示:README 描述输出为实时终端、通知、PR 跟踪等,边际价值在于并行工作树和会话持久化,成本效益通过开源和自动更新体现。扣分原因:未提供性能基准或用户反馈,成本效益仅基于描述。
证据显示:README 中的声明(如支持代理、SSH 功能)未提供测试或验证证据,CI 工作流存在但未展示测试结果。扣分原因:声明缺乏可追溯性,交叉来源验证不足,事实与推断未明确区分。
- 静态审查无法验证实际安全措施,如权限最小化和数据流透明。
- 依赖安全性未提供具体版本或漏洞扫描证据。
- 版本历史和变更日志缺失,可能影响更新追踪。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Stop idle Git refresh loops Fix repeated background Git refreshes when built-in fsmonitor is enabled, including submodules stored in standard Git metadata. File edits and staging continue to update worktree status. What's Changed * watcher: stop idle refresh loops from fsmonitor by @khoi in https://github.com/supabitapp/supacode/pull/907 Full Changelog: https://github.com/supabitapp/supacode/compare/v0.11.3...v0.11.4在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * license: show a purchase prompt at the local worktree limit by @khoi in https://github.com/supabitapp/supacode/pull/898 Full Changelog: https://github.com/supabitapp/supacode/compare/v0.11.2...v0.11.3在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * licensing: support renewable Team seat entitlements by @khoi in https://github.com/supabitapp/supacode/pull/894 * licensing: share offline ownership across personal and Team plans by @khoi in https://github.com/supabitapp/supacode/pull/896 Full Changelog: https://github.com/supabitapp/supacode/compare/v0.11.0...v0.11.2在 GitHub 查看 ↗