Agentbox
把并行运行的 Claude Code 与 Codex 智能体变成收件箱:每个任务独占 git worktree,只在需要你时才出现。
- Star 数
- ★ 362
- 最近更新
- 今天
- License
- GPL-3.0
- 主语言
- JavaScript
- FA 评分
- 51/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配Codex · Claude Code
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 同时管理十多个 Claude Code 或 Codex 任务的独立开发者,希望在收件箱里集中回复而非在多个终端窗口间切换。
- 不适合
- 只使用 Windows 桌面的团队(仅提供 Mac 应用与浏览器方式)
- 不愿为 Claude Code 或 Codex 订阅付费的用户
- 希望用非 Anthropic/OpenAI 模型的团队
- 源码审查
- 51/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Agentbox 是一个面向 Claude Code 和 Codex 的桌面图形界面,用来同时运行大量编码智能体。它把每个任务变成收件箱中的一行,并为该行创建独立的 git worktree 与分支,从而避免多个智能体改动同一批文件。核心进程分为 main/(Electron 主进程、配置、store 与 supervisor)、mcp/(提供给会话的 store 服务器)、renderer/(收件箱界面)以及 briefs/(worker 与 dispatcher 提示词)。持久状态保存在本地 storeRoot 目录,通过 main/store/work-items.mjs 单一写入路径折叠,应用崩溃或重启不影响智能体。使用 Mac 签名应用、从源码构建,或在 Linux 上通过 npx agentbox-app 在浏览器中运行;它驱动你本机已登录的 Claude Code/Codex 订阅,没有服务器、账户或额外订阅。
用户粘贴任务列表、导入看板 issue 或手动输入任务,每条任务成为一条收件箱记录;supervisor 为每条记录启动一个无头会话,运行在独立 git worktree 与分支上。会话通过 mcp/ 提供的 store 服务器读取 store、提交问题、更新工作项,默认只授予 store 工具权限,需要改代码时由用户通过 sessionArgs 显式放开(如 acceptEdits)。运行中的任务不进入收件箱,完成或卡住后才以卡片形式返回,卡片显示做了什么、需要什么以及编号选项。用户按键 1/2/3 选择选项、E 采纳建议、R 自由回复;回复会让同一会话继续。优先级由项目排序加 Urgent/High/Medium/Low 标签决定,队列按此顺序调度 maxConcurrentSessions 个并发会话,已回复的任务在同级中优先。代码改动显示在卡片旁边,便于审查后合并。
- 同时管理十多个 Claude Code 或 Codex 任务的独立开发者,希望在收件箱里集中回复而非在多个终端窗口间切换。
- 需要把看板上的 issue 批量分派给编码智能体、并保持每个任务在独立分支上不互相干扰的团队。
- 希望在合并前逐条审查智能体改动(例如它是否通过改测试而非改代码让测试通过)的审查者。
- 偏好键盘操作、想用 J/K、E、R、1/2/3 快速处理待办的高级用户。
- 在 Linux 上不想安装桌面应用、希望用 npx agentbox-app 在浏览器本地运行的使用者。
如何安装或部署这个 Agent?
Mac 用户可直接下载签名并公证的 Agentbox 应用(https://agentbox.ac/download),支持 Apple silicon 与 Intel。无论哪种方式,都需要先安装并登录 Claude Code 或 Codex。
从源码构建桌面应用(需要 Node 22.18 或更新版本):
git clone https://github.com/savannahfeder/agentbox.git
cd agentbox
npm install
npm start在浏览器中运行(无需预先安装):
npx agentbox-app如果从本地检出运行浏览器版,需要先构建一次界面:
npm install
npm run build
npx agentbox-app在 Linux 上,终端组件依赖 node-pty,需要 make 与 C++ 编译器;缺失时终端会被跳过,其余功能仍可用:
sudo apt install build-essential如何使用这个 Agent?
首次启动会引导你连接 Claude Code 或 Codex,并选择工作文件夹。粘贴任务列表或看板 issue,每条成为独立 worktree 中的智能体。之后可离开,任务完成或卡住时回到收件箱,用 1/2/3 选择选项、E 采纳建议或标记完成、R 回复、L 延后、Z 撤销、⌘K/Ctrl+K 打开命令面板。
如需允许智能体改代码和运行命令,在仓库根目录的 zero.config.json 中显式放开权限:
{ "sessionArgs": ["--allowedTools", "mcp__agentbox", "--permission-mode", "acceptEdits"] }可配置项还包括 maxConcurrentSessions、storeRoot、claudeBin、personalProducts。开发与测试:
npm run dev
npm test关闭诊断数据:在设置中关闭「Counts and crash reports」,或在 zero.config.json 中设置:
{ "diagnostics": false }这个 Agent 有哪些优点和局限?
- 以收件箱取代聊天窗口,只为每个任务创建独立 git worktree 与分支,天然隔离并行改动。
- 默认最小权限:会话仅获授 mcp__agentbox store 工具,放开代码编辑需用户显式在 sessionArgs 中开启。
- 复用已有的 Claude Code 或 Codex 订阅,无服务器、无账户、无额外订阅;源码构建默认不含分析密钥。
- 协议明确:持久状态集中在 storeRoot,单一写入路径 main/store/work-items.mjs,崩溃或重启不影响智能体。
- 优先级调度具体可审计:项目排序优先于任务标签,已回复任务优先于新任务,智能体无法自行提升优先级。
- 官方桌面应用仅面向 macOS,Linux 需走浏览器或从源码构建。
- 核心依赖 Claude Code 或 Codex 及其订阅,不支持其他模型供应商。
- 启用代码编辑需手动配置 sessionArgs 并接受 acceptEdits 权限模式,存在误改风险。
- 从源码或浏览器运行时需要 Node 22.18+,Linux 终端还需 make 与 C++ 编译器,否则缺少终端。
- 发布版内置 PostHog 计数与崩溃上报,需在设置或配置文件中主动关闭。
这个 Agent 与同类方案有什么区别?
README 对比了传统做法:在聊天窗口和终端中逐个运行智能体,需要等一个完成才能继续提示下一个,可并行数量受限于能盯住的窗口数量。Agentbox 以收件箱加独立 worktree 取代这种模式。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Agentbox 当前 | 51 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 362 | 今天 | JavaScript | Codex · Claude Code |
| Agetor | 60 · 存在缺口 | — | ★ 121 | 今天 | TypeScript | Codex · Claude Code |
| Prometeu | 57 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 65 | 今天 | Rust | Codex · Claude Code |
| Tessera | 74 · 存在缺口 | 桌面应用免费 + 模型费 | ★ 317 | 8 天前 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 明确说明默认 sessionArgs 只授予 store 工具,编辑代码与执行命令需用户显式 opt-in,且应用不会自行提权,这是 least_privilege 的正面证据(2)。用户确认方面有审批服务器、worker-permissions.json 与 SECURITY.md 中“agent 绕过审批”作为威胁模型,但未见审批 UI 的具体实现,故只给 2。数据流透明度是本文最强项:README 逐条列出 19 个 PostHog 事件、附加字段上限、关闭开关与更新检查,并指向 shared/analytics-events.mts 与 crash-scrub,给 3。敏感数据处理方面有 crash scrub 与“不发送文件内容/提示词/路径”的声明,但 package.json 依赖 @aws-sdk、@supabase/supabase-js、web-push 等云端组件,README 未解释这些依赖在本地优先架构中的用途,扣至 2。依赖安全:README 自承 npm audit 后仍残留 Vite/Vitest/Tiptap 的告警,allowScripts 按名称而非版本放行 node-pty 与 esbuild,虽有 security.yml 的 semgrep 与 audit 门禁,但残留告警与宽泛脚本放行是可见弱点,给 1。外部影响:应用会 spawn 真实编码 agent、创建 git worktree、合并分支,README 提到 Z 撤销与“1 合并”,但未见合并前 diff 强制确认或 worktree 清理策略的代码证据,给 1。回滚:仅有 Z 撤销与 git worktree 分支隔离的叙述,无 store 迁移/回滚或失败恢复的具体机制说明,给 1。来源归属:LICENSE 为 GPL-3.0 全文,package.json 标注作者与仓库,但发布渠道指向 agentboxhq/agentbox-releases 与 savannahfeder/agentbox 不一致,发布者身份未验证,给 1。
自一致性:README 的架构描述(main/store 单一写入路径、supervisor、mcp、briefs、tests)与 package.json 的 files/scripts 大体吻合,但 README 称“tests 是行为文档”而本次仅见少量测试文件,且存在 .claude/skills 下的示例 fixture,无法确认测试规模,给 2。依赖可用性:node-pty 为 optionalDependency 且需编译,Linux 缺 make/C++ 时终端缺失;Electron 二进制在 launcher 首次启动时才下载;README 承认这些,属可用性风险,给 1。失败信息:README 提到安装失败判定、agent 无法启动的 18 个固定原因词、终端缺失时每次启动提示,但未见具体错误文案或用户可见诊断的实现证据,给 1。
受众与场景:README 面向并行运行多 agent 的开发者,场景(收件箱、优先级、键盘操作)描述充分,给 2。能力边界:明确说明驱动 Claude Code/Codex、需已安装并登录、无服务器无账号,边界清晰,给 2。触发精度:agent 何时回到收件箱、优先级排序规则有文字描述,但“agent 不能自我提升优先级”等规则缺少代码佐证,且触发条件(done/stuck)判定细节未展开,给 1。环境适配:覆盖 macOS 签名公证、Linux 浏览器模式与 xdg-open、Node 22.18 要求,但 Windows 明确不支持(electron-winstaller 被拒),给 2。
信息架构:README 结构清晰(安装、原理、优先级、快捷键、配置、隐私、构建),但大量内容折叠在 details 中,给 2。安装说明:提供 Mac 下载、源码构建、npx 浏览器三种路径及 Linux 依赖说明,较完整,给 2。命名稳定性:README 自承代码中残留 zero/ZERO_ 前缀为“历史名称且承重”,产品名集中在 shared/product-name.mjs,命名存在历史包袱,给 1。示例与 FAQ:有截图与快捷键表,但无 FAQ、无故障排查章节,给 1。已知限制:提到 Linux 终端编译依赖、残留审计告警、macOS 本地网络提示,但未系统列出限制,给 1。许可证:LICENSE 为完整 GPL-3.0 文本,package.json 标注 GPL-3.0-or-later,一致,给 3。版本与变更日志:package.json 有 0.1.19,但无 CHANGELOG,给 1。维护责任:SECURITY.md 给出报告渠道与一周响应承诺,但发布者未经验证、发布仓库与源码仓库不同,维护主体不清晰,给 1。
输出可用性:收件箱卡片、单键应答、diff 并排展示的设计对“审阅 agent 产出”这一任务有明确价值,给 2。边际价值:相对直接开多个终端,worktree 隔离与优先级队列确有增量,但核心仍是包装 Claude Code/Codex,增量有限,给 2。成本收益:免费开源、复用已有订阅是优势,但需 Node 22.18、编译 node-pty、Electron 体积、残留依赖告警与 GPL 传染性构成采用成本,给 1。
声明可追溯:README 多处指向具体文件(shared/analytics-events.mts、crash-scrub.mts、main/store/work-items.mjs),但本次证据仅含 README、LICENSE、SECURITY.md、package.json 与两个 workflow,无法核验这些声明,给 1。交叉印证:security.yml 的 semgrep/audit 与 README 的依赖告警叙述相互印证,publish-phone.yml 显示存在 phone-site 与 cloud 目录,但 README 未提及手机端,存在叙述缺口,给 1。事实与推断分离:README 对隐私事件的枚举具体可查,但“tests 是行为文档”“签名并公证”等断言无对应证据,且 package.json 中 notarize 为 false 与 README 的“signed and notarised”存在张力,给 1。
- README 声称 Mac 应用“已签名并公证”,但 package.json 的 mac 构建配置中 notarize 为 false,发布产物是否真正公证需自行核实。
- README 自承 npm audit 后仍残留 Vite、Vitest、Tiptap 的告警,且 allowScripts 按名称而非版本放行 node-pty 与 esbuild,安装脚本的供应链面较宽。
- package.json 依赖 @aws-sdk、@supabase/supabase-js、web-push 等云端组件,而 README 强调“无服务器、无账号”,这些依赖的实际用途与数据流向未在文档中说明。
- 发布渠道指向 agentboxhq/agentbox-releases,与源码仓库 savannahfeder/agentbox 不同,发布者身份未经验证,更新来源需谨慎对待。
- 应用会创建 git worktree 并执行合并,README 仅以 Z 撤销描述回滚,未见合并前强制 diff 确认或 worktree 清理的代码证据。
- GPL-3.0-or-later 具有传染性,若在企业内部集成或二次分发需评估合规影响。