# Zerostack--一款采用纯Rust语言编写、受Unix启发的编程代理

- 来源：Hacker News 热门（buzzing.cc 中文翻译）
- 作者：gidellav
- 发布时间：2026-05-17 08:46
- AIHOT 分数：74
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmp92lm860ngjslnztudqvy21
- 原文链接：https://crates.io/crates/zerostack/1.0.0

## 精选理由

不走 IDE 插件的老路，Zerostack 把编程代理做成命令行管道，Rust 纯血、Unix 哲学，适合喜欢拼接工具的开发者尝鲜。

## AI 摘要

Zerostack是一款采用纯Rust语言编写、受Unix哲学启发的编程代理工具，已正式发布1.0.0版本并在Rust包管理平台crates.io上提供。该发布在技术社区Hacker News上获得115点关注，反映出开发者对其的高度兴趣。Rust语言以内存安全和性能见称，Unix设计强调简洁与模块化，Zerostack结合两者优势，旨在提升编程效率，为代码辅助领域带来新选择。

## 正文

zerostack - crates.io：Rust 包注册表

zerostack v1.0.0

用 Rust 编写的极简编码智能体，针对内存占用和性能进行了优化

#ai

#cli

#dev

zerostack

用 Rust 编写的极简编码智能体，灵感来源于 pi 和 opencode。

功能特性

多提供商支持：OpenRouter、OpenAI、Anthropic、Gemini、Ollama，以及自定义提供商

文件工具：读取、写入、编辑（通过精确匹配并显示差异）、grep 搜索、查找文件、列出目录

Bash 执行：带权限门控，可选的沙箱隔离机制，以及死循环检测

权限系统：四种可配置模式，支持按工具设置模式、会话允许列表和外部目录策略

会话管理：保存/加载/恢复会话，自动压缩以保持在上下文窗口内

终端界面：基于 crossterm，支持 Markdown 渲染、鼠标选择/复制、回滚、推理过程可见性切换

提示词系统：运行时可在系统提示词模式间切换（代码、规划、审查、调试等），根据任务定制智能体行为，无需管理技能包。

MCP 支持：连接 MCP 服务器以扩展工具集

集成的 Exa 搜索：支持 WebFetch 和 WebSearch 工具

集成的 Ralph Wiggum 循环：为长周期任务提供循环能力

集成的 Git Worktrees 集成：使用 /worktree 将智能体从一个工作树移动到另一个工作树。

性能

zerostack 是市场上最小巧、性能最高的编码智能体之一。

代码行数：约 7k LoC

二进制文件大小：8.9MB

内存占用：空会话约 8MB，工作时约 12MB（相比之下，opencode 或其他基于 JS 的编码智能体约为 300MB）

CPU 使用率：空闲时 0.0%，使用工具时约 1.5%（在 Intel i5 第 7 代上测量；相比之下，opencode 空闲时约 2%，工作时约 20%）

安装

要安装 zerostack，您必须已安装 Cargo 和 git。然后，运行：

cargo install zerostack

现在您已准备好使用轻量级编码智能体了！

可选：沙箱模式

安装 bubblewrap 以使用 --sandbox 功能，该功能会在隔离环境中运行每条 bash 命令，保护您的系统免受意外或恶意损害：

# Debian/Ubuntu apt install bubblewrap

# Fedora dnf install bubblewrap

# Arch pacman -S bubblewrap

快速入门

# Set your API key (OpenRouter is default) export OPENROUTER_API_KEY="[api_key]"

# Interactive session (default prompt: code) zerostack

# One-shot mode zerostack -p "Explain this project"

# Continue last session zerostack -c

# Explicit provider/model zerostack --provider openrouter --model deepseek/deepseek-v4-flash

提示词系统

zerostack 包含一组内置的系统提示词，可改变智能体的行为和语气。

其理念是构建一套完整的提示词体系，能够完全替代诸如 superpower 或 Claude 官方技能这类功能。

你可以使用 /prompt 在不同提示词之间切换，或列出所有已注册的提示词。

内置提示词：

提示词 描述

code（默认） 编码模式，具备完整的文件与 bash 工具访问权限，采用 TDD 工作流

plan 仅规划模式——进行探索并生成方案，不编写代码

review 代码审查模式——审查代码的正确性、设计、测试及影响

debug 调试模式——在提出修复方案前先定位根本原因

ask 只读模式——仅允许 read/grep/glob 操作，禁止写入或执行 bash

brainstorm 仅设计模式——探索思路并呈现设计方案，不涉及代码

frontend-design 前端设计模式——打造独特且具备生产级品质的 UI

review-security 安全审查模式——查找可利用的安全漏洞

simplify 代码简化模式——优化代码清晰度，不改变其行为

write-prompt 提示词编写模式——创建并优化智能体提示词

你也可以通过将 markdown 文件放置在 $XDG_CONFIG_HOME/zerostack/prompts/ 目录下，并按名称引用它们，来创建自定义提示词。

此外，智能体会自动从项目根目录或任意上级目录加载 AGENTS.md 或 CLAUDE.md 文件，并将其内容注入到系统提示词中。使用 -n / --no-context-files 参数可禁用此功能。

权限系统

zerostack 有四种权限模式，从最安全到最宽松依次为：

restrictive（-R）：除非在配置中明确允许，否则每个工具操作都会提示请求批准

standard（默认）：安全命令（如 ls、cd、git log、cargo check）自动批准；写入和破坏性操作需要询问

accept-all（--accept-all）：自动批准工作目录内的所有操作；外部路径会提示确认

yolo（--yolo）：自动批准所有操作，无需提示

可以在配置文件中通过精细的 glob 模式为每个工具单独配置权限。例如，你可以允许自动写入 **.rs 文件，同时在写入其他文件前始终询问。

会话允许列表会在会话期间持续记录已批准的决策，因此你无需重复确认同一操作。

死循环检测：同一工具调用重复 3 次及以上时，会触发警告提示（或根据配置直接拒绝），防止失控的智能体滥用破坏性操作。

斜杠命令

以下是最重要的斜杠命令列表：

/model — 切换模型

/thinking — 设置思考级别

/clear — 清除对话

/session — 列出/保存/加载会话

/loop — 调度周期性提示词

/prompt — 列出或更改智能体的提示词

/mode — 设置权限系统的模式

要查看所有命令，请使用 /help。

会话管理

会话保存在 $XDG_DATA_HOME/zerostack/sessions/ 目录下。使用 -c 可恢复最近的会话，使用 -r 可浏览并选择一个会话，使用 --session <id> 可加载特定会话。

循环系统

zerostack 包含一个用于长周期任务的迭代式编码循环。智能体会反复读取任务，从计划中选择一项，执行该项，运行测试，更新计划，然后循环，直到任务完成或达到迭代次数上限。

注意：循环系统是一个实验性功能。

循环用法

/loop Implement the user authentication system /loop stop /loop status

/loop <prompt> — 使用给定的提示词启动一个循环

/loop stop — 停止当前活动的循环

/loop status — 显示当前循环状态

每次迭代都包含原始任务、不断演进的 LOOP_PLAN.md 文件、上一次迭代的摘要以及任何验证输出。当循环处于活动状态时，非斜杠输入将被阻止。

通过 CLI 进行无界面循环

zerostack --loop --loop-prompt "Refactor the API" --loop-max 10 --loop-run "cargo test"

标志 描述

--loop 启用无界面循环模式

--loop-prompt <text> 每次迭代的提示词

--loop-plan <path> 自定义计划文件路径（默认：LOOP_PLAN.md）

--loop-max <N> 最大迭代次数（默认：无限制）

--loop-run <cmd> 每次迭代后运行的验证命令

Git 工作树集成

zerostack 使用 git 工作树提供了一种按任务分支的工作流程。您可以直接在聊天界面中创建、操作、合并和退出工作树。

注意：Git 工作树集成是一个实验性功能。

Git 工作树用法

工作树集成提供 3 个斜杠命令：

命令 描述

/worktree <name> 在名为 <name> 的分支上创建一个 git 工作树并移入其中（如果该工作树已存在则跳过创建）

/wt-merge [branch] 将工作树分支合并到 [branch]（默认：main/master），推送，清理，然后返回主仓库

/wt-exit 返回主仓库，不进行合并

Git worktrees 的示例工作流程

创建 — /worktree feature-x 创建一个新分支和 worktree 目录，并将你移入该目录。

工作 — 正常使用 zerostack；更改保留在功能分支上。

合并 — /wt-merge 指示智能体合并分支、推送、清理，并返回主仓库。

退出 — /wt-exit 立即返回主仓库，不进行合并。

支持的提供商

OpenRouter（默认）

兼容 OpenAI 的提供商（vLLM、LiteLLM 等）

Anthropic

Gemini

Ollama

自定义提供商可通过 $XDG_CONFIG_HOME/zerostack/config.json 中的任意基础 URL 和 API 密钥环境变量进行配置。

许可证

GPL-3.0-only

元数据

发布日期：30 天前

2024 版

许可证：GPL-3.0-only

6.7K SLoC

大小：115 KiB

包 URL：pkg:cargo/zerostack@1.0.0

安装

cargo install zerostack@1.0.0 运行上述命令将全局安装 zerostack 二进制文件。

浏览源代码

仓库

所有者

1.0.0 版本的统计概览（查看全部）

历史总下载量 116 次

已发布 30 个版本

过去 90 天的下载量

显示方式

堆叠图
