Google Antigravity 使用入门

1. 简介

在此 Codelab 中,您将了解 Google Antigravity,这是一个智能体式开发平台,旨在帮助您在这个智能体时代进行开发。Antigravity 2.0 是 AI 智能体的中央指挥中心,提供统一的平台来启动、监控和编排其活动。

随着 2.0 的发布,Antigravity 不再只是一个与 IDE 集成的智能体管理器。它现在是一个完整的产品生态系统,专为智能体优先时代而设计:

  • Antigravity:适用于 macOS、Linux 和 Windows 的旗舰版独立应用。您可以在此指挥中心并行管理多个本地代理、运行预定任务等。与前身 Agent Manager 不同,Antigravity 2.0 是一款独立应用,可独立于 IDE 运行。
  • Antigravity IDE:原始的智能体 IDE 仍然可用(建议开发者使用!)。它附带智能体管理器、制品,并且能够深入了解您的代码库。
  • Antigravity CLI:一种命令行界面,用于基于终端的代理互动。本教程不会介绍此界面。
  • Antigravity SDK:供开发者以编程方式将 Antigravity 集成到自己的系统中的工具。本教程不会介绍此功能。

在本 Codelab 中,我们将重点介绍 Antigravity,并简要介绍 Antigravity IDE。另外两个组件 Antigravity CLI 和 Antigravity SDK 不在本文档的涵盖范围内。

如果您对有关 Antigravity CLI(一种基于终端的应用)的 Codelab 感兴趣,请参阅以下 Codelab:Antigravity CLI 使用入门

学习内容

  • 安装和配置 Antigravity。
  • 探索 Antigravity 的关键概念,例如如何使用智能体、工作区等。
  • 通过各种设置并根据您的偏好自定义 Antigravity。

所需条件

Antigravity 需要在您的系统上本地安装。该产品适用于 Mac、Windows 和特定 Linux 发行版。除了您自己的设备之外,您还需要以下设备:

  • Chrome 网络浏览器。
  • Gmail 账号(个人 Gmail 账号)。

此 Codelab 适合不同水平的用户和开发者。

报告问题

在学习此 Codelab 并使用 Antigravity 时,您可能会遇到问题。

如果遇到与 Codelab 相关的问题(错别字、说明错误),请点击此 Codelab 左下角的 Report a mistake 按钮提交 bug:

e7d8a6055a16a773.png

如果遇到与 Antigravity 相关的 bug 或有相关的功能请求,请在 Antigravity 中报告问题。如需报告产品反馈,请点击 Antigravity 产品左下角的“设置”。然后选择选项 Provide Feedback

2. 安装

安装 Antigravity

前往 Google Antigravity 下载页面。下载适用于您的操作系统(macOS、Linux 或 Windows)的 Antigravity 应用。

31e6370c1744fe73.png

运行安装程序。系统会显示以下界面:

4783c8ff21fbc6e7.png

使用您的 Google 账号登录。完成身份验证后,系统应显示以下内容:

12fa8752446a0458.png

点击 Open Antigravity(打开 Antigravity)。系统会显示“安全和数据使用”政策。点击下一步

8f2fe904767c34b.png

选择您喜欢的主题:

cc2466b518c241c9.png

Antigravity 随附一组可与各种 Google 开发者工具搭配使用的插件。这些插件会安装一组技能,帮助 Antigravity 与 Google 的各种开发者工具配合使用。以下是您可以选择安装的插件列表。本 Codelab 不会介绍这些插件。点击 Finish

3919ac5f462a5dfc.png

您应该会看到如下所示的 Antigravity 界面:

319cf98d41231a82.png

安装 Antigravity IDE

您可以选择安装 Antigravity IDE。前往 Google Antigravity 下载页面。前往 Antigravity IDE 下载部分。

6d05924ef8098ae.png

成功安装 Antigravity 和 Antigravity IDE 后,您会在 Dock 中看到两个图标:Antigravity(白色背景)和 Antigravity IDE(黑色网格背景)。

97b7906262ed8246.png

3. Antigravity 接口

我们已准备就绪,可以开始使用了!我们先重点介绍如何使用 Antigravity。Antigravity 的初始界面类似于下图:

4b2ebaf5bbaa6a27.png

在本教程中,我们会根据需要介绍左下角的设置选项。

项目

我们先来了解一下 Antigravity 中的项目概念。这一点至关重要,因为如果您留意右侧窗格中的界面,会发现其中明确显示了选择项目。Antigravity 采用以项目为中心的方法,以确保客服人员能够访问正确的文件、工具、权限等。

项目是定义环境和代理范围的文件夹的组合。项目可以与一个或多个文件夹(例如,前端和后端代码库)搭配使用,而不是强制代理在单个文件夹中运行,从而为代理提供代码库所需的所有上下文。所有项目都有各自独立的代理设置,因此您可以单独自定义不同项目的安全设置。

我们来创建第一个项目。在本地计算机的主文件夹中,创建一个名为 $HOME/agy2-projects/my-first-project 的文件夹。请注意,该文件夹不必为空。

现在,我们将通过定义构成项目的文件夹,在 Antigravity 中创建第一个项目。在初始情况下,它将是一个文件夹。

点击选择项目 → 新建项目,如下所示:

8fb15004219d1d6d.png

系统会按预期要求您选择文件夹,如下所示:

3b194f9234cbf9ca.png

点击添加文件夹,然后前往并选择特定文件夹,即 $HOME/agy2-projects/my-first-project

d23fe54bdb844569.png

您仍然可以向项目添加更多文件夹(通过添加文件夹),但现在,我们可以点击创建按钮。

系统随即会显示一个对话框,如下所示。所有项目都有各自独立的代理设置,因此您可以单独自定义不同项目的安全设置。

b5f0faa2f05785b6.png

每个项目都会从主界面中通过设置提供的全局配置继承有关查看制品、允许的工具和 MCP 服务器配置的权限。不过,您可以为每个项目单独设置这些权限以及更多权限,从而获得更大的灵活性,并使特定项目的上下文和工具保持精简。

即使您不点击此处的打开设置按钮,也可以随时前往主设置并针对您的项目调整这些权限。

现在,我们点击开始首次对话,向我们出色的客服人员问好。您将看到以下界面。项目会显示在项目列表中,也会显示在聊天界面中,如图所示。

请注意,您可以选择模型,通过“+”号、“@”或“/”操作传递更多上下文,等等。

f2bfdb27bc878643.png

您向智能体发送问候消息后,智能体会相应地做出回应。

7e4027bd7a9505e3.png

我们还有另一个获取新闻的请求,效果不错。

a5b751531e25f2d3.png

对话

在我们的项目 (my-first-project) 中,我们启动了一个对话线程,目前该线程中有一系列消息(用户消息和代理回答)。

您会看到,左侧的此对话串已归入相应项目下。

e650cbd24d8b66ca.png

现在,让我们做一些有趣的事情,为这个对话串命名。我们将其命名为 conv-introduction

为此,请点击对话旁边的三个竖点。系统会显示 3 个选项。选择重命名操作。

244d0bd0fce7a213.png

将该值设为 conv-introduction 或任何对您有意义的名称。现在,如果您想在该项目中进行全新的对话,请点击项目旁边的 + 号,如下所示。

7b834450020d8c03.png

大功告成。您正在进行全新的对话。让我们询问一些世界各地的体育新闻。请注意,我们仍处于 my-first-project 中。

4b3208b40a03b6d1.png

这样一来,我就能获得一些体育界的新闻,您会注意到,现在我们在同一项目中有了两个对话串。

aaf65af4b2791423.png

我们将此对话重命名为 conv-sportsnews。如果您想查看迄今为止的所有对话,可以访问左上角的对话历史记录,如下所示:

3ed91bba75d70871.png

在任何时候,您都可以选择在当前项目或新项目中发起新的对话,只需点击顶部的新对话选项即可。

项目设置

现在,我们回到之前讨论过的项目设置。在 Antigravity 中创建项目时,该项目会继承默认权限,您可以根据需要专门替换这些权限。

如需前往特定项目的项目设置,请点击左侧导航栏中每个项目旁边的设置齿轮图标。

7f7158d07780eba9.png

这样,您便会进入特定项目(即 my-first-project)的设置,如下所示:

d73f96c9f4f8f61b.png

请注意,左侧“项目”下方选择了 my-first-project。如果还有其他项目,这些项目会显示在此列表下方,您可以轻松选择任何项目,并根据需要调整其设置。

现在,让我们重点关注右侧,即为 my-first-project 显示的项目设置。您会注意到,其中包含我们已添加到此项目的单个文件夹。您也可以在此处添加更多文件夹。

建议您先浏览整个列表,了解现在提供的灵活性,以便根据项目自定义要求更改大量设置。

其中包括:

  • 安全预设:确定在代理执行操作之前,是否需要您审核所有终端命令和文件访问权限。
  • 代理行为:确定代理是否在您审核后执行实施计划。
  • 各种本地权限:允许或阻止代理使用的文件路径、网址等。
  • 您甚至可以配置允许此项目使用的特定 MCP 工具。这对于防止将所有全局配置的 MCP 服务器提供给此项目中的代理非常有用。

注意:您可以随时通过 Antigravity 界面中的主设置选项前往 Antigravity 的设置,甚至项目设置。

9632f5815b5f00c5.png

4. 斜杠命令

在“反重力”中,有一些有趣的斜杠 / 命令。在对话聊天界面中,如果您输入 /,应该会看到如下所示的命令:

a6b3198f2b693d8d.png

请考虑使用 /browser 命令。这是一条明确的命令,用于启动浏览器并要求其执行某些操作。它需要 Google Chrome 和 Google Chrome 中的权限才能开始调试会话。

1a23771f8cc1f7d2.png

这会生成一个浏览器分代理,该代理会尝试启动与 Chrome 的调试会话,并首先征求您的许可:

1380710b74477b94.png

允许后,该应用会根据需要请求权限并获取详细信息。

8620b739bc192f7.png

6d592e977d54337b.png

如果您想设置定期或一次性任务,让代理按固定时间间隔或按计划(例如周一、周三上午 9:00)执行任务,/schedule 命令会非常有用。

与此同时,您还可以通过界面执行此操作,这将在下一步的安排命令部分中介绍。

5. 安排命令

您可以使用主界面中的安排选项来自动执行周期性任务,或在特定项目中设置一次性提醒。

4749901a164cd1ad.png

我们来创建一个每日任务,提醒我们每天下午 5 点开会。点击新建,然后填写详细信息,如下所示:

41865ad9a5242407.png

点击 Add Scheduled Task,然后将任务添加到预定任务列表中,如下所示:

a4cecc4896c59893.png

我们再添加一个,用于每 20 分钟提醒我们休息一次:

e3b75ee01010eb9.png

现在,我们有两项预定任务,如下所示:

6d122472143e48f3.png

您可以停用或删除任何任务。请注意,我们使用的是基本提示,但您可以提供详细的提示,也可以调用工具(与外部系统对话),并根据您的要求定期在后台执行更多工作。

6. MCP 服务器

Model Context Protocol (MCP) 已成为帮助代理连接到外部系统的标准。它们在确保代理在数据和集成方面保持接地气方面发挥着关键作用。

Antigravity 支持本地和远程 MCP 服务器。它还随附与多个 MCP 服务器的集成,这些服务器可与 Google Cloud 服务搭配使用,只需点击一下即可安装,并提供少量配置数据。

首先,我们来看看这个预配置的 MCP 服务器选项列表。前往设置 → 自定义,然后点击添加 MCP+ 按钮以添加新服务器。系统会显示一个对话框,您可以在其中查看完整的服务器列表:

dbde58f6f5f99df9.png

点击 +添加按钮以添加任何 MCP 服务器。您需要提供一些信息,例如项目 ID、数据库详细信息(具体取决于 MCP 服务器)。

添加现有 MCP 服务器

在幕后,您配置的 MCP 服务器会添加到 $HOME/.gemini/config/mcp_config.json 文件中。如果您一直在使用现有的远程 MCP 服务器,只需将详细信息添加到此文件中即可。如需了解如何配置自定义 MCP 服务器,请点击此处查看相关部分。

在此处添加远程 MCP 服务器并保存文件后,您可以前往 Antigravity 中的“MCP 服务器”部分,如下所示:

  1. 在 Antigravity 主界面中,点击设置
  2. 前往自定义。如果您仍然没有看到 MCP 服务器,请点击刷新。下图显示的是我们设置中的配置。

7d004eba523578fd.png

  1. 您可以点击切换按钮,根据需要停用任何 MCP 服务器。或者,您也可以点击任何 MCP 服务器,查看该服务器公开的工具。

7. 制品

Antigravity 在规划和完成工作时会创建制品,以便传达其工作内容并从人类用户那里获得反馈。这些文件包括富 Markdown 文件、架构图、图片、浏览器录制内容、代码差异等。

工件可弥合信任差距。当智能体声称修复了 bug 时,开发者之前必须读取代码才能进行验证。在 Antigravity 中,智能体可生成工件来证明这一点。

以下是 Antigravity 生成的主要制品:

  • Task Lists:在编写代码之前,智能体生成结构化方案。您通常不需要修改此计划,但可以查看该计划,并在必要时添加注释来更改该计划。
  • Implementation Plan:用于在代码库中设计变更以完成任务。这些计划包含有关需要进行哪些修订的技术细节,除非您已将制品评价政策设置为始终继续,否则应由用户审核这些计划。
  • Walkthrough:此文件在代理完成任务实现后创建,用于总结更改并说明如何测试这些更改。
  • Code diffs:虽然从技术上讲不是制品,但 Antigravity 也会生成代码差异,供您查看和添加注释。
  • Screenshots:代理会捕获更改前后的界面状态。

如需更好地了解制品,请使用以下提示与新项目或现有项目创建对话:

Write a node application that I can run from the command line to get me the latest news from Google.

智能体起飞,然后带回了我们的第一个制品,即实施计划:

37333333a7794098.png

您可以切换右上角显示的辅助窗格,查看 Antigravity 生成的任何制品。

94738a4b59d84fd7.png

如果您切换辅助窗格,您会看到以下输出,其中提到生成了 1 个制品(实施计划)。

3ad614ce81650142.png

点击实施计划以查看详细信息,如下所示:

90e8ccae66dba76b.png

目前,我们对该方案没有异议,只需点击 Proceed(继续)按钮即可继续。

现在,当它开始工作时,会创建另一个制品(即任务计划)和其他文件。您可以在辅助窗格中看到所有这些内容,如下所示:

5e7c8edfff5390ee.png

如果您点击任务制品,您会看到一份分步任务列表,其中列出了实现您确定的目标所需的步骤,以及哪些步骤已完成,哪些步骤尚未完成。

a18a60fc2a5c136f.png

最后,当所有内容都已完成、经过代理测试和验证后,您会收到一条消息,告知您任务已完成。现在,另一个制品(称为“演练”)已准备就绪。您可以查看最终列表,如下所示:

125f41b0a983f57a.png

请注意,除了制品(任务、演练和实施方案)之外,还有源文件 (package.jsonindex.js)

您可能不需要功能完善的编辑器 / IDE 即可查看生成的文件。您可以点击 package.jsonindex.js 文件,然后查看其内容并添加评论。

8. Antigravity IDE

如果您偏好使用 IDE,可以选择使用我们在本 Codelab 中之前安装的 Antigravity IDE。您会注意到,当您在 Antigravity 主界面中切换辅助面板时,会看到一个 Open IDE 选项。

94738a4b59d84fd7.png

点击该链接即可打开 Antigravity IDE。您可能会在启动 Antigravity IDE 时看到如下所示的警告:

d5919244c996af7f.png

这种情况很正常。请继续点击。这会打开 Antigravity IDE,使用过 IDE 的人应该会很熟悉。它包含所有生成的文件夹/文件、一个编辑器和一个代理面板,您可以在其中与代理就代码进行对话(解释、生成、修复等)。

f6af75f8e99cbbc6.png

9. 技能

虽然 Antigravity 的底层模型是强大的通用模型,但它们并不了解您的具体项目背景或团队标准。将每条规则或工具都加载到代理的上下文窗口中会导致工具膨胀、成本增加、延迟时间延长和混乱。

技能通过逐步披露来解决此问题。技能是一种专业知识包,在需要时才会激活。只有当您的特定请求与技能的说明相匹配时,技能才会加载到代理的上下文中。

结构和范围

技能是基于目录的软件包。您可以根据需要,在以下两个范围内定义它们:

  • 全局范围 (~/.gemini/skills/):适用于所有 Antigravity 产品(Antigravity、Antigravity CLI)和项目。
  • 商品范围:如果您希望技能仅适用于 Antigravity 或 Antigravity CLI 产品,则必须将它们放在项目的相应技能文件夹中。对于 Antigravity,此值为 ~/.gemini/antigravity/skills/;对于 Antigravity CLI,此值为 ~/.gemini/antigravity-cli/skills/
  • 项目/工作区范围 (<project-root>/.agents/skills/):这会使技能仅在特定项目内可用。

在此 Codelab 中,我们将使用 Product 范围并将技能放置在 ~/.gemini/antigravity/skills/ 文件夹中。

技能剖析

典型的技能目录如下所示:

my-skill/
├── SKILL.md    #(Required) metadata & instructions.
├── scripts/    # (Optional) Python or Bash scripts for execution.
├── references/ # (Optional) text, documentation, or templates.
└── assets/     # (Optional) Images or logos.

现在,我们来添加一些技能。

代码审核技能

这是一个仅包含指令的技能,也就是说,我们只需要创建 SKILL.md 文件,其中将包含元数据和技能指令。我们来创建一个全局技能,向代理提供详细信息,以便其审核代码更改是否存在 bug、样式问题和最佳实践问题。

首先,创建将包含此全局技能的目录。

mkdir -p ~/.gemini/antigravity/skills/code-review

在上述目录中创建一个 SKILL.md 文件,其中包含以下内容:

---
name: code-review
description: Reviews code changes for bugs, style issues, and best practices. Use when reviewing PRs or checking code quality.
---

# Code Review Skill

When reviewing code, follow these steps:

## Review checklist

1. **Correctness**: Does the code do what it's supposed to?
2. **Edge cases**: Are error conditions handled?
3. **Style**: Does it follow project conventions?
4. **Performance**: Are there obvious inefficiencies?

## How to provide feedback

- Be specific about what needs to change
- Explain why, not just what
- Suggest alternatives when possible

请注意,上面的 SKILL.md 文件顶部包含元数据(名称和说明),然后是说明。当代理加载时,它只会读取技能的元数据,并且仅在需要时才会加载完整的技能指令。

让我们验证一下代码审核技能。在 Antigravity 中打开对话,然后输入以下提示。

732820afe6db3ce0.png

它应该会显示 code-review 技能。

试试看

创建一个名为 demo_bad_code.py 且包含以下内容的新文件:

import time

def get_user_data(users, id):
   # Find user by ID
   for u in users:
       if u['id'] == id:
            return u
   return None

def process_payments(items):
   total = 0
   for i in items:
       # Calculate tax
       tax = i['price'] * 0.1
       total = total + i['price'] + tax
       time.sleep(0.1) # Simulate slow network call
  
   return total

def run_batch():
   users = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
   items = [{'price': 10}, {'price': 20}, {'price': 100}]
  
   u = get_user_data(users, 3)
   print("User found: " + u['name']) # Will crash if None
  
   print("Total: " + str(process_payments(items)))

if __name__ == "__main__":
   run_batch()

在 Antigravity 中打开特定项目中的新对话,并给出以下提示:review the @demo_bad_code.py file

智能体应识别 code-review 技能,加载详细信息,然后按照 code-review/SKILL.md 文件中给出的说明执行操作。

输出示例如下所示:

a6e2b1b775feda28.png

10. 总结

恭喜!您现在已成功安装 Antigravity、配置环境,并了解如何控制代理。

后续还有哪些变化?如需了解 Antigravity 在构建实际应用中的实际应用,您可以参阅以下 Codelab:

参考文档