blog.dopana

Back

提到AI编程助手时,大多数人会想到基于Node.js的重量级工具,消耗数百兆字节RAM,需要强大的机器。但zerostack彻底改变了这个游戏。

zerostack的不同之处#

zerostack是用Rust编写的极简编程助手,灵感来自pi和opencode。最显著的特点?整个应用程序平均仅消耗〜16MB RAM,峰值24MB。与可能消耗300-700MB RAM的基于JavaScript的编程助手相比,这是显著的改进。

[!TIP] 令人印象深刻的性能

  • 二进制大小:26MB
  • RAM:〜16MB(平均),〜24MB(峰值)
  • CPU:空闲时0.0%,活动时〜1.5%
  • 代码行数:〜30k LoC

主要功能#

多提供商支持#

zerostack支持多个AI提供商:

  • OpenRouter(默认)
  • OpenAI
  • Anthropic
  • Gemini
  • Ollama
  • 自定义提供商

您可以使用--provider--model标志轻松切换提供商。

强大的权限系统#

最重要的功能之一是具有5种模式的权限系统:

  • restrictive:每个操作都询问
  • read:仅读取,不写入
  • standard:允许大多数操作
  • permissive:允许更多操作
  • dangerous:无限制

支持按工具模式、会话允许列表和可配置策略。

智能提示系统#

不用管理复杂的技能,zerostack提供14个可在运行时切换的内置提示:

提示描述
code默认 - TDD工作流程,完整工具访问
plan仅计划 - 不编写代码
review审查代码的正确性、设计、测试
debug在提出修复之前找到根本原因
ask仅读取 - 不写入或bash
brainstorm仅设计 - 不编写代码
frontend-design生产级UI设计
review-security查找安全漏洞
simplify为清晰度优化代码
write-prompt创建和优化代理提示
refactor为可维护性重构代码
autoconfig交互式配置
orchestrator结合工具使用和并行子进程
write-text编写散文(文档、帖子、邮件)

会话管理#

zerostack允许:

  • 保存/加载/恢复会话
  • 自动压缩以保持在上下文窗口内
  • Git worktrees集成,用于每分支任务工作流程

MCP支持#

支持模型上下文协议(MCP)以连接外部工具服务器,扩展代理功能。

安装#

脚本(推荐)#

curl -fsSL https://raw.githubusercontent.com/gi-dellav/zerostack/main/install.sh | bash
bash

Cargo#

cargo install zerostack
bash

Homebrew#

brew tap gi-dellav/tap
brew trust gi-dellav/tap
brew install zerostack
bash

Nix#

nix-run https://github.com/gi-dellav/zerostack/archive/refs/heads/main.tar.gz
bash

快速开始#

# 设置API密钥(OpenRouter是默认)
export OPENROUTER_API_KEY="[api_key]"

# 交互式会话
zerostack

# 单次模式
zerostack -p "解释这个项目"

# 继续上次会话
zerostack -c

# 显式提供商/模型
zerostack --provider openrouter --model deepseek/deepseek-v4-flash
bash

与其他AI编程助手的比较#

功能zerostackJavaScript代理
RAM(平均)〜16MB〜300MB
RAM(峰值)〜24MB〜700MB
CPU(空闲)0.0%〜2%
CPU(活动)〜1.5%〜20%
二进制大小26MBN/A(Node.js运行时)

高级功能(需编译时功能)#

zerostack还提供需要编译时功能的高级功能:

  • ACP支持:Agent Communication Protocol,允许Zed等编辑器连接
  • 持久内存:会话间的纯Markdown内存
  • 生命周期钩子:观察/控制工具调用、提示、会话事件
  • 顾问:用于战略指导的第二模型
  • 多模态输入:附加图像和PDF
  • 子代理:并行代码库探索
  • ARCHITECTURE.md:同一代码库上代理的共享知识
  • 提示链:头脑风暴 → 计划 → 代码 → 审查工作流程
  • 状态信号:通过Unix套接字发送事件

何时应该使用zerostack?#

zerostack适合您,如果:

  • 您想要轻量、高效的编程助手
  • 您在资源有限的机器上工作
  • 您需要运行多个并行会话
  • 您关心具有强大权限系统的安全性
  • 您更喜欢Unix哲学 - 可组合工具
  • 您希望通过命令行完全控制

结论#

zerostack代表了AI编程助手的新方向 - 专注于性能、资源效率和Unix哲学,而不是试图做所有事情。凭借极小的占用空间和完整的功能集,它是不希望牺牲系统资源就能获得AI助手的开发者的绝佳选择。

参考资料#