轻量级Rust编程助手Zerostack
zerostack - 仅16MB RAM的Rust编程助手,支持多AI提供商和强大权限系统。
提到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 | bashbashCargo#
cargo install zerostackbashHomebrew#
brew tap gi-dellav/tap
brew trust gi-dellav/tap
brew install zerostackbashNix#
nix-run https://github.com/gi-dellav/zerostack/archive/refs/heads/main.tar.gzbash快速开始#
# 设置API密钥(OpenRouter是默认)
export OPENROUTER_API_KEY="[api_key]"
# 交互式会话
zerostack
# 单次模式
zerostack -p "解释这个项目"
# 继续上次会话
zerostack -c
# 显式提供商/模型
zerostack --provider openrouter --model deepseek/deepseek-v4-flashbash与其他AI编程助手的比较#
| 功能 | zerostack | JavaScript代理 |
|---|---|---|
| RAM(平均) | 〜16MB | 〜300MB |
| RAM(峰值) | 〜24MB | 〜700MB |
| CPU(空闲) | 0.0% | 〜2% |
| CPU(活动) | 〜1.5% | 〜20% |
| 二进制大小 | 26MB | N/A(Node.js运行时) |
高级功能(需编译时功能)#
zerostack还提供需要编译时功能的高级功能:
- ACP支持:Agent Communication Protocol,允许Zed等编辑器连接
- 持久内存:会话间的纯Markdown内存
- 生命周期钩子:观察/控制工具调用、提示、会话事件
- 顾问:用于战略指导的第二模型
- 多模态输入:附加图像和PDF
- 子代理:并行代码库探索
- ARCHITECTURE.md:同一代码库上代理的共享知识
- 提示链:头脑风暴 → 计划 → 代码 → 审查工作流程
- 状态信号:通过Unix套接字发送事件
何时应该使用zerostack?#
zerostack适合您,如果:
- 您想要轻量、高效的编程助手
- 您在资源有限的机器上工作
- 您需要运行多个并行会话
- 您关心具有强大权限系统的安全性
- 您更喜欢Unix哲学 - 可组合工具
- 您希望通过命令行完全控制
结论#
zerostack代表了AI编程助手的新方向 - 专注于性能、资源效率和Unix哲学,而不是试图做所有事情。凭借极小的占用空间和完整的功能集,它是不希望牺牲系统资源就能获得AI助手的开发者的绝佳选择。