在 Agent Registry 中,技能修订版本可让您将独立技能作为不可变快照进行版本控制,而不会中断活跃的智能体。每项技能都有一个默认修订版本,并且可以包含多个带版本的技能修订版本。更新技能的指令或可选脚本时,您可以在 Agent Registry 中创建、列出、检查、下载和删除技能修订版本。如需了解如何更新技能的默认修订版本,请参阅更新技能元数据或默认修订版本。
准备工作
- 设置 Agent Registry。
如需使用本文档中的 Google Cloud CLI 命令,请设置 gcloud CLI 环境。
所需的角色
如需获得在 Agent Registry 中管理技能修订版本所需的权限,请让管理员向您授予已启用 Agent Registry 的治理项目的以下 IAM 角色:
-
列出、查看和下载技能修订版本:Agent Registry API Viewer (
roles/agentregistry.viewer) -
创建、更新和删除技能修订版本:Agent Registry User (
roles/agentregistry.user) -
管理技能修订版本和其他 Agent Registry 资源:
Agent Registry API Editor (
roles/agentregistry.editor)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
其他 Agent Registry 角色也可能包含查看、下载、创建、更新和删除技能修订版本所需的权限。如需了解详情,请参阅 Agent Registry 角色和权限。
创建技能修订版本
创建新修订版本会将新的 ZIP 载荷上传到现有技能容器。验证成功后,修订版本会进入有效状态。如需将新修订版本作为技能的默认修订版本,请更新技能的默认修订版本,使其指向新的活跃修订版本。只有处于活跃状态的修订版本才能下载。
如需了解技能的价格和功能费用,请参阅 Agent Registry 价格。
技能修订版本的 ZIP 文件大小上限为 500 KB。
控制台
- 在 Google Cloud 控制台中,前往 Agent Registry 页面:
- 选择技能标签页,然后点击技能的名称。
- 在技能详情页面中,找到版本记录表格。
- 点击 添加版本。
在添加版本面板中,选择以下选项之一:
- 文件:上传包含
SKILL.md指令文件和可选脚本的软件包或 ZIP 文件。您可以点击浏览,在本地环境中查找文件。 存储桶:提供包含有效 ZIP 软件包的
gs://...Cloud Storage URI。您可以点击浏览,在 Cloud Storage 存储桶中查找文件。
- 文件:上传包含
点击创建。
技能详情页面会在版本记录表中显示技能修订版本。
gcloud
您可以通过上传本地 ZIP 文件或导入存储在 Cloud Storage 中的软件包来创建技能修订版本。
替换以下内容:
REVISION_ID:您要分配给技能修订版本的 ID。SKILL_ID:您用于修订的技能的 ID。对于手动注册的技能,请添加private-前缀,例如private-my-skill。PROJECT_ID:项目 ID。LOCATION:注册表位置。上传本地 ZIP 文件:如需使用本地 ZIP 载荷创建技能修订版本,请运行
gcloud alpha agent-registry skills revisions create命令:gcloud alpha agent-registry skills revisions create REVISION_ID \ --skill=SKILL_ID \ --project=PROJECT_ID \ --location=LOCATION \ --payload="LOCAL_ZIP_PATH"将
LOCAL_ZIP_PATH替换为本地机器上打包的技能归档文件的路径。从 Cloud Storage 存储桶导入:如需使用托管在 Cloud Storage 存储桶中的 ZIP 归档文件创建技能修订版本,请运行
gcloud alpha agent-registry skills revisions create命令:gcloud alpha agent-registry skills revisions create REVISION_ID \ --skill=SKILL_ID \ --project=PROJECT_ID \ --location=LOCATION \ --gcs-source-uri="gs://BUCKET_NAME/SKILL_PACKAGE.zip"替换以下内容:
BUCKET_NAME:包含 ZIP 软件包的 Cloud Storage 存储桶名称。SKILL_PACKAGE:包含技能修订版本的技能包的名称。
REST
如需创建技能修订版本,请向修订版本集合发送 POST 请求。
您可以直接上传 ZIP 载荷,也可以指向 Cloud Storage 路径。
上传本地 ZIP 文件:在请求正文中指定包含 base64 编码 ZIP 字节的
archiveUploadSource。您可以在curl中使用内嵌base64命令:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "archiveUploadSource": { "archiveContent": "'"$(base64 -w0 local_skill.zip)"'" } }' \ "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions?skillRevisionId=REVISION_ID"从 Cloud Storage 存储桶导入:在请求正文中指定
gcsSource,指向您的存储桶路径:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "gcsSource": { "uri": "gs://BUCKET_NAME/SKILL_PACKAGE.zip" } }' \ "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions?skillRevisionId=REVISION_ID"
替换以下内容:
PROJECT_ID:项目 ID。LOCATION:注册表位置。SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加private-前缀,例如private-my-skill。REVISION_ID:您要分配给此修订版本的 ID。BUCKET_NAME:包含 ZIP 文件的 Cloud Storage 存储桶名称。SKILL_PACKAGE:ZIP 软件包的名称。
列出和描述修订版本
您可以查看技能的所有修订版本列表,并检查其元数据。 如果您想更新技能的默认修订版本,请参阅更新技能元数据或默认修订版本。
如需列出并查看修订版本的详细信息,请按以下步骤操作:
控制台
- 在 Google Cloud 控制台中,前往 Agent Registry 页面:
- 选择技能标签页,然后点击技能的名称。
- 在技能详情页面中,找到版本记录表格。
- 查看版本 ID、创建时间、修订版本状态和可用操作。
gcloud
如需列出某项技能的所有修订版本,请运行 gcloud alpha agent-registry skills revisions list 命令:
gcloud alpha agent-registry skills revisions list \
--skill=SKILL_ID \
--project=PROJECT_ID \
--location=LOCATION
如需描述特定修订版本的元数据,请运行 gcloud alpha agent-registry skills revisions describe 命令:
gcloud alpha agent-registry skills revisions describe REVISION_ID \
--skill=SKILL_ID \
--project=PROJECT_ID \
--location=LOCATION
替换以下内容:
SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加private-前缀,例如private-my-skill。PROJECT_ID:项目 ID。LOCATION:注册表位置。REVISION_ID:技能修订版本的 ID。
REST
如需列出修订版本,请执行以下操作:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions"
如需获取单个修订版本的元数据,请执行以下操作:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID"
替换以下内容:
PROJECT_ID:项目 ID。LOCATION:注册表位置。SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加private-前缀,例如private-my-skill。REVISION_ID:技能修订版本的 ID。
下载修订版本载荷
您可以下载特定修订版本的 ZIP 文件载荷,以便进行本地验证或调试。
如需下载载荷,必须满足以下两个条件:
- 技能:技能必须处于有效或已弃用状态。如需更改技能的目标状态,请参阅管理技能生命周期状态。
- 技能修订版本:修订版本必须处于有效状态。无法下载处于失败或正在创建状态的修订版本。如需查看技能修订版本的状态,请列出并描述修订版本。
如需下载活跃修订版本的修订版本载荷,请按以下步骤操作:
控制台
- 在 Google Cloud 控制台中,前往 Agent Registry 页面:
- 选择技能标签页,然后点击技能的名称。
- 在技能详情页面中,找到版本记录表格。
- 找到要下载的版本。
- 在操作列中,点击下载。ZIP 载荷会下载到您的本地机器。
gcloud
如需下载修订版本的归档载荷,请运行 gcloud alpha agent-registry skills revisions download 命令并指定目标路径:
gcloud alpha agent-registry skills revisions download REVISION_ID \
--skill=SKILL_ID \
--project=PROJECT_ID \
--location=LOCATION \
--destination="./skill_payload.zip"
替换以下内容:
REVISION_ID:要下载的技能修订版本的 ID。SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加private-前缀,例如private-my-skill。PROJECT_ID:项目 ID。LOCATION:注册表位置。
REST
向修订版本的资源网址发送 GET 请求,并添加查询参数 alt=media。您必须将 -L 标志与 curl 结合使用,以跟踪 HTTP 重定向流:
curl -L -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-o skill_payload.zip \
"https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID?alt=media"
替换以下内容:
PROJECT_ID:项目 ID。LOCATION:注册表位置。SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加private-前缀,例如private-my-skill。REVISION_ID:要下载的技能修订版本的 ID。
删除特定修订版本
删除特定修订版本会从 Agent Registry 中移除其 ZIP 载荷和元数据历史记录。
删除单个修订版本通常仅限于管理员。如果您删除设置为技能默认修订版本的修订版本,Agent Registry 会清除 defaultRevision 指针,并将有效技能转换为已停用状态。如需让技能保持有效状态,请更新技能的默认修订版本,使其指向另一个有效修订版本,然后再删除之前的默认修订版本。
如需删除特定修订版本,请按以下步骤操作:
控制台
- 在 Google Cloud 控制台中,前往 Agent Registry 页面:
- 选择技能标签页,然后点击技能的名称。
- 在技能详情页面中,找到版本记录表格。
- 找到要删除的修订版本。
- 在操作列中,点击删除并确认操作。
gcloud
如需删除修订版本,请运行 gcloud alpha agent-registry skills revisions delete 命令:
gcloud alpha agent-registry skills revisions delete REVISION_ID \
--skill=SKILL_ID \
--project=PROJECT_ID \
--location=LOCATION
替换以下内容:
REVISION_ID:要删除的技能修订版本的 ID。SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加private-前缀,例如private-my-skill。PROJECT_ID:项目 ID。LOCATION:注册表位置。
REST
如需删除修订版本,请发送 DELETE 请求:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID"
替换以下内容:
PROJECT_ID:项目 ID。LOCATION:注册表位置。SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加private-前缀,例如private-my-skill。REVISION_ID:要删除的技能修订版本的 ID。
后续步骤
- 了解如何探索经过验证的发布商。
- 了解技能修订版本的配额和限制。