>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Go

在终端直接运行自主 AI Agent:Zero

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.mdZERO.md。如果你将这样的文件放在项目根目录,助手将考虑你团队的编码规范、目录结构和提交格式规则。

如果内置工具不够用,项目还支持:

  • MCP(Model Context Protocol)用于连接外部数据库或第三方服务。
  • 带有会话启动或操作执行事件钩子的插件(beforeToolafterTool)。
  • 添加特定自动化场景的自定义 markdown 技能。

谁适合使用 Zero

这款工具适合那些经常通过 SSH 在远程服务器上工作、喜欢终端工具、不想依赖专有编辑器插件的开发者。严格的基于 Linux seccomp 的沙箱和本地会话历史使 Zero 成为处理闭源企业代码的绝佳选择。

你可以在任何平台上试用这个项目——文档和源代码在仓库页面上采用 MIT 许可证开源。

相关项目