在终端直接运行自主 AI Agent:Zero
我经常发现自己疲于在 IDE 窗口、浏览器和终端之间来回切换,仅仅是为了根据神经网络的建议进行编辑。大多数现成的解决方案要么绑定特定的付费订阅,要么需要将整个项目交给第三方服务器,无法明确控制哪些内容被发送到云端。最近我发现了 Gitlawb 团队开发的一个有趣项目——Zero。这是一个用 Go 编写的终端编程助手,直接在你的机器上运行,支持你选择的模型。
无供应商锁定。想要连接本地 Ollama 或 LM Studio 以获得完全隐私——尽管去做。需要将复杂的重构任务交给 Claude 3.5 Sonnet、DeepSeek 或 Gemini——只需添加你的 API 密钥即可。
这个助手能做什么,以及它与同类产品的区别
Zero 被设计为一个注重控制权的开发者工具。这个助手不仅仅是在聊天中生成代码片段——它可以探索代码库、编辑文件、运行测试和执行终端命令。
主要区别在于其安全性和访问控制方法。默认情况下,助手可以读取工作目录中的文件,但任何尝试在项目外写入、执行危险 shell 命令或访问网络的行为都会触发权限系统。
该工具支持两种运行模式:
- 交互式 TUI,支持主题、实时切换模型、差异查看和对话分支导航。
- 通过
zero exec命令触发的自动模式,可嵌入 bash 脚本或 CI 流水线中。
所有会话都存储在本地磁盘上。你可以随时停止工作,通过 /resume 返回旧任务,或使用 /btw 命令创建一个隔离的会话分支来提出附带问题,而不会弄乱主对话上下文。
安装与首次启动
Zero 有多种安装方式。最简单的是使用 npm 或官方安装脚本。
通过 npm:
npm install -g @gitlawb/zero
zero
或通过适用于 Linux 和 macOS 的安装脚本:
curl -fsSL https://raw.githubusercontent.com/Gitlawb/zero/main/scripts/install.sh | bash
从源码构建需要 Go 1.26.5 或更高版本:
git clone https://github.com/Gitlawb/zero.git
cd zero
go build -o zero ./cmd/zero
首次启动时,zero 命令会运行交互式设置向导,帮助你选择模型提供商并验证连接。如果你使用的是云端 API,只需提前导出所需的密钥:
export ANTHROPIC_API_KEY="sk-ant-..."
# или
export OPENAI_API_KEY="sk-..."
对于本地模型,该工具可以通过 zero providers detect 命令自动检测正在运行的 Ollama 实例。
日常使用场景
终端界面响应迅速且便捷。TUI 提供了快捷键和斜杠命令。例如,权限循环切换通过 Shift+Tab 完成,模型选择则通过 /model 命令调用。
/spec — составить и обсудить план изменений до правок кода
/image — прикрепить скриншот интерфейса или схемы
/compact — сжать контекст, если диалог стал слишком длинным
/add-dir — выдать агенту временные права на запись в соседнюю папку
如果不需要图形界面,无头模式可以派上用场。比如,你的一个 Go 包中的自动化测试失败了:
zero exec "fix the failing test in ./pkg"
对于复杂任务,使用隔离的 git worktree 非常方便,这样助手不会触碰你的工作分支,直到你审查完结果:
zero exec --worktree "try the migration in an isolated worktree"
Zero 还支持通过 --output-format stream-json 标志以 JSONL 格式流式输出,简化了包装器的编写和与外部服务的集成。
通过 MCP、插件和规范进行扩展
为了微调项目行为,Zero 直接从代码库中读取指令文件 AGENTS.md 或 ZERO.md。如果你将这样的文件放在项目根目录,助手将考虑你团队的编码规范、目录结构和提交格式规则。
如果内置工具不够用,项目还支持:
- MCP(Model Context Protocol)用于连接外部数据库或第三方服务。
- 带有会话启动或操作执行事件钩子的插件(
beforeTool、afterTool)。 - 添加特定自动化场景的自定义 markdown 技能。
谁适合使用 Zero
这款工具适合那些经常通过 SSH 在远程服务器上工作、喜欢终端工具、不想依赖专有编辑器插件的开发者。严格的基于 Linux seccomp 的沙箱和本地会话历史使 Zero 成为处理闭源企业代码的绝佳选择。
你可以在任何平台上试用这个项目——文档和源代码在仓库页面上采用 MIT 许可证开源。
相关项目