zerostack 是一个 Rust 写的极简终端编码 agent,灵感来自 pi 和 opencode,主打超低内存占用与性能:二进制 8.9MB、空会话 ~10MB RAM、工作时 ~13MB(对比 opencode 等 JS 编码 agent 的 ~300MB),却保留多 provider(OpenRouter/OpenAI/Anthropic/Gemini/Ollama/自定义)、标准工具集、四档权限系统、MCP、Exa 搜索、loop、git worktree 集成等完整能力。
来源:README 首段 + Features + Performance + Cargo.toml 查看 GitHub 仓库 →主流终端编码 agent 多是 JS/TS 写的,常驻内存动辄几百 MB、idle 也吃 CPU。zerostack 反其道用 Rust 把同样的能力做到罕见的轻量:8.9MB 二进制、idle ~10MB / 工作 ~13MB RAM、idle 0% CPU / 工作 ~1.5%(i5 7 代实测,对比 opencode idle ~2% / 工作 ~20%)。它没有为了轻量砍功能——多 provider、标准工具集(按 opencode 文档对齐)、四档可配权限、MCP(编译期可选特性)、Exa 集成 WebSearch/WebFetch、ACP 编辑器集成、prompt 模式系统、session 管理、loop(含 doom-loop 检测:同一 tool call 重复 3+ 次触发)、git worktree 集成都在。对在意资源占用、想常驻跑或在低配机/服务器上用 agent 的人,这是个有吸引力的取舍。极新(5 月创建)但发版活跃。
来源:README Performance / Features二进制 8.9MB,空会话 ~10MB RAM、工作时 ~13MB(对比 opencode 等 JS agent ~300MB);idle CPU 0.0%、用工具时 ~1.5%(i5 7 代实测,opencode 对应 ~2% / ~20%)。用 compact_str 等做内存优化,tokio 只开必要 feature。
来源:README Performance + Cargo.toml(compact_str/tokio features)支持 OpenRouter(默认)、OpenAI、Anthropic、Gemini、Ollama 及自定义 provider(任意 base URL + API key 环境变量);暴露 opencode 文档描述的全套标准编码 agent 工具(文件读写、bash 等)。--provider/--model 显式指定,如 deepseek/deepseek-v4-flash。
来源:README Features / Supported providers / Quick start四种可配权限模式(如 restrictive -R:每个 tool 动作都要批准,除非命中白名单),支持 per-tool glob 模式、session allowlist、外部目录策略。可细粒度控制 agent 能动什么,契合谨慎使用场景。
来源:README 'Permission system'(four modes / per-tool patterns)loop 系统支持反复执行直到满足条件,可经 CLI 跑 headless loop(无人值守);内置 doom-loop 检测——同一 tool call 连续重复 3+ 次自动触发干预,避免 agent 卡死空转。
来源:README 'Loop system'(headless loops + doom-loop detection)内置 git worktree 集成(默认编译包含),让 agent 在隔离 worktree 里工作不污染主分支,支持并行任务工作流。README 给出 worktree 使用与示例工作流。
来源:README 'Git worktrees integration'MCP server 支持作为编译期可选特性接入扩展工具;ACP(Agent Communication Protocol)支持编辑器集成(可选编译);集成 Exa 搜索提供 WebSearch/WebFetch;prompt 系统有多种模式(默认 code 模式:全文件 + bash 工具访问 + TDD 工作流),prompts/ 目录可定制;slash 命令(/model 等)+ session 管理(继续上次会话)。
来源:README Features / Prompts system / Slash commands / Installation(features)zerostack 是一个聚焦的 Rust 项目,src/(67 文件)按职责分模块:main.rs 入口、cli.rs(clap 命令行)、provider.rs(多 LLM provider 抽象)、event.rs(事件循环)、sandbox.rs(可选 sandbox 模式)等,TUI 用 ratatui、异步用 tokio(只开 rt/macros/sync/time/process/fs 必要 feature)、HTTP 用 reqwest、MCP 用 rmcp(编译期可选)。prompts/(11 文件)是可定制的 prompt 模式(code 等)。能力靠 Cargo feature 编译期裁剪——MCP、ACP、loop、git-worktree 是可选/默认 feature,sandbox 单独,让用户按需取舍二进制大小与功能。内存优化体现在选型(compact_str 紧凑字符串、tokio 精简 feature、Rust 无 GC)。HASHEDIT.md 描述基于哈希的编辑机制(类似锚点编辑,减少全文件重写)。设计判断:用 Rust + 编译期 feature 裁剪 + 紧凑数据结构把「完整能力的编码 agent」压到 ~10MB RAM,是非常清晰的「轻量优先」工程取舍,对标 opencode 的能力面但砍掉运行时开销;代价是 Rust 生态的 agent 工具链不如 JS 成熟,且极新(1.x 但 5 月才建)意味着稳定性与生态都待验证。
来源:src/ 模块 + Cargo.toml(features/deps)+ README + HASHEDIT.md中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成
tokio(精简 feature:rt/macros/sync/time…reqwestrmcpcompact_strclap + serde/serde_json + chrono + u…Exa1. 资源敏感场景:在低配机、容器、VPS 或想常驻跑 agent 的环境,用 ~10MB RAM 的编码 agent 替代 ~300MB 的 JS 方案;2. 多 provider 切换:用同一 CLI 在 OpenRouter/OpenAI/Anthropic/Gemini/Ollama/自定义 endpoint 间切换,本地模型走 Ollama;3. 谨慎权限工作流:用 restrictive 等模式 + per-tool glob 严格控制 agent 能执行什么,适合在重要仓库上小心使用;4. 无人值守任务:用 headless loop 跑反复执行类任务,doom-loop 检测防卡死;5. 并行隔离开发:git worktree 集成让多任务在独立 worktree 互不干扰;6. 编辑器集成:用 ACP 把 zerostack 接进支持 ACP 的编辑器。
来源:README Features / Loop system / Git worktrees / Permission systemv1.2.2(2026-05-19)。最近 4 个 release 全在 2 天内:v1.1.1 (2026-05-18) → v1.2.0 (2026-05-18) → v1.2.1 (2026-05-18) → v1.2.2 (2026-05-19),高频迭代。仓库 2026-05-12 创建,虽已进 1.x 但属诞生初期。
来源:GitHub Releases API(4 个 tag)+ repo created_at如果你在意编码 agent 的资源占用——想在低配机/容器/VPS 常驻跑,或受够了 JS agent 几百 MB 的内存——zerostack 是个有吸引力的 Rust 方案:~10MB RAM、8.9MB 二进制,却保留多 provider、权限系统、MCP、loop、git worktree 等完整能力。务实建议:1) 它最大卖点是资源占用,先确认这对你是真需求(桌面随便用的话 JS agent 的内存未必是问题);2) 设好 OPENROUTER_API_KEY(或换 provider)跑起来,重要仓库上用 restrictive 权限模式 + per-tool glob 控制范围;3) 极新(5 月建、1.2.x),别上关键生产,先在非关键任务验证它写代码的实际质量——README 只给了资源 benchmark、没给编码质量对比;4) 要的功能记得在安装时启用对应 feature(MCP/ACP 等是编译期可选);5) GPL-3.0 有 copyleft,商业集成前看清许可;6) 想要最新能力跟 release,但 API 可能变,配置写法以 CONFIG.md 为准。
来源:综合分析