配置

在服务器上运行 Antigravity CLI(agy)

对于个人账号,Google 的 Antigravity CLI 已经取代了 Gemini CLI。它是单个二进制文件,通过 SSH 也能正常登录。但在无头服务器上,它的表现和在笔记本上不太一样。本指南告诉你需要注意什么。

在服务器上运行 Antigravity CLI(agy)

简要回答

用 curl -fsSL https://antigravity.google/cli/install.sh | bash 安装,agy 会被放到 ~/.local/bin。通过 SSH 运行时,agy 会识别出这是远程会话,并打印一个登录链接。在任意设备上打开它,再把得到的代码粘贴回终端即可。如果是无头或 CI 场景,可以跳过 Google 登录:设置 "modelProvider": "gemini"(写入 ~/.gemini/antigravity-cli/settings.json),并导出 GEMINI_API_KEY。你的 GEMINI.md 文件无需改动,照常可用。

自 2026 年 6 月 18 日起,Gemini CLI 不再为免费账号以及 Google AI Pro、Ultra 个人账号提供服务。Google 的公告建议这些用户改用 Antigravity CLI,即 agy。在服务器上,需要留意的有三点:没有浏览器时如何登录、在 Google 登录和 API 密钥之间如何选择,以及终端前没人时 agy 如何处理权限。下面依次说明。

安装 agy

在 Linux 或 macOS 上,以普通(非 root)用户身份运行:

curl -fsSL https://antigravity.google/cli/install.sh | bash
export PATH="$HOME/.local/bin:$PATH"   # if ~/.local/bin isn't on PATH yet
command -v agy

官方安装页面说明二进制文件会装到 ~/.local/bin/agy,支持 macOS、Linux 和 Windows。安装脚本会按平台下载对应的构建,Linux 版本同时提供 amd64 和 arm64,所以 ARM 架构的 VPS 也没问题。把 PATH 那一行加到 ~/.bashrc 或 ~/.profile 里,这样新开的 shell 和 tmux 窗口都能找到它。

有一点是服务器特有的:agy 会在后台自动更新。在笔记本上这很方便;但在一台长期运行的机器上,这意味着版本可能在一个长会话进行中途发生变化。Maude 会锁定它安装的版本,并通过 AGY_CLI_DISABLE_AUTO_UPDATE=1 关闭自动更新。如果你也想要同样的可预期性,就在启动 agy 的 shell 或服务单元里导出这个变量。

通过 SSH 登录

在 SSH 会话中启动 agy,选择 Google 登录。在笔记本上它会打开浏览器;通过 SSH 时,它会识别出远程会话,改为打印一个授权链接。接下来:

  1. 复制链接,在手机或笔记本上打开。
  2. 用你在 Antigravity 上使用的 Google 账号登录。
  3. 复制页面给出的代码,粘贴回终端。

凭据保存在操作系统的密钥环中,在 Linux 上就是 Secret Service。而一台裸 VPS 没有桌面会话来解锁密钥环。一个针对 agy 1.0.0 提交的 GitHub issue 报告称,正是这个原因导致无头 Linux 上出现反复要求登录的循环,另外文件存储回退方案还存在一个时区 bug。报告者的临时解决办法是 GEMINI_FORCE_FILE_STORAGE=true TZ=UTC agy …。我们尚未确认当前版本是否仍需要这样做。如果 agy 每次启动都要求你重新登录,先去看这个 issue;否则就改用 API 密钥模式。

要退出登录并清除已保存的配置,运行 /logout(在 agy 内输入)。

无头场景:API 密钥模式

对于 CI、多人共用的机器,或者任何你不想保留 Google 登录状态的服务器,可以让 agy 使用 Gemini API 密钥运行。安装文档给出了两步。第一步,在 ~/.gemini/antigravity-cli/settings.json 中设置模型提供方;如果文件已存在,把它合并进去:

{
  "modelProvider": "gemini"
}

第二步,让进程能读到这个密钥:

export GEMINI_API_KEY="…"   # e.g. in ~/.profile, or an EnvironmentFile for a systemd unit

这样就完全跳过了账号登录。用量按 Gemini API 价格以 token 计费,而不是计入 Google AI 套餐的额度。注意别让密钥出现在 shell 历史里,也别放进智能体正在操作的代码仓库。

没人盯着时的权限处理

这是服务器上最让人意外的行为。在我们对 agy 1.2.14 的测试中,无头运行(agy -p … 或 stream-json 模式)无法在工具执行前停下来询问。需要权限的命令或文件写入会被直接拒绝,并在该轮的结果中标记为已拒绝。要让任务继续进行,有三种办法:

  • 允许规则。agy 读取 permissions.allow 中的规则(位于 ~/.gemini/antigravity-cli/settings.json),条目形如 "command(npm test)"、"write_file(src/app.ts)" 或 "command(*)",在启动时读取。
  • 模式。--mode accept-edits 会自动批准文件编辑,但命令仍会被拒绝。--mode plan 只做规划,不执行。
  • 完全不检查。--dangerously-skip-permissions,适用于用完即弃的机器。用之前先看看如何安全地以完全权限运行智能体。

在终端中交互式运行的 agy,以及 Remote Control(见下文),都可以暂停并询问。所以这个限制只针对脚本化的无头使用。

迁移 Gemini CLI 配置

迁移指南对此有详细说明。如果服务器上原本装过 Gemini CLI,简要来说:

  • 首次启动会提示迁移。如果 agy 发现已有的 Gemini CLI 配置,会列出可转换的扩展和全局设置供你勾选。
  • 扩展变成插件。随时运行 agy plugin import gemini,即可把 Gemini 扩展转换为 Antigravity 插件。
  • 上下文文件原样可用。GEMINI.md(工作区中的以及 ~/.gemini/GEMINI.md)和 AGENTS.md 无需任何改动即可读取。
  • MCP 服务器需要小改。全局服务器配置在 ~/.gemini/config/mcp_config.json,工作区的在 .agents/mcp_config.json。把旧的 url/httpUrl 键改名为 serverUrl。
  • Skills 要换位置。工作区 skills 从 .gemini/skills/ 移到 .agents/skills/,全局的移到 ~/.gemini/antigravity-cli/skills/。这一步需要你手动完成。

Google 表示目前功能还没有完全对齐,迁移指南也提到部分自定义主题和视觉调整不会被迁移。如果某个工作流依赖特定扩展,导入后先测试一下,再删除旧的配置。

Remote Control 守护进程与 Maude

Google 提供了从其他设备访问 agy 的官方方式。根据 Remote Control 文档,有三种启动方式:

  • 在运行中的会话里输入 /remote-control。该 CLI 会话退出时,隧道随之关闭。
  • 启动会话时使用 agy --remote-control。会话退出时,这条隧道同样会关闭。
  • 无头守护进程:agy remote-control start --name my-vps,配合 agy remote-control status 和 agy remote-control stop 使用。它会注册一个系统服务,在后台持续运行。

你可以在任意浏览器中,用同一个 Google 账号登录网页控制台来操作它。文档称,可以把控制台安装到手机主屏幕上以接收推送通知,权限请求既能在终端回应,也能在远程界面回应。文档还提到,账号或组织层面的功能开关可能会禁用它。

agy Remote ControlMaude
费用拥有 Antigravity 使用权即可免费使用付费应用($2.99/周(3 天试用)或 $59.99/年(7 天试用))
客户端浏览器控制台,可安装为网页应用原生 iOS、iPadOS 和 Android 应用
智能体仅 AntigravityAntigravity、Claude Code、Codex、OpenCode、Grok Build
服务器端配置你自己安装并登录 agy,然后启动守护进程应用通过 SSH 部署自己的守护进程和锁定版本的 agy
权限请求实时回应,在终端或控制台均可在操作被拒绝之后显示:你批准后,该操作会重试
登录你的 Google 账号在手机上用 Google 登录并粘贴代码,或使用 Gemini API 密钥

如果你只用 Antigravity 这一个智能体,而且你的账号开启了该功能开关,那么官方守护进程显然是首选。它免费,而且能在执行前先询问。

用手机运行它

如果你想在服务器上把 agy 和其他智能体一起运行,并通过原生应用操控,Maude 是一个选择。添加服务器后,应用会安装经过测试的 agy 版本,并让你在手机上完成登录——可以用 Google 登录并粘贴代码,也可以用 Gemini API 密钥。坦白说明 Maude 中 Antigravity 的情况:由于 Maude 驱动的是无头 agy,它无法在工具执行前停下来询问。Maude 会把被拒绝的操作展示给你,如果你批准,它会添加一条允许规则并重试。详情见 Antigravity 智能体页面。Gemini CLI 这次变动本身,以及大家都转向了哪些替代方案,可以看我们关于 Gemini CLI 停服的文章。

常见问题

如何通过 SSH 登录 agy?
运行 agy 并选择 Google 登录。它会识别出 SSH 会话,打印一个授权链接,而不是打开浏览器。在任意设备上打开该链接并登录,再把得到的代码粘贴回终端。
我的 GEMINI.md 还能用吗?
能。Google 的迁移指南说明,agy 无需改动即可读取 GEMINI.md(工作区中和 ~/.gemini/ 下的)以及 AGENTS.md。MCP 服务器配置和 skills 则需要迁移,见上文的迁移部分。
还能用 API 密钥使用 Gemini CLI 吗?
Google 的公告称,使用 Gemini Code Assist Standard 或 Enterprise 的组织仍可继续使用,Gemini CLI 也仍可搭配付费的 Gemini API 密钥使用。停止服务的是个人登录(免费、Google AI Pro 和 Ultra)。
2026 年 6 月 18 日发生了什么?
Gemini CLI 和 Gemini Code Assist IDE 扩展停止为免费用户、Google AI Pro 和 Ultra 订阅用户以及 Gemini Code Assist for GitHub 提供服务。Google 于 2026 年 5 月 19 日宣布了这一变动,并建议这些用户改用 Antigravity CLI。
为什么无头 agy 会直接拒绝命令,而不是询问?
在 print 和 stream-json 模式下,没有可以显示的交互式提示,因此需要权限的操作会被拒绝并报告出来。你可以在 ~/.gemini/antigravity-cli/settings.json 中添加允许规则,用 --mode accept-edits 放行文件编辑,或者在希望它询问时以交互方式运行 agy,或通过 Remote Control 使用。

更新内容

  • — 首次发布。安装、认证、迁移和 Remote Control 的细节已对照 antigravity.google 文档核实;无头权限行为来自我们在 agy 1.2.14 上的实测。

Antigravity 跑在你的服务器上,用手机操控

添加服务器,用 Google 或 Gemini API 密钥登录,然后开始会话。支持 iOS 和 Android。

Download Maude on the App Store Get Maude on Google Play