编码水平:高级
时长:45 分钟
项目类型:Google Workspace 加载项,可扩展 Chat、Gmail、日历、云端硬盘、文档、表格和幻灯片。
本教程介绍了如何使用 Apps 脚本或 HTTP 端点将 AI 代理发布到 Google Workspace,作为 Google Workspace 插件。发布插件后,用户可以在工作流程中与 AI 代理互动。
概览
在本教程中,您将部署来自 Agent Development Kit (ADK) 的 Travel Concierge 示例。旅行管家是一个对话式多智能体人工智能,它使用诸如 Google Maps Platform Places API、Google Search Grounding 和模型上下文协议 (MCP) 服务器等工具。
ADK 默认为开发者提供聊天和文本界面。在本教程中,您将向 Google Workspace 应用程序添加图形用户界面 (GUI),您的用户可以在聊天、Gmail、日历、云端硬盘、文档、表格和幻灯片中直接访问该界面。
图 1. 使用 Chat 中的 AI 代理激发旅游创意。
图 2. 使用 Gmail 中的 AI 代理根据所选电子邮件中的上下文规划行程。
目标
- 设置环境。
- 部署 AI 智能体。
- 设置项目。
- 部署到 Gmail、日历、云端硬盘、文档、表格、幻灯片。
- 部署到 Chat。
- 测试解决方案。
关于此解决方案
此解决方案依赖于以下核心技术:ADK、Google Cloud 和 Google Workspace API、Vertex AI Agent Engine 和卡片框架。
聊天应用和非聊天应用(Gmail、日历、云端硬盘、文档、表格、幻灯片)的图形用户界面设计不同,以考虑到它们的具体功能和局限性。
功能
以下是 Travel Concierge 应用在所有 Google Workspace 应用中通用的功能:
持久用户会话:会话由 Vertex AI 管理,以实现持久性。每位用户在所有 Workspace 应用中共享一个会话。 用户可以手动重置会话以开始新的对话。
富消息:用户发送文本消息并接收包含富文本和卡片 widget 的回复。
错误处理:使用可配置的重试次数和响应中的状态来妥善处理意外错误。
Chat 应用还具有以下功能:
多模态用户消息:用户可以发送带有附件的消息,包括直接从聊天室录制的音频和视频。
更具视觉效果的回答:回答可以包含更高级的 widget,例如带有图片的轮播界面,这得益于卡片框架的仅限聊天功能和更大的渲染空间。
其他应用具有以下附加功能:
Google 个人资料上下文: 用户可以发送包含其个人资料信息的消息(本示例中仅限于生日)。
Gmail 上下文:用户可以通过电子邮件发送消息(在此示例中,主题和正文仅限一个)。
客服人员的 Chat 聊天室访问权限:用户只需点击一个按钮,即可在新标签页中打开 Chat 应用私信 (DM) 聊天室。
架构
旅行管家应用程序接收并处理来自 Google Workspace 应用程序的 Google Workspace 插件交互事件,使用 Vertex AI 提示 ADK AI 代理并管理用户会话,并依靠 Google Cloud 和 Google Workspace API 来收集上下文并显示响应。
下图显示了主要用户流程:向 AI 代理发送消息。
HTTP
图 3. 聊天应用程序会根据用户消息中的附件完善上下文,并按时间顺序发送一组消息,其中包含子代理交互的历史记录和最终的总体答案。
图 4. 非 Chat 应用会使用用户的 Google 个人资料和商品选择来补全上下文,并按时间倒序显示一组部分,其中包含子代理互动历史记录和最终总体回答。
Apps 脚本
图 3. 聊天应用程序会根据用户消息中的附件完善上下文,并按时间顺序发送一组消息,其中包含子代理交互的历史记录和最终的总体答案。
图 4. 非 Chat 应用会使用用户的 Google 个人资料和商品选择来补全上下文,并按时间倒序显示一组部分,其中包含子代理互动历史记录和最终总体回答。
前提条件
拥有可访问 Google Chat 的 Google Workspace 商务版或企业版账号。
可访问互联网的网络浏览器。
-
- Python 3.10+:要进行安装,请按照官方 Python 网站 上的说明进行操作。
uv: 安装时,请按照官方uv网站 上的说明进行操作。- Google Cloud CLI:要进行安装,请按照官方 Google Cloud 网站 上的说明进行操作。
准备环境
本节介绍如何创建和配置 Google Cloud 项目。
创建 Google Cloud 项目
Google Cloud 控制台
- 在 Google Cloud 控制台中,依次前往菜单 > IAM 和管理 > 创建项目。
-
在项目名称请在此处输入项目的描述性名称。
可选:要编辑 项目 ID,请单击 编辑。项目创建后,项目 ID 便无法更改,因此请选择满足项目生命周期需求的 ID。
- 在位置字段中,点击浏览以显示项目的潜在位置。然后,点击选择。
- 点击创建。Google Cloud 控制台会转到“信息中心”页面,您的项目会在几分钟内创建完毕。
gcloud CLI
在以下任一开发环境中,访问 Google Cloud CLI (gcloud):
-
Cloud Shell:如需使用已设置 gcloud CLI 的在线终端,请激活 Cloud Shell。
激活 Cloud Shell -
本地 shell:如需使用本地开发环境,请安装并初始化 gcloud CLI。
如需创建 Cloud 项目,请使用gcloud projects create命令: 通过设置要创建的项目的 ID 来替换 PROJECT_ID。gcloud projects create PROJECT_ID
启用云项目的计费功能
Google Cloud 控制台
- 在 Google Cloud 控制台中,前往结算。依次点击 菜单 > 结算 > 我的项目。
- 在选择组织中,选择与您的 Google Cloud 项目关联的组织。
- 在项目行中,打开操作菜单 (),点击更改结算信息,然后选择 Cloud Billing 账号。
- 点击设置账号。
gcloud CLI
- 如需列出可用的结算账号,请运行以下命令:
gcloud billing accounts list - 将结算账号与 Google Cloud 项目相关联:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID替换以下内容:
PROJECT_ID是您要为其启用结算功能的 Cloud 项目的项目 ID。BILLING_ACCOUNT_ID是要与 Google Cloud 项目关联的结算账号 ID。
启用 Google Cloud API
HTTP
在 Google Cloud 控制台中,启用 Vertex AI、Places、People、Google Chat、Gmail、Cloud Build、Cloud Functions、Cloud Pub/Sub、Cloud Logging、Artifact Registry、Cloud Run 和 Google Workspace 加购项 API。
确认您要在正确的 Cloud 项目中启用 API,然后点击下一步。
确认您要启用正确的 API,然后点击启用。
Apps 脚本
在 Google Cloud 控制台中,启用 Vertex AI、Places、People 和 Google Chat API。
确认您要在正确的 Cloud 项目中启用 API,然后点击下一步。
确认您要启用正确的 API,然后点击启用。
获取 Google Maps Platform Places API 密钥
在 Google Cloud 控制台中,前往 Google Maps Platform > 密钥和凭据页面。
这开始使用 Google 地图平台对话框会显示您新创建的 API 密钥,这是一个字母数字字符串。您将在下一部分中用到此字符串。
在 Google Cloud 控制台中创建服务账号
按照以下步骤创建具有 Vertex AI User 角色的新服务账号:
Google Cloud 控制台
- 在 Google Cloud 控制台中,转到“菜单”。 > 身份与访问管理 > 服务账号。
- 点击创建服务账号。
- 填写服务账号详细信息,然后点击创建并继续。
- (可选)为您的服务账号分配角色,以授予对 Google Cloud 项目资源的访问权限。如需了解详情,请参阅授予、更改和撤消对资源的访问权限。
- 点击继续。
- 可选:输入可管理此服务账号并使用此服务账号执行操作的用户或群组。如需了解详情,请参阅管理服务账号模拟。
- 点击完成。记下服务账号的电子邮件地址。
gcloud CLI
- 创建服务账号:
gcloud iam service-accounts createSERVICE_ACCOUNT_NAME\ --display-name="SERVICE_ACCOUNT_NAME" - (可选)为您的服务账号分配角色,以授予对 Google Cloud 项目资源的访问权限。如需了解详情,请参阅授予、更改和撤消对资源的访问权限。
该服务账号会显示在服务账号页面上。接下来,为服务账号创建私钥。
创建一个私钥
如需为服务账号创建并下载私钥,请按以下步骤操作:
- 在 Google Cloud 控制台中,转到“菜单”。 > 身份与访问管理 > 服务账号。
- 选择您的服务账号。
- 点击钥匙 > 添加密钥 > 创建新密钥。
- 选择 JSON,然后单击 创建。
系统会生成新的公钥/私钥对,并以新文件的形式下载到您的计算机。将下载的 JSON 文件以
credentials.json的名称保存到工作目录中。此文件是相应密钥的唯一副本。如需了解如何安全地存储密钥,请参阅管理服务账号密钥。 - 点击关闭。
如需详细了解服务账号,请参阅 Google Cloud IAM 文档中的服务账号。
配置 OAuth 权限请求页面
Google Workspace 加购项需要配置同意屏幕。配置插件的 OAuth 权限请求页面可定义 Google 向用户显示的内容。
- 在 Google Cloud 控制台中,转到“菜单”。 > Google Auth platform > 品牌推广。
- 如果您已配置 Google Auth platform,则可以在品牌推广、受众群体和数据访问中配置以下 OAuth 权限请求页面设置。如果您看到一条消息,指出Google Auth platform 尚未配置,请点击开始:
- 在应用信息下,在应用名称中输入应用的名称。
- 在用户支持电子邮件中,选择一个支持电子邮件地址,以便用户在对自己的同意情况有疑问时与您联系。
- 点击下一步。
- 在受众群体下,选择内部。
- 点击下一步。
- 在联系信息下,输入一个电子邮件地址,以便您接收有关项目变更的通知。
- 点击下一步。
- 在完成部分,查看 Google API 服务用户数据政策,如果您同意该政策,请选择我同意 Google API 服务:用户数据政策。
- 点击继续。
- 点击创建。
- 目前,您可以先跳过添加作用域的步骤。 未来,如果您创建的应用供 Google Workspace 组织以外的用户使用,则必须将用户类型更改为外部。然后,添加应用所需的授权范围。如需了解详情,请参阅完整的配置 OAuth 同意指南。
部署旅行管家 ADK AI 代理
如果尚未完成,请使用您的 Google Cloud 账号进行身份验证,并配置 Google Cloud CLI 以使用您的 Google Cloud 项目。
gcloud auth application-default logingcloud config set project PROJECT_IDgcloud auth application-default set-quota-project PROJECT_ID将 PROJECT_ID 替换为您创建的 Cloud 项目的 ID。
下载此 GitHub 代码库
在您偏好的本地开发环境中,解压下载的归档文件并打开
adk-samples/python/agents/travel-concierge目录。unzip adk-samples-main.zipcd adk-samples-main/python/agents/travel-concierge创建一个专用于 ADK AI 代理的新 Cloud Storage 存储分区。
gcloud storage buckets create gs://CLOUD_STORAGE_BUCKET_NAME --project=PROJECT_ID --location=PROJECT_LOCATION替换以下内容:
- 将 CLOUD_STORAGE_BUCKET_NAME 替换为您要使用的唯一存储分区名称。
- PROJECT_ID 包含您创建的云项目的 ID。
- PROJECT_LOCATION 包含您创建的云项目的位置。
设置以下环境变量:
export GOOGLE_GENAI_USE_VERTEXAI=1export GOOGLE_CLOUD_PROJECT=PROJECT_IDexport GOOGLE_CLOUD_LOCATION=PROJECT_LOCATIONexport GOOGLE_PLACES_API_KEY=PLACES_API_KEYexport GOOGLE_CLOUD_STORAGE_BUCKET=CLOUD_STORAGE_BUCKET_NAMEexport TRAVEL_CONCIERGE_SCENARIO=travel_concierge/profiles/itinerary_empty_default.json替换以下内容:
- PROJECT_ID 包含您创建的云项目的 ID。
- 将 PROJECT_LOCATION 替换为您创建的 Cloud 项目的位置。
- PLACES_API_KEY 替换为您创建的 API 密钥的字符串。
- 将 CLOUD_STORAGE_BUCKET_NAME 替换为您创建的存储分区的名称。
安装并部署 ADK AI 客服。
uv sync --group deploymentuv run python deployment/deploy.py --create从上次打印的日志中检索项目编号和引擎 ID,分别记为 PROJECT_NUMBER 和 ENGINE_ID,稍后您需要同时使用这两个信息来配置项目。
Created remote agent: projects/PROJECT_NUMBER/locations/us-central1/reasoningEngines/ENGINE_ID
查看示例代码
(可选)在设置项目之前,请花点时间查看并熟悉 GitHub 上托管的示例代码。
Python
Apps 脚本
创建并配置项目
Python
下载此 GitHub 仓库
在您首选的本地开发环境中,解压缩下载的存档文件并打开
add-ons-samples/python/travel-adk-ai-agent目录。unzip add-ons-samples-main.zipcd add-ons-samples-main/python/travel-adk-ai-agent将之前步骤中下载的服务账号中的 JSON 密钥文件
credentials.json移动到项目目录。在 Google Cloud 控制台中,前往 Cloud Run:
点击编写函数。
在创建服务页面上,设置函数:
- 在服务名称字段中,输入
travel-concierge-app。 - 在区域列表中,选择您创建的 Cloud 项目的位置,即 PROJECT_LOCATION。
- 在端点网址下方,点击
。
- 在运行时列表中,选择最新版本的 Python。
- 在身份验证部分中,选择允许公开访问。
- 在容器、卷、网络、安全性部分中的资源下:
- 在 内存 字段中,选择 1 GiB。
- 在 CPU 字段中,选择 2。
- 点击创建,然后等待 Cloud Run 创建服务。 控制台会将您重定向到来源标签页。
- 在服务名称字段中,输入
在您首选的本地开发环境中,部署项目源代码:
gcloud run deploy travel-concierge-app --quiet --source . \ --region PROJECT_LOCATION \ --function adk_ai_agent \ --set-env-vars LOCATION=LOCATION,PROJECT_NUMBER=PROJECT_NUMBER,ENGINE_ID=ENGINE_ID,BASE_URL=BASE_URL替换以下内容:
- 将 PROJECT_LOCATION 替换为您之前创建的 Cloud Run 函数的位置。
- LOCATION 以及之前步骤中创建的 Google Cloud 项目的位置,PROJECT_LOCATION。
- PROJECT_NUMBER 替换为在之前的步骤中部署的 Travel Concierge ADK AI 代理的项目编号。
- ENGINE_ID 替换为在之前的步骤中部署的 Travel Concierge ADK AI 代理的引擎 ID。
- BASE_URL 替换为您之前复制的端点网址。
Apps 脚本
要创建 Apps Script 项目并将其配置为使用已部署的 Travel Concierge ADK AI 代理:
点击以下按钮打开 Travel Concierge ADK AI Agent Apps 脚本项目。
打开项目单击 概览,然后单击
制作副本。
为您的 Apps 脚本项目副本命名:
- 点击 Copy of Travel Concierge ADK AI Agent。
- 在项目标题中,输入
Travel Concierge ADK AI Agent。 - 点击重命名。
在 Apps 脚本项目中,点击
编辑器,然后使用文件操作 上移文件将文件
VertexAi.gs上移到文件AgentHandler.gs上方。在您的 Apps 脚本项目中,依次点击
项目设置、修改脚本属性和添加脚本属性,以添加以下脚本属性:
ENGINE_ID,其中包含在之前的步骤中部署的 Travel Concierge ADK AI 代理的引擎 ID ENGINE_ID。LOCATION以及之前步骤中创建的 Google Cloud 项目的位置,PROJECT_LOCATION。将
PROJECT_NUMBER替换为在之前的步骤中部署的 Travel Concierge ADK AI 代理的项目编号 PROJECT_NUMBER。SERVICE_ACCOUNT_KEY替换为在之前的步骤中下载的服务账号的 JSON 密钥,例如{ ... }。点击保存脚本属性
在 Apps 脚本项目中,点击
项目设置。
在 Google Cloud Platform (GCP) 项目下,点击更改项目。
在 GCP 项目编号中,粘贴在之前的步骤中部署的 Travel Concierge ADK AI 代理的项目编号 PROJECT_NUMBER。
点击设置项目。现在,Cloud 项目和 Apps 脚本项目已关联。
部署到 Gmail、Google 日历、Google 云端硬盘、Google 文档、Google 表格、Google 幻灯片
Python
使用 Google Workspace 插件部署将示例项目安装到所有 Google Workspace 应用程序(Google Chat 除外),以启用测试。
在您偏好的本地开发环境中,打开项目源代码中的
deployment.json文件,并将所有出现的$BASE_URL替换为 BASE_URL 的值(即您在之前的步骤中复制的端点网址)。创建一个名为
travel-concierge-addon的 Google Workspace 插件部署:gcloud workspace-add-ons deployments create travel-concierge-addon \ --deployment-file=deployment.json安装 Google Workspace 加载项部署:
gcloud workspace-add-ons deployments install travel-concierge-addon
Apps 脚本
将 Apps 脚本项目安装到所有 Google Workspace 应用(Google Chat 除外),以便进行测试。
- 在您的 Apps Script 项目中,单击 部署 > 测试部署,然后单击 安装。
现在,您可以通过 Google Workspace 应用的边栏访问该插件。
部署到 Chat
Python
使用 Endpoint 网址 将示例项目安装到 Chat 中以启用测试。
在控制台中,搜索
Google Chat API,点击 Google Chat API,然后依次点击管理和配置。设置 Chat 应用:
- 在应用名称字段中,输入
Travel ADK AI Agent。 - 在头像网址字段中,输入
https://goo.gle/3SfMkjb。 - 在说明字段中,输入
Travel ADK AI Agent。 - 在连接设置下,选择 HTTP 端点网址。
- 在 触发器 下,选择 为所有触发器使用通用的 HTTP 端点 网址。
- 在 HTTP 端点网址字段中,粘贴您之前复制的端点网址 BASE_URL。
- 注册完全实现的 Chat 应用使用的快捷命令:
- 在命令下,点击添加命令。
- 在命令 ID 中,输入
1。 - 在说明中,输入
Reset session。 - 在命令类型下,选择快速命令。
- 在名称中,输入
Reset session。 - 点击完成。快速命令已注册并列出。
- 在下面能见度, 选择将此聊天应用提供给工作区域中的特定人员和群组。请输入您的电子邮件地址。
- 在日志下,选择将错误记录到 Logging。
- 点击保存。
- 在应用名称字段中,输入
Apps 脚本
使用 Head Deployment ID 将 Apps Script 项目安装到 Chat 中以启用测试。
在您的 Apps 脚本项目中,依次点击部署 > 测试部署,然后点击 Head 部署 ID 下方的
复制。
在 控制台中,搜索
Google Chat API,点击 Google Chat API,然后点击 管理 和 配置。设置聊天应用:
- 在应用名称字段中,输入
Travel ADK AI Agent。 - 在头像网址字段中,输入
https://goo.gle/3SfMkjb。 - 在说明字段中,输入
Travel ADK AI Agent。 - 在连接设置下,选择 Apps 脚本。
- 在 Deployment ID 字段中,粘贴您之前复制的 Head deployment ID。
- 注册一个完全实现的聊天应用程序使用的快速命令:
- 在命令下,点击添加命令。
- 在命令 ID 中,输入
1。 - 在说明中,输入
Reset session。 - 在命令类型下,选择快速命令。
- 在名称中,输入
Reset session。 - 点击完成。快速命令已注册并列出。
- 在下面能见度, 选择将此聊天应用提供给工作区域中的特定人员和群组。请输入您的电子邮件地址。
- 在日志下,选择将错误记录到 Logging。
- 点击保存。
- 在应用名称字段中,输入
现在,您可以通过 Google Chat 访问该应用。
打开 Google Chat。
创建聊天私信空间:
- 点击 新建聊天。
- 在搜索框中输入并选择应用
Travel ADK AI Agent。 - 在
Install app对话框中,单击 安装应用程序。 Install app对话框关闭,新创建的聊天私信空间被选中。
Chat 应用已准备好回复消息。
测试代理
打开 Gmail。
请将以下邮件发送给自己:
- 主题:
You need to travel to Paris - 正文:
Please be there between 11/25/2025 and 11/30/2025!
- 主题:
从边栏中打开 Travel ADK AI Agent 插件。
点击 Grant permissions(授予权限)以完成插件设置。
配置以下代理请求后,点击发送:
- 消息:
Please help me plan this travel! - 背景信息:选择当前电子邮件地址
边栏会更新为代理的回答。

- 消息:
点击打开 Chat,系统会将您重定向到 Chat 私信聊天室。
依次点击 + > 重置会话。
您会收到一封新邮件,确认已完成此操作:
OK, let's start from the beginning, what can I help you with?发送消息
Give me ideas。您会收到包含代理回答的新消息。

在上传任何地点的照片(例如埃菲尔铁塔)后,发送消息
I want to go there!。您会收到包含代理回答的新消息。

限制
HTTP
在 Chat 以外的 Google Workspace 应用中,AI 代理具有以下限制:
它是同步的:边栏只能在响应用户互动时更新,因此 AI 代理响应仅在完全完成时显示(不进行流式传输)。
可能会超时:如果侧边栏更新需要几分钟以上才能完成,则会超时。
在聊天中不存在这些限制。
Apps 脚本
在所有 Google Workspace 应用中,AI 代理都会使用 UrlFetchApp 调用 Vertex AI REST API,这会导致以下限制:
它是同步的:人工智能代理的响应仅在完全完成后返回(无流式传输)。
可能会超时:如果 AI 代理请求完成所需的时间超过大约 1 分钟,则会超时。
自定义
该解决方案支持托管在 Vertex AI Agent Engine 中的 ADK AI 代理、Google Workspace 应用程序 UI 的一个子集以及专门针对 Travel Concierge 示例的响应渲染。该解决方案使用可扩展的框架,因此您可以通过修改以下文件对其进行自定义:
Python
main.py: 定义主要用户界面和用户交互逻辑(Google Workspace 事件处理程序)。 一个典型的扩展功能是为云端硬盘应用启用云端硬盘文档作为上下文功能,类似于为 Gmail 应用启用 Gmail 邮件作为上下文功能。
vertex_ai.py::管理 AI 代理会话、响应、错误,并定义要实现的 Vertex AI 特有接口,以支持代理互动和响应呈现。 典型的扩展功能包括添加对多会话的支持,以实现单独的用户对话,以及支持其他 AI 代理管理平台。
agent_handler.py:在聊天应用和非聊天应用的特定情况下,实现 vertex_ai.py 中定义的 Vertex AI 特有接口。 一个典型的扩展是添加按钮,供用户发送有关 AI 代理回答的反馈。
google_workspace.py::使用 API 调用实现非 AI 代理管理平台交互。本示例仅使用 Google Workspace API 来收集上下文详细信息并执行操作。 一个典型的扩展功能是添加从 Google 日历或客户关系管理 (CRM) 系统检索业务数据的功能。
travel_agent_ui_render.gs::为子代理和 Workspace 应用实现 Travel Concierge 特有的响应呈现。 典型的扩展功能包括添加对新响应呈现的支持,以图形方式显示航班选项和其他 AI 代理。
Apps 脚本
Code.gs::定义了主要界面和用户互动逻辑(Google Workspace 事件处理程序)。 一个典型的扩展功能是为云端硬盘应用启用云端硬盘文档作为上下文功能,类似于为 Gmail 应用启用 Gmail 邮件作为上下文功能。
VertexAi.gs::管理 AI 代理会话、响应、错误,并定义要实现的 Vertex AI 特有接口,以支持代理互动和响应呈现。 典型的扩展功能包括添加对多会话的支持,以实现单独的用户对话,以及支持其他 AI 代理管理平台。
AgentHandler.gs:在聊天和非聊天应用的特定情况下,实现 VertexAi.gs 中定义的 Vertex AI 特有接口。 一个典型的扩展是添加按钮,供用户发送有关 AI 代理回答的反馈。
GoogleWorkspace.gs::使用 API 调用实现非 AI 代理管理平台互动。此示例中仅使用 Google Workspace API 来收集上下文详细信息并采取行动。 一个典型的扩展是添加从 Google 日历或客户关系管理 (CRM) 系统检索业务数据的函数。
TravelAgentUiRender.gs: 为子代理和工作区应用程序实现旅行礼宾服务的特定响应渲染。 典型的扩展功能包括添加对新响应渲染的支持,以图形方式显示航班选项和其他 AI 代理。
清理
为避免系统因本教程中使用的资源向您的 Google Cloud 账号收取费用,我们建议您删除 Cloud 项目。
- 在 Google Cloud 控制台中,前往管理资源页面。依次点击 菜单 > IAM 和管理 > 管理资源。
- 在项目列表中,选择要删除的项目,然后单击 删除 。
- 在对话框中输入项目 ID,然后点击关停以删除项目。