【免费下载链接】zerostack
Lightweight coding agent written in Rust, optimized for memory footprint and performance
zerostack 是一个用 Rust 编写的高性能终端 AI 编程智能体,它以极小的内存占用和出色的性能著称。除了让 AI 帮你写代码,zerostack 真正的杀手锏是它精巧的会话管理机制:/btw并行提问让你在 Agent 干活的间隙随时插话提问,输入队列让你不用干等任务结束就能继续下达指令,而 HTML 导出分享功能则让一次完整对话随时可以存档、回看和分享给同事——上下文从此不再丢失。
为什么会话管理是编程智能体的核心
在传统的 AI 对话工具里,一旦 Agent 开始执行长任务,你的输入框就被"锁死"了:想问一句代码含义?只能干等。想让 Agent 干下一件事?也只能排队。会话一长,上下文丢失或混乱是家常便饭。
zerostack 从三个层面解决这个问题:
| 痛点 | zerostack 的解法 |
|---|---|
| 主任务运行中无法提问 | /btw并行插话,只读工具回答,不打扰主流程 |
| 无法提前下达后续指令 | 输入队列自动排队,当前轮次结束后依次回放 |
| 对话成果难以留存分享 | HTML 导出、JSONL 导入、一键分享 |
命令速查可参考 docs/COMMANDS.md,其中对每条命令都有详细说明。
/btw 并行提问:Agent 忙时也能"顺嘴问一句"
/btw(by the way)是 zerostack 会话管理中最有特色的命令。它的工作机制非常巧妙:
- 分叉当前上下文:
/btw会把当前会话的上下文(包括主 Agent 正在进行的这一轮)复制一份,在"分叉世界"里独立回答你的问题,主对话完全不受影响; - 只读工具保障安全:它只能使用
read、grep、find_files、list_dir这类只读工具回答,不会写文件、不会执行 bash 命令,放心提问不会弄脏你的工作区; - 零污染历史:回答直接内联打印,什么都不写入会话历史,主对话的上下文不会被插话稀释;
- 费用透明:这次提问消耗的 token 会单独显示为
btw:$…,和主对话的费用清晰分开; - 随时可取消:按 Ctrl-C 即可取消一个正在运行的
/btw,且不会干扰主 Agent。
典型用法:Agent 正在跑一轮代码审查时,你看到某段报错不太懂,直接输入/btw 这个 E0382 类型推断失败是什么意思,几秒后答案就内联出现在终端里,审查任务照常推进。相关实现位于 src/ui/app.rs 的run_btw函数,行为细节可在 src/tests/btw_tests.rs 中验证。
输入队列:Agent 忙时继续输入,自动排队回放
zerostack 的输入层还隐藏着一套智能排队机制,即使不用命令,它也在默默工作:
- Agent 运行时输入普通文本并回车,这条输入会被自动加入队列(终端会显示
queued: 你的内容),等当前轮次结束自动回放提交; - Agent 运行时输入
/、.、!开头的命令则无法有意义地排队,zerostack 会明确提示你,而不是静默丢弃; - 配合粘贴突发检测(paste burst):在没有括号粘贴支持的终端(如 Windows conhost、部分 SSH/tmux 链路)中,多行粘贴会被识别为一个整体进入输入缓冲,而不是逐行提交,避免一次粘贴变成 N 条指令。这套状态机实现见 src/ui/mod.rs。
队列还有三条管理命令,实现在 src/ui/app.rs:
/queue # 列出已排队的输入(等同 /queue ls) /queue clear # 清空队列 /queue pop # 移除最后一条排队输入比如你一口气贴了 5 条修改意见,发现第 3 条写错了——/queue pop精准移除,/queue随时查看还剩什么,完全不用盯着终端猜。
HTML 导出分享:一次对话,随时存档与协作
会话的"资产化"靠的是导出三件套,核心实现在 src/extras/export.rs:
一键导出 HTML:/export [file]
/export会把当前会话导出为一个独立 HTML 页面(默认文件名zerostack-session-<id>.html),浏览器直接打开即可阅读,样式模板来自 data/session_export.html。如果文件名以.jsonl结尾,则导出为机器可读的 JSONL 格式——首行是包含会话 ID、Provider、模型等元数据的头行,之后每条消息一行。
导入回看:/import <file>
JSONL 导出不是"单向门"。/import可以把它重新导入并加载为会话,甚至兼容其他工具生成的极简{role, content}行格式,导入逻辑见 src/ui/slash/session.rs。配合ZS_DATA_DIR环境变量(见 src/session/storage.rs),你还可以在不同机器间迁移自己的会话数据。
一键分享:/share
需要给同事看某次排查过程?/share会把 HTML 导出上传为私密 gist 并打印链接,一条命令完成分享,前提是设置了GITHUB_TOKEN或GH_TOKEN。导出与分享的完整命令文档见 docs/COMMANDS.md。
别忘了:/rewind 让会话也能"时光倒流"
导出解决的是"向外"的留存,zerostack 还提供"向内"的修正能力:
/rewind:打开选择器,把会话跳回任意一个更早的时间点,从头开始新的分支;/undo//redo:撤销与恢复最近一次回退移除的内容。
这套"提问不污染、排队不打断、导出可回看、回退可重放"的组合拳,正是标题里"再也不怕上下文丢失"的底气所在。
快速上手清单
- 安装并启动 zerostack,进入任意项目目录开始对话;
- 任务运行中随手
/btw 解释一下这段报错,体验并行提问; - 连续输入多条指令观察自动排队,用
/queue查看; - 对话结束时
/export生成 HTML 存档,或/share分享给团队; - 走错分支时
/rewind回退重来。
更多高级玩法(主题配置、子智能体、钩子等)可查阅 docs/ARCHITECTURE.md 与 docs/GET_STARTED.md。zerostack 的轻量 Rust 内核 + 精细会话管理,会让你的终端 AI 工作流从"能用"进化到"顺手"。
【免费下载链接】zerostack
Lightweight coding agent written in Rust, optimized for memory footprint and performance
相关推荐
再也不怕成就丢失!SteamAchievementManager导出导入功能全攻略
再也不怕成就丢失!SteamAchievementManager导出导入功能全攻略 你是否曾遇到过Steam游戏成就意外丢失的情况?换电脑重装游戏后,辛苦解锁的
桌面应用3个神级隐藏技巧:用Boss-Key打造你的Windows隐私堡垒
3个神级隐藏技巧:用Boss Key打造你的Windows隐私堡垒 你是不是也有过这样的尴尬时刻?正沉浸在游戏世界或刷着社交媒体,突然听到脚步声靠近,手忙脚乱地
桌面应用让混乱的视频收藏重获新生:Video Hub App 3打造你的个人视频博物馆
让混乱的视频收藏重获新生:Video Hub App 3打造你的个人视频博物馆 你是否曾在成百上千的本地视频文件中迷失方向?那些散落在硬盘各处的视频文件,就像一
桌面应用音视频
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考