借助 Agent Registry,您可以在 Google Cloud 控制台、Google Cloud CLI 或 Agent Registry API 中,按关键字、前缀或自然语言搜索已注册的智能体、Agent2Agent (A2A) 技能、独立技能和 Model Context Protocol (MCP) 服务器。关键字和前缀搜索可帮助您按名称、标识符或元数据快速查找资源。语义搜索可根据意图,在自然语言指令和说明中查找概念上相关的功能。
搜索查询会评估智能体、MCP 服务器和技能功能说明、工具架构以及技能指令。您无法使用搜索查询来发现端点;如需了解如何按元数据列出和过滤端点,请参阅按元数据发现端点和过滤组件。
准备工作
- 设置 Agent Registry。
如需使用本文档中的 Google Cloud CLI 命令,请设置 gcloud CLI 环境。
所需的角色
如需获得在 Agent Registry 中搜索智能体、工具和技能所需的权限,请让您的管理员为您授予已启用 Agent Registry 的治理项目的 Agent Registry API Viewer (roles/agentregistry.viewer) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
搜索代理和工具
如需发现注册表中的功能,您可以在 Google Cloud 控制台、gcloud CLI 或 REST API 中搜索已注册的智能体和 MCP 服务器。
搜索智能体或 MCP 服务器时,您可以按显示名称、说明或功能关键字进行查询:
- 智能体:搜索查询会检查智能体的显示名称、说明、智能体标识符,以及其智能体卡片中声明的内嵌 A2A 技能的名称、说明和标签,以查找匹配项。
- MCP 服务器:搜索查询会检查服务器的显示名称、说明、MCP 服务器标识符及其工具的名称和说明,以查找匹配项。
按关键字搜索
您可以执行关键字搜索,查找功能中包含特定字词的资源,例如智能体的 A2A 技能或 MCP 服务器的工具。 如需了解这些功能在注册表中的结构,请参阅 JSON 架构。如需查看可搜索字段的完整列表,请参阅 API 参考文档。
关键字查询接受自由文本字符串,并支持逻辑运算符 AND、OR 和 NOT:
控制台
在 Google Cloud 控制台中,前往 Agent Registry:
从项目选择器中,选择您的 Google Cloud 项目。
在页面顶部的搜索您的注册表栏中,输入至少包含三个字符的关键字查询(例如
flight或database)或字段过滤条件(例如Name:booking),然后按Enter。搜索结果表格会显示所选位置中匹配的智能体、MCP 服务器和独立技能。
gcloud
向 gcloud agent-registry agents search 或 gcloud agent-registry mcp-servers search 命令提供 --search-string 标志。
例如,搜索可以处理航班预订的代理:
gcloud agent-registry agents search \
--project=PROJECT_ID \
--location=REGION \
--search-string="flight OR booking"
搜索提供数据库工具的 MCP 服务器:
gcloud agent-registry mcp-servers search \
--project=PROJECT_ID \
--location=REGION \
--search-string="database"
替换以下内容:
PROJECT_ID:项目 ID。REGION:注册表区域或global。
REST
向 agents:search 或 mcpServers:search 端点发送 POST 请求,并在请求正文中添加 searchString 字段。
例如,搜索可以处理航班预订的代理:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"searchString": "flight OR booking"}' \
"https://agentregistry.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/agents:search"
搜索提供数据库工具的 MCP 服务器:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"searchString": "database"}' \
"https://agentregistry.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/mcpServers:search"
替换以下内容:
PROJECT_ID:项目 ID。REGION:注册表区域或global。
按前缀搜索
前缀搜索针对低延迟进行了优化,让您的应用能够在用户输入时动态检索相关智能体和工具。
如果您要构建编排器界面或自动补全功能,可以在 Agent Registry 中执行前缀搜索,以查找以给定字符串开头的结果。前缀搜索使用 * 后缀通配符来搜索单词的开头:
gcloud
运行带有前缀表达式的 gcloud agent-registry agents search 或 gcloud agent-registry mcp-servers search 命令。
例如,搜索显示名称以 Best_A2A_* 开头的智能体:
gcloud agent-registry agents search \
--project=PROJECT_ID \
--location=REGION \
--search-string="displayName:Best_A2A_*"
同样,搜索显示名称以 Prod_Server_* 开头的 MCP 服务器:
gcloud agent-registry mcp-servers search \
--project=PROJECT_ID \
--location=REGION \
--search-string="displayName:Prod_Server_*"
替换以下内容:
PROJECT_ID:项目 ID。REGION:注册表区域或global。
REST
在请求正文的 searchString 字段中传递前缀表达式:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"searchString": "displayName:Best_A2A_*"}' \
"https://agentregistry.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/agents:search"
替换以下内容:
PROJECT_ID:项目 ID。REGION:注册表区域或global。
搜索独立技能
您可以搜索在 Agent Registry 中注册的独立技能。此功能可让您发现可附加到智能体的可重用功能。
搜索技能时,您搜索的是默认技能修订版本。如需更新技能的默认修订版本,请参阅更新技能元数据或默认修订版本。
搜索模式
您可以根据自己的需求,使用两种技能搜索模式:
- 关键字搜索:仅扫描基本元数据属性,例如显示名称、说明、资源名称和技能标识符。此模式针对低延迟搜索、精确查找和名称自动补全进行了优化。如需查看示例,请参阅按关键字或表达式搜索技能。
- 语义搜索:自动为
SKILL.md载荷的完整内容(包括自然语言指令、脚本和元数据资产)编制索引。此模式可识别概念主题,并针对编排器智能体进行了优化,以便根据您的意图动态发现相关功能包。如需查看示例,请参阅按语义搜索技能。
搜索字段和语法
按元数据或关键字字符串搜索时,系统会为以下字段编制索引:
| 字段名称 | 大小写行为 | 前缀搜索 | 全字段搜索 | 说明 |
|---|---|---|---|---|
displayName |
不区分大小写 | 是 | 是 | 技能的显示名称。使用此字段可搜索通用名称。 |
description |
不区分大小写 | 否 | 是 | 技能用途和功能的详细说明。使用此字段搜索关键字。 |
name |
不区分大小写 | 是 | 是 | 技能的资源名称。使用此字段可按资源名称进行搜索。 |
skillId |
不区分大小写 | 是 | 是 | 技能的技能标识符。使用此字段可查找特定发布商的资产。
例如,Google 管理的 skill 的格式为 urn:skill:PUBLISHER_ID:NAMESPACE:SKILL_ID。
|
publisher |
不区分大小写 | 是 | 否 | 与技能关联的发布商。使用此字段可按发布组织进行过滤。 |
frontmatter.name |
不区分大小写 | 否 | 否 | 在 SKILL.md 文件的 front matter 中定义的技能名称。 |
frontmatter.description |
不区分大小写 | 否 | 否 | SKILL.md 文件的 front matter 中定义的技能说明。 |
frontmatter.compatibility |
不区分大小写 | 否 | 否 | SKILL.md 文件的 front matter 中定义的技能兼容性。 |
frontmatter.license |
不区分大小写 | 否 | 否 | SKILL.md 文件的 front matter 中定义的技能许可。 |
createTime |
不适用 | 否 | 否 | 创建技能时的时间戳。此字段仅在过滤条件中可用。支持范围运算符(例如 <、>)和完全匹配。 |
updateTime |
不适用 | 否 | 否 | 上次更新技能时的时间戳。此字段仅在过滤条件中可用。支持范围运算符(例如 <、>)和完全匹配。 |
如需搜索技能,请在 gcloud CLI 中使用 --query 标志或在 REST API 中使用 searchString 参数提供查询字符串。您可以在搜索请求中使用以下语法元素:
- 布尔运算符:包含
AND、OR或NOT运算符,用于串联要求。 - 字段专用过滤条件:使用
:运算符定位字段,例如displayName:database。 - 前缀搜索:使用
*后缀通配符查找以特定前缀开头的值,例如displayName:cloud-*。
按关键字或表达式搜索技能
搜索具有特定显示名称前缀和说明关键字的技能:
gcloud
使用 --search-type=keyword 运行 gcloud alpha agent-registry skills search 命令:
gcloud alpha agent-registry skills search \
--project=PROJECT_ID \
--location=REGION \
--query="displayName:cloud-* AND description:database" \
--search-type=keyword
替换以下内容:
PROJECT_ID:项目 ID。REGION:注册表区域或global。
REST
向 skills:search 端点发送 GET 请求,并附带 searchString 和 searchType=KEYWORD:
curl -G -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "searchString=displayName:cloud-* AND description:database" \
--data-urlencode "searchType=KEYWORD" \
"https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/REGION/skills:search"
替换以下内容:
PROJECT_ID:项目 ID。REGION:注册表区域或global。
按语义搜索技能
使用语义搜索查找与管理关系型数据库相关的技能:
gcloud
使用 --search-type=semantic 运行 gcloud alpha agent-registry skills search 命令:
gcloud alpha agent-registry skills search \
--project=PROJECT_ID \
--location=REGION \
--query="manage and configure relational databases" \
--search-type=semantic
替换以下内容:
PROJECT_ID:项目 ID。REGION:注册表区域或global。
REST
向 skills:search 端点发送 GET 请求,并附带 searchString 和 searchType=SEMANTIC:
curl -G -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "searchString=manage and configure relational databases" \
--data-urlencode "searchType=SEMANTIC" \
"https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/REGION/skills:search"
替换以下内容:
PROJECT_ID:项目 ID。REGION:注册表区域或global。
Google 管理的 skill
Google 管理的 skill 可从任何项目中发现。如需查看可用的 Google 管理的 skill 列表,请参阅 GitHub 上的 google/skills 代码库。
发现端点并按元数据过滤组件
您还可以通过列出 Agent Registry 的集合并过滤结构化元数据字段,在 Agent Registry 中发现任何组件,包括已注册的端点:
- 发现端点:由于
Endpoint资源不支持:search查询,因此您可以通过浏览Google Cloud 控制台中的端点标签页、运行gcloud agent-registry endpoints list --filter或调用endpoints.listREST 方法来发现端点。如需查看完整说明,请参阅管理和发现端点。 - 过滤智能体、MCP 服务器和技能:如果您知道组件的注册表标识符 (URN)、显示名称或属性,可以在Google Cloud 控制台中过滤集合,或将
--filter传递给gcloud agent-registry agents list、gcloud agent-registry mcp-servers list或gcloud alpha agent-registry skills list。如需了解详情,请参阅管理代理、管理 MCP 服务器和工具以及管理技能。