Antigravity IDE 使用入门

1. 简介

Antigravity 是一款智能体式开发平台,旨在帮助每一个人在智能体优先时代开启无限创造。它包含四款主要产品:Antigravity、Antigravity IDE、Antigravity CLI 和 Antigravity SDK。

在此 Codelab 中,我们将重点介绍面向开发者的 Antigravity IDE。

学习内容

  • 了解 Antigravity 平台。
  • 安装 Antigravity IDE。
  • 探索 Antigravity 编辑器和代理面板。
  • 斜杠命令。
  • 自定义、MCP 服务器和技能。

所需条件

Antigravity IDE 需要在您的系统(Mac、Windows 和特定 Linux 发行版)上本地安装。此外,您还需要满足以下条件:

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

报告问题

在完成 Codelab 和使用 Antigravity 的过程中,您可能会遇到问题。

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

e7d8a6055a16a773.png

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

2. Antigravity 平台

在重点介绍 Antigravity IDE 之前,我们先来了解一下 Antigravity 平台。

Antigravity 包含 4 款独立产品:

  • Antigravity:一款旗舰版独立应用,也是您的指挥中心,可用于并行管理多个本地智能体。
  • Antigravity IDE:面向开发者的功能完备的智能体式 IDE。
  • Antigravity CLI:一个命令行界面,用于基于终端的代理互动。
  • Antigravity SDK:供开发者以编程方式将 Antigravity 集成到其自有系统中的工具。

虽然所有商品都提供对相同底层 Antigravity 智能体的访问权限,但互动程度有所不同。

在 Antigravity 中,您可以使用智能体在更高层面上工作。在与智能体的对话中,您只需说明要构建的内容,让智能体处理代码即可。您可以看到生成的代码,但不一定需要自己深入研究代码。

在 Antigravity IDE 中,您处于较低的编码水平。您仍然可以通过代理面板与代理对话,但也可以全面查看代码,并在生成和修改代码时获得代理的帮助。

在 Antigravity CLI 中,您可以通过命令行界面使用代理。同样,您仍然可以与智能体对话,让它生成和修改代码,但所有操作都在终端中进行。

您可以自行决定选择哪个级别。通常,您会在 Antigravity 中从较高层级开始构建,随着复杂性的增加,您会切换到 Antigravity IDE 进行编码,或切换到 Antigravity CLI 来执行更适合在终端中完成的任务。

3. 安装

如果您已安装 Antigravity 应用,但尚未安装 Antigravity IDE,则应在右上角看到“安装 IDE”按钮:

a3afce2c797f070c.png

您可以点击该按钮,也可以直接前往 Antigravity IDE 下载页面,下载并安装适用于您的操作系统(macOS、Windows、Linux)的 Antigravity IDE。

安装完成后,您应该会看到欢迎界面:

a7bda49c67b4d971.png

使用您的 Google 账号登录,然后选择主题以继续安装。

在某个时间点,系统会询问您要如何使用 Antigravity IDE 代理。在此界面上,您可以调整代理的终端执行政策、评价政策和 JavaScript 执行政策。目前,请选择审核驱动式开发。

923299763a029330.png

在后续界面中,您可以配置扩展程序和 agy-ide 命令行工具。建议您仅安装所需的扩展程序。

c4e8005b3042b401.png

Antigravity IDE 还附带插件,这些插件是技能和 MCP 的打包集合,可帮助智能体使用 Google 开发者产品。选择您认为可能对工作有用的内容:

195da4a9d7b5a075.png

现在,您可以使用 Antigravity IDE 了。

4. Antigravity IDE 界面

首次启动 Antigravity IDE 时,您应该会看到 Antigravity IDE 主界面。

4a3bd4e0483365d9.png

您可以先打开一个本地文件夹。您也可以通过 Terminal 和 New Terminal 菜单项打开新终端。

现在,编辑器、终端和代理已准备就绪:

d1465bea8316f991.png

在编辑器中,您可以在输入代码时获得 Antigravity 的 AI 协助。在智能体面板中,您可以与智能体对话、选择不同的模型,以及参考文件和命令。默认情况下,终端不会提供 AI 辅助功能,但如果您安装 Antigravity CLI,则可以使用 agy 命令启动它,并在终端中获得 AI 辅助功能。

Antigravity 设置

建议您查看右下角的 Antigravity 设置。它包含智能体的基本设置:

14201a391e0d5955.png

高级设置提供了更多设置,例如代理安全模式:

9c2939aafa9724b5.png

这样,您就可以指定代理在终端命令、文件系统访问等方面的自由度。请务必查看这些设置,并选择适合您项目的设置。

5. Editor

我们来探索一下编辑器。创建一个 Python 文件 hello.py,以探索编辑器功能。

当您在编辑器中输入 hello.py 中的代码时,系统会启动智能自动补全功能,您可以通过按 Tab 键接受建议:

b34cd085032c2d5f.png

您会获得一个跳至标签页的建议,以便将光标移至代码中的下一个逻辑位置。例如,当您完成 main() 的输入后,编辑器会询问您是否要跳转到 main 方法:

2dd69707af98c677.png

您还会收到一个用于导入的标签页建议,以添加缺失的依赖项:

5ce8b0b5b9fdfdcc.png

6. 智能体面板

在右侧,您会看到客服人员侧边栏。如果该按钮不可见,您可以使用 Cmd + L 快捷键切换其显示状态。

您可以选择不同的模型类型,使用 @ 来包含更多上下文信息,例如文件、目录、终端、MCP 服务器或 / 命令(将在后续步骤中介绍)。

ae98a3c19c2a8fc7.png

与智能体互动最简单的方式是在对话中开始提问,但与智能体互动的方式有很多种。

如果您安装了静态代码检查工具(例如 Pylint),那么在代码中出现语法错误时,您会看到相应错误。如果将光标悬停在编辑器中的某个问题上,然后选择 Explain and fix。系统会打开代理面板,其中包含代理提供的说明和可能的解决方案:

db123f692200e653.png

您还可以前往 IDE 的 Problems 标签页,然后选择 Send to Agent,让代理尝试解决这些问题:

2f95dba053a09dd5.png

您还可以选择包含错误的部分终端输出,然后使用 Cmd + L 将其发送给智能体对话:

b1a29237e8efd11a.png

与客服人员聊天时,您会在输入窗口顶部看到一些图标:

3b17223d6d2e7bea.png

这些窗口包括“更改概览”(用于查看代码更改)、“终端”(用于查看后台进程)、“制品”和“浏览器”。

7. 制品

Antigravity 的核心功能在于能够在开发过程的每个阶段轻松收集您的反馈。智能体在处理任务时,会在此过程中创建不同的制品:

  • 编码前:实施方案和任务列表。
  • 生成代码时:代码差异。
  • 编码后:通过演练来解释代码的作用并验证结果。

这些制品是 Antigravity 传达其计划和进度的途径。更重要的是,您还可以通过 Google 文档样式的评论向代理提供反馈。这对于有效地引导代理朝着您想要的方向发展非常有用。

我们来尝试构建一个简单的应用,看看如何在此过程中向 Antigravity 提供反馈。

在智能体侧边栏中,尝试以下提示:

Build a TODO list application with Python Flask, SQlite DB, and a CRUD frontend. Keep the application simple

这会触发代理开始规划并生成实施方案。

实施计划

实施方案概述了 Antigravity 打算执行的操作、将使用的技术堆栈以及建议的更改。

几秒钟后,您应该会在对话中看到实施方案:

935372be9721a21c.png

如果您对结果感到满意,可以点击 Proceed 按钮。如果您想提供反馈,可以在提交实施计划之前打开该计划并添加 Google 文档样式的评论。

任务列表

在实施方案更新后,Antigravity 会创建任务列表。以下是 Antigravity 将遵循的创建和验证应用的具体步骤列表。它可以通过这种方式传达自己的进度:

5eb1f122174855a8.png

代码变更

此时,Antigravity 将在新文件中生成一些代码。您可以在代理聊天侧边栏中Accept all或Reject all这些更改,而无需查看详细信息。您还可以点击 Review changes 查看变更详情,并在代码中添加详细注释。

演示

Antigravity 完成编码后,会启动服务器,并可能会打开浏览器来验证应用。它会进行一些手动测试,例如添加任务、更新任务等。最后,它会创建一个演示文件来总结其验证应用所做的工作。这可能包括屏幕截图或包含浏览器录制的验证流程。

您还可以在过程演示中对屏幕截图或浏览器录制内容发表评论。例如,我们可以添加评论 Change the blue theme to orange theme 并提交。提交评论后,Antigravity 会进行更改、验证结果并更新演练

撤消更改

最后但同样重要的是,在完成每个步骤后,如果您对更改不满意,可以选择在对话中撤消更改。只需在对话中选择 ↩️ Undo changes up to this point 即可。

8. 斜杠命令

Antigravity IDE 中提供了内置的斜杠 / 命令。在代理侧边栏中,如果您输入 /,应该会看到命令列表:

c0b121133b3191ca.png

/goal 指示代理运行任务直至完成,/schedule 允许将任务安排为周期性任务或一次性任务。/grill-me 有助于与智能体达成计划共识,而 /learn 有助于从对话中提取可重复使用的技能或规则。

不妨试用这些命令,看看它们对您有何帮助。

9. 自定义

Antigravity IDE 提供了多种自定义选项:规则和工作流。

点击右上角的 ...,然后选择 Customizations,您会看到 Rules 和 Workflows:

3415bdfa2f263b08.png

规则有助于引导代理的行为。您可以提供这些准则,以确保智能体在生成代码和测试时遵循这些准则。例如,您可能希望智能体遵循特定的代码风格,或者始终记录方法。您可以将这些内容添加为规则,然后代理就会将其纳入考虑范围。

工作流是已保存的提示,您可以在与智能体互动时使用 / 按需触发。它们还会引导智能体的行为,但由用户按需触发。

一个很好的类比是,规则更像是系统指令,而工作流更像是您可以根据需要选择的已保存提示。

规则和工作流都可以全局应用或按工作区应用,并保存到以下位置:

  • 全局规则:~/.gemini/GEMINI.md
  • 全局工作流:~/.gemini/config/global_workflows/
  • 工作区规则:.agents/rules/
  • Workspace 工作流:.agents/workflows/

我们来在工作区中添加一些规则和工作流。

添加规则

首先,我们来添加一个代码样式规则。前往 Rules,然后选择 +Workspace 按钮。为其命名,例如 code-style-guide,并遵循以下代码样式规则:

* Make sure all the code is styled with PEP 8 style guide
* Make sure all the code is properly commented

其次,我们再添加一条规则,以确保代码以模块化方式生成,并在 code-generation-guide 规则中包含示例:

* The main method in main.py is the entry point to showcase functionality.
* Do not generate code in the main method. Instead generate distinct functionality in a new file (eg. feature_x.py)
* Then, generate example code to show the new functionality in a new method in main.py (eg. example_feature_x) and simply call that method from the main method.

这两条规则已保存并可供使用

添加工作流

我们再定义一个用于生成单元测试的工作流。这样一来,我们就可以在对代码感到满意时触发单元测试(而不是让代理一直生成单元测试)。

前往 Workflows,然后选择 +Workspace 按钮。为其指定一个名称,例如 generate-unit-tests,并添加以下内容:

* Generate unit tests for each file and each method
* Make sure the unit tests are named similar to files but with test_ prefix

工作流也已准备就绪。

试试看

现在,我们来看看规则和工作流的实际应用。在工作区中创建一个框架 main.py 文件:

def main():
    pass

if __name__ == "__main__":
    main()

现在,前往智能体侧边栏,向智能体提出以下问题:Implement binary search and bubble sort.

过了一两分钟后,您应该会在工作区中看到三个文件:main.py、bubble_sort.py、binary_search.py。您还会注意到,所有规则都已实现:主文件不会杂乱无章,并且包含示例代码;每项功能都在各自的文件中实现;所有代码都有文档记录,并且风格良好:

from binary_search import binary_search, binary_search_recursive
from bubble_sort import bubble_sort, bubble_sort_descending


def example_binary_search():
    """
    Demonstrate binary search algorithm with various test cases.
    """
    ...

def example_bubble_sort():
    """
    Demonstrate bubble sort algorithm with various test cases.
    """
    ...

def main():
    """
    Main entry point to showcase functionality.
    """
    example_binary_search()
    example_bubble_sort()
    print("\n" + "=" * 60)


if __name__ == "__main__":
    main()

现在,我们对代码感到满意,接下来看看是否可以触发生成单元测试工作流。

前往聊天窗口,开始输入 /generate,Antigravity 已经了解我们的工作流程:

1b5120e06e55e98.png

选择 generate-unit-tests,然后按 Enter 键。几秒钟后,您会在工作区中看到新文件:test_binary_search.py、test_bubble_sort.py,其中已实现多项测试!

10. MCP 服务器

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

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

点击右上角的 ...,然后选择 MCP Servers。系统随即会显示一个对话框,您可以在其中查看 MCP 服务器列表:

3fed0fbf1daa6df0.png

您可以点击 Cloud Run 以安装其 MCP 服务器。

如果您点击右上角的 Manage MCP Servers,还可以在 ~/.gemini/config/mcp_config.json 中查看原始 MCP 服务器配置。您还可以在此文件中添加其他自定义 MCP 服务器,然后点击刷新按钮,以查看它们是否已在 Antigravity IDE 中得到识别。

如需使用配置的 MCP 服务器,您可以向 Antigravity 询问需要 MCP 服务器才能完成的任务。例如,您可以启用 cloudrun-mcp 服务器,然后向 Antigravity 提出以下问题:Build and deploy a Cloud Run service。这应会促使 Antigravity 查找并使用 cloudrun-mcp 服务器来配置和部署 Cloud Run 服务。

11. 技能

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

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

结构和范围

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

  • 全局范围 (~/.gemini/config/skills/):适用于所有 Antigravity 产品(Antigravity、Antigravity IDE、Antigravity CLI)和项目。
  • 项目/工作区范围 (<project-root>/.agents/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 .agents/skills/code-review

在刚刚创建的项目文件夹(例如 .agents/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 开始新对话,询问已安装哪些技能。您应该会看到 code-review 技能:

61d2f8a77a133c46.png

试试看

在 中创建一个名为 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 文件中的说明执行操作。

以下是输出示例:

dfbef714c00db3a7.png

12. 总结

恭喜!您已成功安装、配置并探索了 Antigravity IDE 的主要功能!

如需详细了解 Antigravity 平台,请参阅以下 Codelab 和参考文档。

其他 Codelab

参考文档