文章摘要
zerostack是一个用Rust编写的轻量级编程代理工具,支持多AI提供商接口,具备文件操作、bash执行、权限管理等功能。提供终端UI界面和会话管理,支持运行时切换提示模式,集成Git工作树等开发工具,适用于自动化编程任务。
文章总结
Rust包管理平台crates.io上的zerostack项目介绍
项目概述
zerostack是一个用Rust编写的最小化编码代理工具,灵感来源于pi和opencode项目。
核心特性
- 多模型支持:兼容OpenRouter、OpenAI、Anthropic、Gemini、Ollama等多种AI服务商
- 文件操作工具:支持读写、编辑(带差异显示)、搜索、查找等操作
- 安全执行:提供权限控制、沙箱隔离和死循环检测的bash执行功能
- 终端界面:基于crossterm的终端UI,支持Markdown渲染和鼠标操作
- 提示系统:内置多种工作模式提示词(code/plan/review等),可动态切换
- Git集成:实验性的Git worktree工作流支持
性能表现
- 代码量:约7千行
- 二进制大小:8.9MB
- 内存占用:空闲时约8MB,工作时约12MB(相比基于JS的代理工具300MB显著降低)
- CPU占用:空闲时0%,工作时约1.5%(i5七代处理器测试)
安装指南
- 确保已安装Cargo和git
- 执行命令:
cargo install zerostack
可选沙箱模式需要安装bubblewrap,各系统安装命令:
- Debian/Ubuntu: apt install bubblewrap
- Fedora: dnf install bubblewrap
- Arch: pacman -S bubblewrap
使用示例
```bash
设置API密钥
export OPENROUTERAPIKEY="[api_key]"
交互式会话
zerostack
单次任务模式
zerostack -p "解释这个项目"
继续上次会话
zerostack -c ```
权限系统
提供4种权限模式: 1. 严格模式(-R):所有操作需手动确认 2. 标准模式(默认):安全命令自动批准 3. 全接受模式(--accept-all):工作目录内操作自动批准 4. 无限制模式(--yolo):全部自动批准
项目许可
采用GPL-3.0-only许可证
评论总结
以下是评论内容的总结:
内存效率优势(评论1、5)
- 认为该工具内存占用低(8MB空会话/12MB工作状态),相比Claude Code等工具占用数GB内存更友好
- 关键引用:"RAM footprint: ~8MB...Claude Code is using multiple gigabytes"(评论1)
- "opencode slowly leak memory...end up becoming 6gbs"(评论5)
对底层语言的期待(评论2、7)
- 支持使用底层语言开发,反对脚本语言TUI界面
- 关键引用:"a low level language. please no more scripting language TUIs!"(评论2)
- "writing your own...to help learn Rust"(评论7)
性能对比需求(评论3)
- 建议提供与其他工具(Claude/Codex等)的基准测试
- 关键引用:"would be great to see some kind of benchmark"(评论3)
安全性验证(评论4、6)
- 代码库简洁安全,有用户已进行风险检查
- 关键引用:"handed it over to DeepSeek...didn't find anything concerning"(评论4)
- "review...determine if it is safe"(评论6)
功能设计争议(评论8)
- 对循环功能是否应嵌入执行层存在不同意见
- 关键引用:"this shouldn't be embedded in the executor layer"(评论8)
替代方案分享(评论6、7)
- 用户分享类似工具开发经验(airun项目)
- 关键引用:"i built something with a similar philosophy"(评论6)
- "writing my own version...to learn Rust"(评论7)