如果你最近用过 Claude Code 或 OpenCode,你一定有过这种体验:打开一个中型项目后,系统风扇开始狂转,活动监视器里显示内存占用从几百 MB 飙升到数个 GB,你的笔记本变成了一个安静的取暖器。
这不是夸张。Claude Code(基于 Node.js)的空闲内存占用约 300MB+,工作时轻松突破数 GB。OpenCode(Go/TypeScript)也好不到哪去,有开发者报告其在大型项目上缓慢泄漏到 6GB。在 HN 上,一位开发者直言:"Claude Code is using multiple gigabytes, which is really annoying on lowend laptops。"
在 AI 编码代理这个赛道上,几乎所有主流选手都在做"加法"——功能越加越多,依赖越来越重,体积越来越臃肿。但 2026 年 5 月,一个只有 7,000 行代码的开源项目,用最反潮流的方式证明了另一种可能性。
它叫 Zerostack。
2026 年 5 月中旬,一个名为 Zerostack 的开源项目在 Hacker News 上引爆了技术社区,获得了超过 540 分的热度和近 300 条深度讨论。
Zerostack 是一个极简主义的 AI 编码代理,由开发者 gi-dellav 用纯 Rust 编写,灵感来自 pi.dev 和 OpenCode。它只有约 7,000 行 Rust 代码(后续更新到约 9,000 行),整个二进制文件仅 8.9MB,空闲时内存占用约 8MB,工作时约 12-13MB。
作为对比:这是 Claude Code 内存占用的 三百分之一。
项目从 2026 年 5 月 12 日创建,不到两周就在 GitHub 上获得了近千颗 Star,发布了 11 个版本(最新 v1.3.1),社区迅速围绕它形成了一个活跃的讨论群体。这个增长速度本身就是一种信号——开发者社区确实在期待一个轻量级的替代方案。
Zerostack 最核心的设计思想,是把 Unix 的 pipe/filter 哲学搬进了 AI 编程代理的世界。
传统的 AI 编码代理(如 Claude Code、Cursor)通常采用"大而全"的单体架构——所有功能(文件操作、代码搜索、Bash 执行、代码审查、调试)都耦合在同一个庞然大物中。调用方不需要关心内部结构,但代价是巨大的资源浪费:你只用了 10% 的功能,却要加载 100% 的代码体积。
Zerostack 的做法截然相反。它将编码工作流拆解为一系列独立的"过滤器"(filter),每个过滤器只做一件事:
用户意图 → [规划过滤器] → [搜索过滤器] → [文件编辑过滤器] → [测试运行过滤器] → 输出
这种设计的好处有三个:
Zerostack 能将内存占用做到 8MB 级别的根本原因,不在于"优化技巧",而在于 Rust 语言的底层优势:
cargo feature flags,将 MCP、ACP 等功能作为可选的编译特性,不编译进去就不会增加二进制体积。这意味着,Zerostack 的空闲 CPU 占用是 0.0%——不是"几乎没有",而是字面意义的零。当你在终端挂着 Zerostack 时,它不会偷走你任何计算资源。
一个非常巧妙的设计是 Zerostack 的 Prompts 系统。它内置了 10 种不同的系统 Prompt 模式,通过 /prompt 命令随时切换:
| Prompt 模式 | 用途 |
|---|---|
| code(默认) | 编码模式,TDD 工作流 |
| plan | 只做规划,不动手写代码 |
| review | 代码审查 |
| debug | 先找根因再修复 |
| ask | 只读模式,只能 grep/glob |
| brainstorm | 头脑风暴式探索 |
| frontend-design | 生产级 UI 设计 |
| review-security | 安全漏洞审查 |
| simplify | 代码简化,不改行为 |
| write-prompt | 编写和优化 Agent Prompt |
这个设计哲学非常明确:不用 Skills 系统和插件生态,直接用不同的系统 Prompt 来适配不同任务。 作者认为,一套设计良好的 Prompt 集完全可以替代 Claude Code 的 Skills 或 Superpowers 插件。
你还可以把自定义 Prompt 放在 $XDG_CONFIG_HOME/zerostack/prompts/ 目录下,按需加载。
权限控制是编码代理的命门——如果一个 Agent 可以自由地在你的文件系统上执行任何操作,一个错误的 LLM 输出就可能造成灾难性后果。
Zerostack 提供了四级权限模式:
ls、cd、cargo check 等)自动放行,写操作和破坏性操作需确认更值得关注的是 Doom-loop 检测——如果 Agent 连续 3 次以上执行完全相同的工具调用,会自动触发警告或拒绝。这个设计直接防止了 Agent 陷入死循环,而"Agent 卡在死循环里反复执行同一操作"是 Claude Code 用户中最常见的痛点之一。
Zerostack 的 Loop 系统是一个实验性但非常强大的功能,用于解决长任务自动化问题。Agent 会反复读取任务描述 → 从计划中选取待办项 → 执行 → 运行测试 → 更新计划 → 循环,直到任务完成或达到迭代上限。
# 交互式启动
/loop Implement the user authentication system
# Headless 模式,适合 CI/CD
zerostack --loop --loop-prompt "Refactor the API" --loop-max 10 --loop-run "cargo test"
结合 Git Worktree 集成,可以实现分支级任务工作流:
/worktree feature-x → 创建新分支和独立工作目录
... 在这里工作 ...
/wt-merge → 自动合并、push、清理、回到主仓库
这两个功能组合在一起,本质上就是一个轻量级的 AI 驱动 CI 系统——Agent 在隔离的 worktree 中工作,每一步都有测试验证,完成自动合并。
直接看对比数据(来自项目自述和 HN 社区实测):
| 指标 | Zerostack | OpenCode (Go/TS) | Claude Code (Node.js) |
|---|---|---|---|
| 二进制大小 | 8.9MB | ~100MB+ | ~200MB+ |
| 空闲内存 | ~8MB | ~150MB | ~300MB+ |
| 工作内存 | ~12MB | ~300MB+ | 数 GB |
| 空闲 CPU | 0.0% | ~2% | ~3-5% |
| 工作 CPU | ~1.5% | ~20% | ~15-25% |
| 代码量 | ~7k LoC | ~50k LoC | 不公开 |
Zerostack 在资源占用上的优势不是"好一点点",而是数量级级别的碾压。对于使用低端笔记本、云开发环境(如 GitHub Codespaces 有限配额)、或者同时在多个项目中工作的开发者来说,这个差异是体验层面的质变。
Zerostack 的定位决定了它不是"所有人的 AI 编码代理",但在以下场景中,它可能是最优解:
资源受限的开发环境:低配笔记本、树莓派、云开发环境(Codespaces/Gitpod 配额有限)、远程 SSH 开发。在这些环境下,Claude Code 可能直接把系统搞崩,而 Zerostack 几乎无感运行。
CI/CD 管道中的自动化编码:Loop 系统 + Headless 模式 + Git Worktree 集成,使得 Zerostack 天然适合作为 AI 驱动的 CI 步骤——在隔离环境中自动重构代码、运行测试、提交合并请求。
注重安全审计的团队:7,000 行代码可以人工审读,四层权限 + Sandbox 提供了可靠的安全护栏。对于需要确保 AI Agent 行为完全可控的安全敏感型组织,Zerostack 的透明性和可控性是巨大优势。
极简主义开发者 / Vim/Neovim 用户:如果你习惯了终端工作流,Zerostack 的纯 CLI 体验 + ACP 编辑器集成会让你感到舒适。
需要多模型灵活切换的场景:在开发过程中快速在 DeepSeek、Claude、GPT 之间切换,测试不同模型在特定任务上的表现。
Zerostack 的出现不止是一个开源项目的成功,它折射出 2026 年 AI 编码工具领域的一个深层矛盾——功能膨胀和实际需求之间的脱节。
Claude Code、Cursor、Copilot 等主流工具都在疯狂做"加法":更多的 Skills、更智能的上下文管理、更复杂的 Agent 协作协议。这些功能对某些场景确实有用,但它们也带来了一系列副作用——启动变慢、内存飙升、行为不可预测、调试困难。
Zerostack 的选择是做"减法"——用更少的代码、更少的内存、更少的功能,换取更高的透明性、可控性和性能确定性。
这不是技术上的倒退。恰恰相反,在 AI Agent 变得越来越像一个"黑盒子"的今天(你不知道它为什么调用这个工具、为什么做出这个决策),Zerostack 的极简设计提供了一种 元认知层面的安全感——你知道它只有 7,000 行代码,你知道它每一步在做什么,你可以在读完整份源码后安心地把项目交给它。
从更宏观的视角看,Zerostack 验证了一个趋势:2026 年的 AI 编码代理正在从"全能型选手"走向"专业化分化"。一端是 Claude Code、Cursor 这样的"重型 IDE",另一端是 Zerostack 这样的"特种工具"。它们不是替代关系,而是互补关系——在不同场景下,各有用武之地。
我个人的预测是:未来 6-12 个月内,我们会看到更多 Rust 编写的轻量级 AI Agent 涌现。 Node.js/Python 生态在快速原型开发方面仍有不可替代的优势,但一旦进入资源敏感的生产环境(CI/CD、边缘设备、嵌入式开发),Rust 的零成本抽象将成为决定性的竞争优势。
Zerostack 目前最大的不确定性不在于技术本身,而在于社区能否在"保持极简"和"满足用户需求"之间找到平衡。如果它为了追赶功能而开始膨胀,就会丧失最核心的差异化优势;如果它始终坚持"够用就好"的信条,可能会错过一些重要的应用场景。
这也是开源项目最迷人的地方——方向的抉择永远在集体讨论和个体决策之间拉扯。无论最终走向何方,Zerostack 至少已经证明了一件事:在 AI 编码代理的世界里,"小"可以是一种比"大"更强大的哲学。